function RegistrationLanguage(){this.PwdOk=null;this.PwdError=null;this.AGBOk=null;this.AGBError=null;this.EMailInvalid=null;this.EMailAdressInvalidCharacter=null;this.EMailInvalidCharacter=null;this.DomainInvalidCharacter=null;this.TargetIPInvalid=null;this.DomainInvalid=null;this.DomainUnknown=null}function CheckInput(ID,type){type=typeof type=="undefined"?0:type;var fieldValue=$(ID).value;if(fieldValue.length>0){var requestData=ID+'='+encodeURIComponent(fieldValue);if(type==1)requestData+='&PREREG=1';var request='';if(ID=='USERNAME')request='CheckUserName';else if((ID=='EMAIL')&&(EmailCheck(fieldValue)))request='CheckMail';if(request!=''){new Ajax.Request('../../index.php?PAGE=RegisterPage&SUBACTION='+request,{method:'post',parameters:requestData,onSuccess:function(r){InputRequestSucceeded(r.responseText)}})}}}function InputRequestSucceeded(text){var result=text.split('|');ShowStatus(result[0],result[1],result[2])}function SendRegistration(){if(CheckAGB()){$('B1').disabled=true;var requestData='USERNAME='+encodeURIComponent($('USERNAME').value);requestData+='&PASSWORD='+encodeURIComponent($('PASSWORD').value);requestData+='&EMAIL='+encodeURIComponent($('EMAIL').value);requestData+='&READAGB='+$('READAGB').value;requestData+='&ACCEPTEMAIL='+$('ACCEPTEMAIL').value;$('STATUS_REGISTRATION').innerHTML='';new Ajax.Request('../../index.php?PAGE=RegisterPage&SUBACTION=FinishRegistration',{method:'post',parameters:requestData,onSuccess:function(r){$('AjaxLoader').hide();var data=r.responseText.evalJSON(true);if((data.Status=='0')||(data.Status=='2')){ShowStatus(data.Element,data.Status,data.Message);$('B1').disabled=false}else{var requestData='EMAIL='+encodeURIComponent(data.Message);new Ajax.Updater('content','../../index.php?PAGE=RegisterPage&SUBACTION=RegistrationFinished',{method:'GET',parameters:requestData})}},onLoading:function(){$('AjaxLoader').show()}})}}function SendPreRegistration(){if(CheckAGB()){$('B1').disabled=true;var requestData='USERNAME='+encodeURIComponent($('USERNAME').value);requestData+='&PASSWORD='+encodeURIComponent($('PASSWORD').value);requestData+='&EMAIL='+encodeURIComponent($('EMAIL').value);requestData+='&READAGB='+$('READAGB').value;requestData+='&ACCEPTEMAIL='+$('ACCEPTEMAIL').value;$('STATUS_REGISTRATION').innerHTML='';new Ajax.Request('../../index.php?PAGE=RegisterPage&SUBACTION=FinishPreRegistration',{method:'post',parameters:requestData,onSuccess:function(r){$('AjaxLoader').hide();var data=r.responseText.evalJSON(true);if((data.Status=='0')||(data.Status=='2')){ShowStatus(data.Element,data.Status,data.Message);$('B1').disabled=false}else{var requestData='EMAIL='+encodeURIComponent(data.Message);new Ajax.Updater('content','../../index.php?PAGE=RegisterPage&SUBACTION=PreRegistrationFinished',{method:'GET',parameters:requestData})}},onLoading:function(){$('AjaxLoader').show()}})}}function ShowStatus(element,status,statusText){var inputBox=$(element);var elementId='STATUS_'+element;if(status==0){var statusImage="<img src='/images/main/inputbad.gif'>&nbsp;"}else if(status==1){var statusImage="<img src='/images/main/inputgood.gif'>&nbsp;"}else{var statusImage="<img src='/images/main/inputwarning.gif'>&nbsp;"}$(elementId).innerHTML=statusImage+statusText}function CheckPassword(field){var registrationLanguageObject=new GetRegistrationLanguageObject();var form=document.REGISTRATIONFORM;var r=new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]","i");if(field=='PASSWORD'){if(form.PASSWORD.value.length<6){ShowStatus('PASSWORD','0',registrationLanguageObject.PwdError)}else{ShowStatus('PASSWORD','1',registrationLanguageObject.PwdOk)}}}function CheckAGB(){var registrationLanguageObject=new GetRegistrationLanguageObject();if($('READAGB').checked){ShowStatus('READAGB','1',registrationLanguageObject.AGBOk);return true}else{ShowStatus('READAGB','0',registrationLanguageObject.AGBError);return false}}function EmailCheck(emailStr){var registrationLanguageObject=new GetRegistrationLanguageObject();var checkTLD=1;var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;var emailPat=/^(.+)@(.+)$/;var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";var validChars="\[^\\s"+specialChars+"\]";var quotedUser="(\"[^\"]*\")";var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;var atom=validChars+'+';var word="("+atom+"|"+quotedUser+")";var userPat=new RegExp("^"+word+"(\\."+word+")*$");var domainPat=new RegExp("^"+atom+"(\\."+atom+")*$");var matchArray=emailStr.match(emailPat);if(matchArray==null){ShowStatus('EMAIL','0',registrationLanguageObject.EMailInvalid);return false}var user=matchArray[1];var domain=matchArray[2];for(i=0;i<user.length;i++){if(user.charCodeAt(i)>127){ShowStatus('EMAIL','0',registrationLanguageObject.EMailAdressInvalidCharacter);return false}}if(emailStr.match(/\'/)){ShowStatus('EMAIL','0',registrationLanguageObject.EMailInvalidCharacter);return false}for(i=0;i<domain.length;i++){if(domain.charCodeAt(i)>127){ShowStatus('EMAIL','0',registrationLanguageObject.DomainInvalidCharacter);return false}}if(user.match(userPat)==null){ShowStatus('EMAIL','0','?');return false}var IPArray=domain.match(ipDomainPat);if(IPArray!=null){for(var i=1;i<=4;i++){if(IPArray[i]>255){ShowStatus('EMAIL','0',registrationLanguageObject.TargetIPInvalid);return false}}return true}var atomPat=new RegExp("^"+atom+"$");var domArr=domain.split(".");var len=domArr.length;for(i=0;i<len;i++){if(domArr[i].search(atomPat)==-1){ShowStatus('EMAIL','0',registrationLanguageObject.DomainInvalid);return false}}if((checkTLD)&&(domArr[domArr.length-1].length!=2)&&(domArr[domArr.length-1].search(knownDomsPat)==-1)){ShowStatus('EMAIL','0',registrationLanguageObject.DomainUnknown);return false}if(len<2){ShowStatus('EMAIL','0',registrationLanguageObject.DomainUnknown);return false}return true}function SetPasswordStrengthBar(passwd,username,email){var strength=0;if((passwd.length>0)&&(passwd.length<6)){strength=1}else if((passwd==username)||(passwd==email)){strength=2}else if((passwd.length>=6)&&(passwd.length<=7)){strength=passwd.length/0.6}else if((passwd.length>=8)&&(passwd.length<=10)){strength=(passwd.length*1.5)/0.6}else if(passwd.length>=11){strength=25}if(strength>1){if(passwd.match(/[a-z]/)){strength=(strength+2)}if(passwd.match(/[A-Z]/)){strength=(strength+5)}if(passwd.match(/\d+/)){strength=(strength+5)}if(passwd.match(/(.*[0-9].*[0-9].*[0-9])/)){strength=(strength+13)}if(passwd.match(/.[!,@,#,$,%,^,&,*,?,_,~]/)){strength=(strength+8)}if(passwd.match(/(.*[!,@,#,$,%,^,&,*,?,_,~].*[!,@,#,$,%,^,&,*,?,_,~])/)){strength=(strength+11)}if(passwd.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)){strength=(strength+8)}if(passwd.match(/(\d.*\D)|(\D.*\d)/)){strength=(strength+10)}if(passwd.match(/([a-zA-Z0-9].*[!,@,#,$,%,^,&,*,?,_,~])|([!,@,#,$,%,^,&,*,?,_,~].*[a-zA-Z0-9])/)){strength=(strength+13)}}if(strength==0){strengthText=strengthTextArray[0]}else if(strength==1){strengthText=strengthTextArray[1]}else if(strength<20){strengthText=strengthTextArray[2]}else if(strength<30){strengthText=strengthTextArray[3]}else if(strength<60){strengthText=strengthTextArray[4]}else if(strength<85){strengthText=strengthTextArray[5]}else{strengthText=strengthTextArray[6]}barWidth=parseInt($('PasswordBarBackground').getStyle('width'));maskWidth=barWidth-(barWidth*(strength/100));$('PasswordBarMask').setStyle('width:'+maskWidth+'px');$('PasswordBarText').innerHTML=strengthText}
