
$(document).ready(init)
var animationSpeed=150;var validateParams='index.php?action=RemoteCreateCheck';var createParams='index.php?action=CreateNewDynasty';var loginParams='index.php?action=RemoteLogin';var reqPasswordParams='index.php?action=RemoteRequestNewPassword';var formStateRegister=true;function init(){$('.registrationForm .checkbox').add('.registrationForm .checkboxSelection label').click(toggleCheckBox).keydown(toggleCheckBox);function toggleCheckBox(evt){if(evt.type=="keydown"&&evt.keyCode!=32){return;}
$('.registrationForm .checkbox').toggleClass('checkboxSelected');if($('.registrationForm .checkbox.checkboxSelected')){$('.checkboxSelection .infoTextbox').hide();}
var agbVal=$('.registrationForm .checkbox.checkboxSelected').length?'on':'off';$('#inputagb').val(agbVal);}
var $radioButtons=$('.radiobuttons .radiobuttonWrapper')
$radioButtons.click(function(){var curRadioButton=$(this).find('.radiobutton');setFormState(curRadioButton.attr('rel'))})
if(isUserNew){setFormState('register');}
else{setFormState('login');}
$('.registrationForm input[type=text]').add('.registrationForm input[type=password]').focus(function(evt){if(!formStateRegister)return;$(this).parent().find('.infoTextbox').fadeIn(animationSpeed);}).blur(function(evt){saveUserDataToCookie();if(!formStateRegister)return;$('.infoTextbox:not(.error)').hide();var field=$(this).attr('id');var serverURL=getSelectedServer();$.ajax({dataType:'jsonp',jsonp:'jsonp_callback',url:'http://'+serverURL+'/'+validateParams+getSerializedFormValues(),success:function(obj){if(!formStateRegister)return;if(obj.err>0){showError(obj,field);}}});});$('.registrationForm .section.confirmation.registerButton').click(function(){if(!formStateRegister)return;$('.hideElements').show();var serverURL=getSelectedServer();$.ajax({dataType:'jsonp',jsonp:'jsonp_callback',url:'http://'+serverURL+'/'+validateParams+getSerializedFormValues(),success:function(obj){if(obj.err>0){showAllErrors(obj);$('.hideElements').hide();}
else{createAccountAndLogin();}}});}).keydown(function(evt){if(!formStateRegister)return;if(evt.type=="keydown"&&evt.keyCode!=32){return;}
$(this).click();})
$('.registrationForm .section.login.registerButton').click(function(){$('.hideElements').show();var serverURL=getSelectedServer();$.ajax({dataType:'jsonp',jsonp:'jsonp_callback',url:'http://'+serverURL+'/'+loginParams+getSerializedFormValues(),success:function(obj){if(obj.err>0){showAllErrors(obj);$('.hideElements').hide();}
else{login(obj.dat);}}});}).keydown(function(evt){if(!formStateRegister)return;if(evt.type=="keydown"&&evt.keyCode!=32){return;}
$(this).click();})
$('.lostPwd').fancybox();$('#lostPassword .registerButton').click(function(){$('#lostPassword .result').removeClass('error').text('');var serverURL=$('#lostPwdSelect').val();var email=$('#lostPwdEmail').val();$.ajax({dataType:'jsonp',jsonp:'jsonp_callback',url:'http://'+serverURL+'/'+reqPasswordParams+'&email='+email,success:function(obj){if(obj.err>0){$('#lostPassword .result').addClass('error').text(errorData[obj.dat[0]].txt);}
else{$('#lostPassword .result').text(obj.msg)}}});})
$('input[type=password]').add('#agb').add('.registrationForm .registerButton').keydown(function(evt){if(evt.type=="keydown"&&evt.keyCode!=13){return;}
if(formStateRegister){$('.registrationForm .section.confirmation.registerButton').click();}
else{$('.registrationForm .section.login.registerButton').click()}})
var name=getCookieValue('gilde1400user')||'';var mail=getCookieValue('gilde1400mail')||'';$('input[name=name]').val(name);$('#registerEmail').val(mail);$('.registrationForm .hideElements').each(function(i,obj){$(obj).height($(this).parent('form').height()).fadeTo(0,0.7).hide();})}
function getSerializedFormValues(){var str='';var $form=$('.registrationForm:visible');var $text=$form.find('input[type=text]');var $pass=$form.find('input[type=password]');var $fields=$form.find('input[type=hidden]').add($text).add($pass);$fields.each(function(i,element){var $e=$(element);str+='&'+$e.attr('name')+'='+encodeURIComponent($e.val());})
return str;}
function showError(errObj,fieldId){var errors=errObj.dat;msg=null;for(var i=0;i<errors.length;i++){var msg=getErrorMessage(errors[i],fieldId);if(msg!=null){break;}}
showErrorInInfobox(msg,fieldId);function getErrorMessage(errNo,fieldId){var errData=errorData[errNo];if(errData.elem==fieldId){return errData.txt;}
else{return null;}}}
function showAllErrors(errObj){$('.infoTextbox').hide().removeClass('error').find('span.infoError').text('').end().find('span.info').show();if(!errObj.err)return;var errors=errObj.dat;for(var i=0;i<errors.length;i++){var errData=errorData[errors[i]];var msg=errData.txt;var fieldId=errData.elem;showErrorInInfobox(msg,fieldId);}}
function showErrorInInfobox(msg,fieldId){var $infoBox=$('#'+fieldId).parent().find('.infoTextbox');if(msg!=null){$infoBox.show().addClass('error').find('span.infoError').text(msg).end().find('span.info').hide();$('#'+fieldId).addClass('error');}
else{$infoBox.hide().removeClass('error').find('span.infoError').text('').end().find('span.info').show();$('#'+fieldId).removeClass('error');}}
function getSelectedServer(){return $('.registrationForm:visible select').val();}
function createAccountAndLogin(){var server=getSelectedServer();try{var expireDate=new Date(new Date().getTime()+(7*24*60*60*1000));document.cookie="gilde1400server="+server+"; expires="+expireDate.toGMTString();}catch(e){}
try{ab_conversion();}
catch(err){}
var url='http://'+server+'/'+createParams;$('form#registration').attr('action',url).submit();}
function login(returnedView){var server=getSelectedServer();try{var expireDate=new Date(new Date().getTime()+(7*24*60*60*1000));document.cookie="gilde1400server="+server+"; expires="+expireDate.toGMTString();}catch(e){}
var viewParam='?';if(returnedView.length){viewParam='?view='+returnedView;}
var url='http://'+server+'/index.php'+viewParam+'&login=true';$('form#login').find('input[name=server]').val(url);$('form#login').removeAttr('onsubmit');$('#submitBtn').click();}
function setFormState(state){$('.registrationForm').hide();var $regForm=$('#registration');var $logForm=$('#login');showAllErrors({});$('.registrationForm').find('input').removeClass('error');switch(state){default:case'register':$regForm.show();formStateRegister=true;document.cookie="formState=register";if($logForm.length==0){return;}
$regForm.find('select').val($logForm.find('select').val());$regForm.find('.selection div').text($logForm.find('.selection div').text());$regForm.find('#dynastyname').val($logForm.find('#dynastynameLog').val());break;case'login':$logForm.show();formStateRegister=false;document.cookie="formState=login";$logForm.find('select').val($regForm.find('select').val());$logForm.find('.selection div').text($regForm.find('.selection div').text());$logForm.find('#dynastynameLog').val($regForm.find('#dynastyname').val());break;}}
function getCookieValue(key){try{var split=document.cookie.split(key+'=');if(split.length){return split[1].split(';')[0];}}catch(e){return false;}
return false;}
function saveUserDataToCookie(){var userName=$('input[name=name]:visible').val();var mail=$('#registerEmail').val();try{var expireDate=new Date(new Date().getTime()+(7*24*60*60*1000));document.cookie="gilde1400user="+userName+"; expires="+expireDate.toGMTString();document.cookie="gilde1400mail="+mail+"; expires="+expireDate.toGMTString();}catch(e){}}
