
var language='french';var emailValid=null;var emailChecker=null;var passwordSet=false;var passwordConfirmed=false;var registerButtonEnabled=false;var debug=false;function getElement(id){return document.getElementById(id);}
function validateEmail(){if(getElement("email").value.length==0||getElement("email").value==""){emailValid=false;getElement("emailValidity").innerHTML="";return;}
else{if(emailChecker!=null){clearTimeout(emailChecker);}
emailChecker=setTimeout("processValidateEmail();",1000);}}
function processValidateEmail(){if(getElement("email").value.length==0||getElement("email").value==""){emailValid=false;getElement("emailValidity").innerHTML="";return;}
else if(getElement("email").value==null||emailValidator(getElement("email").value)==false){getElement("emailValidity").innerHTML=getElement('invalidEmail').innerHTML;emailValid=false;return;}
getElement("emailValidity").innerHTML=getElement('verifyingEmail').innerHTML;var parameters="email="
+urlEncode(getElement("email").value);$.getJSON("js/httpRequests/validateEmail.php",parameters,function(data){handleEmailResponse(data);});}
function handleEmailResponse(data){var response=data;if(response.status=="REGISTERED"){getElement("emailValidity").innerHTML=getElement('emailRegistered').innerHTML;emailValid=false;}
else if(response.status=="DOMAIN_INVALID"){getElement("emailValidity").innerHTML=getElement('invalidEmail').innerHTML;emailValid=false;}
else if(response.status=="EMAIL_VALID"){getElement("emailValidity").innerHTML=getElement('valid').innerHTML;emailValid=true;}}
function resetEmailState(){emailValid=false;}
function passwordChanged(){var strongRegex=new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$","g");var mediumRegex=new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$","g");var enoughRegex=new RegExp("(?=.{6,}).*","g");var pwd=getElement("password");if(pwd.value.length==0){getElement("passwordStrength").innerHTML="&nbsp;";passwordSet=false;}else if(false==enoughRegex.test(pwd.value)){getElement("passwordStrength").innerHTML=getElement("moreCharacters").innerHTML;passwordSet=false;}else if(strongRegex.test(pwd.value)){getElement("passwordStrength").innerHTML=getElement("strongPassword").innerHTML;passwordSet=true;}else if(mediumRegex.test(pwd.value)){getElement("passwordStrength").innerHTML=getElement("mediumPassword").innerHTML;passwordSet=true;}else{getElement("passwordStrength").innerHTML=getElement("weakPassword").innerHTML;passwordSet=true;}}
function isNumeric(element){var numericExpression=/^[0-9]+$/;if(element.value.match(numericExpression)){return true;}else{return false;}}
function allowOnlyNumeric(id){var element=document.getElementById(id);if(!isNumeric(element)){element.value=element.value.substring(0,element.value.length-1)}}
function changeFocus(currentId,nextId,maxCount){var currentElement=document.getElementById(currentId);var nextElement=document.getElementById(nextId);allowOnlyNumeric(currentId);if(currentElement.value.length==maxCount){nextElement.focus();}}
function passwordVerified(){var pwd=getElement("password");var pwdConfirm=getElement("confirmPassword");if(passwordSet){if((pwdConfirm.value.length>=pwd.value.length)&&(pwdConfirm.value!=pwd.value)){getElement("confirmPasswordValidity").innerHTML=getElement("retypePassword").innerHTML;passwordConfirmed=false;}
else if(pwdConfirm.value.length<pwd.value.length){getElement("confirmPasswordValidity").innerHTML="";passwordConfirmed=false;}
else{getElement("confirmPasswordValidity").innerHTML=getElement("correctPassword").innerHTML;passwordConfirmed=true;}}
else{pwdConfirm.value="";}}
function resetPassword(){document.getElementById("password").value="";document.getElementById("confirmPassword").value="";document.getElementById("passwordStrength").innerHTML="&nbsp;";document.getElementById("confirmPasswordValidity").innerHTML="";passwordSet=false;passwordConfirmed=false;}
function emailValidator(str){var at="@";var dot=".";var lat=str.indexOf(at);var lstr=str.length;var domain=str.substr(lat+1,lstr-1);var ldot=domain.indexOf(dot);if(str.indexOf(at)==-1){return false;}
if(str.indexOf(at)==-1||str.indexOf(at)==0||str.indexOf(at)==lstr){return false;}
if(str.indexOf(dot)==-1||str.indexOf(dot)==0||str.indexOf(dot)==lstr){return false;}
if(str.indexOf(at,(lat+1))!=-1){return false;}
if(str.substring(lat-1,lat)==dot||str.substring(lat+1,lat+2)==dot){return false;}
if(str.indexOf(dot,(lat+2))==-1){return false;}
if(str.indexOf(" ")!=-1){return false;}
if(ldot==-1){return false;}
if(domain.substr(ldot+1,domain.length-1).length<2){return false;}
return true;}
function updateStates(){if(getElement("countries")==null){return;}
var countrySelected=getElement("countries");var stateSelect=null;if(countrySelected.value==223||countrySelected.value==38){stateSelect=getElement("state");for(var i=stateSelect.options.length;i>=0;i--){stateSelect.options[i]=null;}
getElement("stateSelect").style.display="inline";getElement("stateTextField").style.display="none";var parameters="country="+countrySelected.value;parameters+="&language="+language;$.getJSON("../js/httpRequests/stateUpdate.php",parameters,function(data){handleStateUpdateResponse(data);});}
else{getElement("stateSelect").style.display="none";getElement("stateTextField").style.display="inline";getElement("stateText").value=getElement("enterState").innerHTML;}}
function handleStateUpdateResponse(data){var response=data;removeAllOptions(getElement("state"));for(var i=0;i<response.states.length;i++){addSelectOption(getElement("state"),response.states[i].value,urlDecode(response.states[i].text));}}
function addSelectOption(selectBox,value,text){if(value!=null&&value!="undefined"&&text!=null){var index=selectBox.options.length;selectBox.options[index]=new Option(text,value,false,false);}
selectBox.selectedIndex=0;}
function hasOptions(obj){if(obj!=null&&obj.options!=null){return true;}
return false;}
function removeAllOptions(from){if(!hasOptions(from)){return;}
for(var i=(from.options.length-1);i>=0;i--){from.options[i]=null;}
from.selectedIndex=-1;}
function allowRegistration(){if(getElement('termsConditionsCheckBox').checked==true&&registerButtonEnabled==false){getElement("registerButton").disabled=false;registerButtonEnabled=true;}
else{getElement("registerButton").disabled=true;registerButtonEnabled=false;}}
function addCustomerProfile(){var workTelephoneIncluded=getElement('telephoneNumber').value.length!='';var mobileTelephoneIncluded=getElement('mobileNumber').value.length!='';var homeTelephoneIncluded=getElement('homeNumber').value.length!='';if((getElement('firstname').value==""||getElement('lastname').value==""||getElement('email').value==""||emailValid==false||(workTelephoneIncluded==false&&mobileTelephoneIncluded==false&&homeTelephoneIncluded==false)||(getElement("password").value!=""&&passwordConfirmed==false))&&debug==false){displayWarningWindow(getElement("registerFormWarning").innerHTML,450,350);return;}
var parameters="gender=";if(getElement("salutation1").checked){parameters+="1";}
else if(getElement("salutation2").checked){parameters+="2";}
else if(getElement("salutation3").checked){parameters+="3";}
else if(getElement("salutation4").checked){parameters+="0";}
parameters+="&firstname="+getElement("firstname").value;parameters+="&lastname="+getElement("lastname").value;parameters+="&password="+urlEncode(getElement("password").value);parameters+="&passwordVerification="+urlEncode(getElement("confirmPassword").value);parameters+="&email="+getElement("email").value;parameters+="&workNumber="+urlEncode(getElement("telephoneNumber").value);parameters+="&workNumberExt="+getElement('telephoneExt').value
parameters+="&mobileNumber="+urlEncode(getElement("mobileNumber").value);parameters+="&homeNumber="+urlEncode(getElement("homeNumber").value);parameters+="&language="+getElement("language").value;parameters+="&theDomain="+getElement("theDomain").value;parameters+="&callback=?";$("#registrationScreen").hide();$("#progressScreen").show();$.getJSON("https://www."+getElement("theDomain").value+"/customerPortal/registerNewCustomer.php",parameters,function(data,textStatus){handleAddProfileResponse(data);});}
function handleAddProfileResponse(data){var response=data;if(response.status=="SUCCESS"){document.location.href='main.php';return;}
else if(response.status=="INVALID_CONTACT_DETAILS"){$("#progressScreen").hide();$("#registrationScreen").show();displayWarningWindow(getElement("registerFormWarning").innerHTML,450,350);return;}
else if(response.status=="INVALID_EMAIL"){$("#progressScreen").hide();$("#registrationScreen").show();displayWarningWindow(getElement("invalidEmailWarning").innerHTML,450,250);return;}
else if(response.status=="EMAIL_ALREADY_REGISTERED"){$("#progressScreen").hide();$("#registrationScreen").show();displayWarningWindow(getElement("registeredEmailWarning").innerHTML,450,250);return;}
else if(response.status=="INVALID_TELEPHONE_NUMBER"){$("#progressScreen").hide();$("#registrationScreen").show();displayWarningWindow(getElement("invalidTelephoneNumberWarning").innerHTML,450,250);return;}
else if(response.status=="PASSWORD_ERROR"){$("#progressScreen").hide();$("#registrationScreen").show();displayWarningWindow(getElement("incorrectPasswordWarning").innerHTML,450,250);return;}
else if(response.status=="PASSWORD_TOO_SHORT"){$("#progressScreen").hide();$("#registrationScreen").show();displayWarningWindow(getElement("passwordTooShortWarning").innerHTML,450,250);return;}
else if(response.status=="INVALID_PASSWORD_FIELDS"){$("#progressScreen").hide();$("#registrationScreen").show();displayWarningWindow(getElement("myPasswordFormWarning").innerHTML,450,250);return;}
else if(response.status=="UPDATE_ERROR"){$("#progressScreen").hide();$("#registrationScreen").show();displayWarningWindow(getElement("updateErrorWarning").innerHTML,450,250);return;}}
function displayWarningWindow(content,width,height){getElement('warningContent').innerHTML=content;if(width!=undefined&&width!=null&&width>0){$("#warning").data("width.dialog",width);}
if(height!=undefined&&height!=null&&height>0){$("#warning").data("height.dialog",height);}
$("#warning").dialog("open");}
function closeWarningWindow(){$("#warning").dialog("close");}
function changeLanguage(aLanguage){var url=self.location.href.split('?');window.location=url[0]+'?language='+aLanguage;}
function initialize(){$(document).ready(function(){if(language=="english"){$("#warning").dialog({dialogClass:'reddialog',autoOpen:false,modal:true,overlay:{opacity:0.5,background:"black"},resizable:false,width:'450',height:'450',bgiframe:true,buttons:{"Close Window":function(){closeWarningWindow();}}});}
else{$("#warning").dialog({dialogClass:'reddialog',autoOpen:false,modal:true,overlay:{opacity:0.5,background:"black"},resizable:false,width:'450',height:'450',bgiframe:true,buttons:{"Fermez la fenêtre":function(){closeWarningWindow();}}});}});}
function setLanguage(aLanguage){language=aLanguage;}
initialize();