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 NOZIPCODE = 10;
var ZIPCODEINVALID = 11;
var NOPASSW = 12;
var DELETECONFIRMATION = 13;

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 doCompanyRegister(companyname, companysurname, companyemail, companybirthdate, companycompanyname, companypostaladdress, companycountry, 
       companycif, companycity, companyzipcode, companyphone, companyfax, companyoffers, companynewsletter, companytype, language)
{
  companyname = replace(companyname, "'", "");
  companysurname = replace(companysurname, "'", "");
  companyemail = replace(companyemail, "'", "");
  companycompanyname = replace(companycompanyname, "'", "");
  companypostaladdress = replace(companypostaladdress, "'", "");
  companycif = replace(companycif, "'", "");
  companycity = replace(companycity, "'", "");
  companyzipcode = replace(companyzipcode, "'", "");
  companyphone = replace(companyphone, "'", "");
  companyfax = replace(companyfax, "'", "");


  if(isBlank(companyemail))
  {
    alert(getErrorMessage(NOEMAIL));
    return;
  }

  if(companyemail.indexOf('@')==-1 || companyemail.indexOf('.')==-1)
  {
    alert(getErrorMessage(EMAILNOTVALID));
    return;
  }

  if(isBlank(companyname))
  {
    alert(getErrorMessage(NONAME));
    return;
  }

  if(isBlank(companysurname))
  {
    alert(getErrorMessage(NOSURNAME));
    return;
  }

  if(isBlank(companycompanyname))
  {
    alert(getErrorMessage(NOCOMPANYNAME));
    return;
  }

  if(isBlank(companycif))
  {
    alert(getErrorMessage(NOCIF));
    return;
  }
  
  if(companycountry=='ESPAÑA')
  {
    if(isBlank(companyzipcode)) 
    {
      alert(getErrorMessage(NOZIPCODE));
      return;
    }
    else if(!isInteger(trim(companyzipcode)) 
            || trim(companyzipcode)>=53000
            || (trim(companyzipcode)).length!=5 )
    {
      alert(getErrorMessage(ZIPCODEINVALID))
      return;
    }
  }

  if(isBlank(companyphone))
  {
    alert(getErrorMessage(NOPHONE));
    return;
  }


  displayLoading('registermessage', true);
  setDisabled('buttonregister', true);
  JUser.doRegister(objectEval("'"+companyname+"'"), objectEval("'"+companysurname+"'"), objectEval("'"+companypostaladdress+"'"), 
	  '', objectEval("'"+companybirthdate+"'"),  '',
	  objectEval("'"+companycountry+"'"), objectEval("'"+companycity+"'"), objectEval("'"+companyzipcode+"'"), 
	  objectEval("'"+companyphone+"'"), objectEval("'"+companyfax+"'"), objectEval("'"+companytype+"'"),
	  objectEval("'"+companycompanyname+"'"), objectEval("'"+companycif+"'"), '', 
	  '', objectEval("'"+companynewsletter+"'"), objectEval("'"+companyoffers+"'"), 
	  '', objectEval("'"+companyemail+"'"), objectEval("'"+language+"'"),  objectEval("'"+updateSegmentacion()+"'"), replydoCompanyRegister);

}

var replydoCompanyRegister = 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);
  }
}
