var GENERALERROR = 0;
var NOEMAIL = 1;
var EMAILNOTVALID = 2;
var NOLOGIN = 3;
var LOGINNOTVALID = 4;
var NONAME = 5;
var NOSURNAME = 6;
var NOCOMPANYNAME = 7;
var NOCIF = 8;
var NOPHONE = 9;
var NOIATA = 10;
var NOZIPCODE = 11;
var ZIPCODEINVALID = 12;
var NOPASSW = 13;
var DELETECONFIRMATION = 14;

cal4.setYearSelectStartOffset(40);


function startsWith(cad,str) 
{
	return (cad.match("^"+str)==str);
}

function updateSegmentacion()
{
    segmentacion = '';
    for (e = 0; e < window.document.forms.formuserregister.elements.length; e++) 
	{
       if ( startsWith(window.document.formuserregister.elements[e].name, 'seg-') ) 
         if ( window.document.formuserregister.elements[e].checked ) 
		   {
		    segmentacion += window.document.formuserregister.elements[e].value + ',';
		   }
	}
	return segmentacion;
}


function doAgentRegister(agentname, agentsurname, agentemail, agentbirthdate, agentcompanyname, agentpostaladdress, agentcountry, 
       agentcif, agentcity, agentzipcode, agentphone, agentfax, agentiata, agentoffers, agentnewsletter, language)
{
  agentname = replace(agentname, "'", "");
  agentsurname = replace(agentsurname, "'", "");
  agentemail = replace(agentemail, "'", "");
  agentcompanyname = replace(agentcompanyname, "'", "");
  agentpostaladdress = replace(agentpostaladdress, "'", "");
  agentcif = replace(agentcif, "'", "");
  agentcity = replace(agentcity, "'", "");
  agentzipcode = replace(agentzipcode, "'", "");
  agentphone = replace(agentphone, "'", "");
  agentfax = replace(agentfax, "'", "");


  if(!isNumeric(agentiata) && agentiata!='NOIATA')
  {
    alert(getErrorMessage(NOIATA));
    return;
  }

  if(isBlank(agentemail))
  {
    alert(getErrorMessage(NOEMAIL));
    return;
  }

  if(agentemail.indexOf('@')==-1 || agentemail.indexOf('.')==-1)
  {
    alert(getErrorMessage(EMAILNOTVALID));
    return;
  }

  if(isBlank(agentname))
  {
    alert(getErrorMessage(NONAME));
    return;
  }

  if(isBlank(agentsurname))
  {
    alert(getErrorMessage(NOSURNAME));
    return;
  }

  if(isBlank(agentcompanyname))
  {
    alert(getErrorMessage(NOCOMPANYNAME));
    return;
  }

  if(isBlank(agentcif))
  {
    alert(getErrorMessage(NOCIF));
    return;
  }
  
  if(agentcountry=='ESPAÑA')
  {
    if(isBlank(agentzipcode)) 
    {
      alert(getErrorMessage(NOZIPCODE));
      return;
    }
    else if(!isInteger(trim(agentzipcode)) 
            || trim(agentzipcode)>=53000
            || (trim(agentzipcode)).length!=5 )
    {
      alert(getErrorMessage(ZIPCODEINVALID))
      return;
    }
  }

  if(isBlank(agentphone))
  {
    alert(getErrorMessage(NOPHONE));
    return;
  }


  displayLoading('registermessage', true);
  setDisabled('buttonregister', true);
  JUser.doRegister(objectEval("'"+agentname+"'"), objectEval("'"+agentsurname+"'"), objectEval("'"+agentpostaladdress+"'"), 
	  '', objectEval("'"+agentbirthdate+"'"),  '',
	  objectEval("'"+agentcountry+"'"), objectEval("'"+agentcity+"'"), objectEval("'"+agentzipcode+"'"), 
	  objectEval("'"+agentphone+"'"), objectEval("'"+agentfax+"'"), 'travelagent', 
	  objectEval("'"+agentcompanyname+"'"), objectEval("'"+agentcif+"'"), objectEval("'"+agentiata+"'"), 
	  '', objectEval("'"+agentnewsletter+"'"), objectEval("'"+agentoffers+"'"), 
	  '', objectEval("'"+agentemail+"'"), objectEval("'"+language+"'"), objectEval("'"+updateSegmentacion()+"'"),  replydoAgentRegister);

}

var replydoAgentRegister = function(data)
{
  displayLoading('registermessage', false);
  setDisabled('buttonregister', false);
  if (data != null && typeof data == 'object') 
  {
    alert(getErrorMessage(GENERALERROR));  
  }
  else 
  { 
    var response = DWRUtil.toDescriptiveString(data, 1);
    DWRUtil.setValue('registermessage', response);
  }
}
