
jQuery.autocomplete=function(input,options){var me=this;var default_value='';var $input=$(input).attr("autocomplete","off");if(input.value)default_value=input.value;if(!input.value)input.value=options.placeholder;if(options.inputClass)$input.addClass(options.inputClass);if(options.valueFieldId){var $valueField=$('#'+options.valueFieldId);if(!$valueField[0])$valueField=$('<input type="hidden" id="'+options.valueFieldId+'" name="'+options.valueFieldId+'" />').insertAfter($input);}
else var $valueField=null;var results=document.createElement("div");var $results=$(results);$results.hide().addClass(options.resultsClass).css("position","absolute");if(options.width>0)$results.css("width",options.width);$("body").append(results);input.autocompleter=me;var timeout=null;var validate_timeout=null;var prev="";var active=-1;var cache={};var keyb=false;var hasFocus=false;var lastKeyPressCode=null;function flushCache(){cache={};cache.data={};cache.length=0;};flushCache();if(options.data!=null){var sFirstChar="",stMatchSets={},row=[];if(typeof options.url!="string")options.cacheLength=1;for(var i=0;i<options.data.length;i++){row=((typeof options.data[i]=="string")?[options.data[i]]:options.data[i]);if(row[0].length>0){sFirstChar=row[0].substring(0,1).toLowerCase();if(!stMatchSets[sFirstChar])stMatchSets[sFirstChar]=[];stMatchSets[sFirstChar].push(row);}}
for(var k in stMatchSets){options.cacheLength++;addToCache(k,stMatchSets[k]);}}
$input.keydown(function(e){lastKeyPressCode=e.keyCode;switch(e.keyCode){case 38:e.preventDefault();moveSelect(-1);break;case 40:e.preventDefault();moveSelect(1);break;case 9:if($input.val()!=default_value)selectCurrent();break;case 13:selectCurrent();$input.get(0).blur();e.preventDefault();break;case 27:$results.hide();options.onListHide();break;default:active=-1;if(timeout)clearTimeout(timeout);timeout=setTimeout(function(){onChange();},options.delay);break;}}).focus(function(){if(input.value==options.placeholder)input.value='';hasFocus=true;if($results.text())showResults();else if(!input.value)showPlaceholder('empty');else onChange();}).blur(function(){hasFocus=false;hideResults();if(!input.value){hideResultsNow();$results.empty();input.value=options.placeholder;}
if(options.validate){if(validate_timeout)clearTimeout(validate_timeout);validate_timeout=setTimeout(function(){$input.attr("autocomplete","off");$input.valid();},200);}
options.onListHide();});hideResultsNow();function onChange(){var v=$input.val();prev=v;if(v.length>=options.minChars){setExtraValue(null);requestData(v);}else{setExtraValue(false);$input.removeClass(options.loadingClass);if(!input.value)$results.hide();}};function moveSelect(step){var lis=$("li",results);if(!lis.length)return;active+=step;if(active<0){active=0;}else if(active>=lis.size()){active=lis.size()-1;}
lis.removeClass("ac_over");if(active>=0)$(lis[active]).addClass("ac_over");};function selectCurrent(){var li=$("li.ac_over",results)[0];if(!li){var $li=$("li",results);if(options.selectOnly){if($li.length==1)li=$li[0];}else if(options.selectFirst){li=$li[0];}}
if(li){selectItem(li);return true;}else{return false;}};function selectItem(li){if(!li){li=document.createElement("li");li.extra=[];li.selectValue="";}
var v=$.trim(li.selectValue?li.selectValue:li.innerHTML);input.lastSelected=v;prev=v;$results.html("");$input.val(v);if(li.extra&&li.extra[0])setExtraValue(li.extra[0]);hideResultsNow();if(options.onItemSelect)setTimeout(function(){options.onItemSelect(li)},1);};function createSelection(start,end){var field=$input.get(0);if(field.createTextRange){var selRange=field.createTextRange();selRange.collapse(true);selRange.moveStart("character",start);selRange.moveEnd("character",end);selRange.select();}else if(field.setSelectionRange){field.setSelectionRange(start,end);}else{if(field.selectionStart){field.selectionStart=start;field.selectionEnd=end;}}
field.focus();};function autoFill(sValue){if(lastKeyPressCode!=8){$input.val($input.val()+sValue.substring(prev.length));createSelection(prev.length,sValue.length);}};function showResults(){var pos=findPos(input);var iWidth=(options.width>0)?options.width:$input.outerWidth();var textWidth=$results.css('width','auto').show().width();var textOuterWidth=$results.outerWidth();$results.css({width:iWidth>textWidth?iWidth-(textOuterWidth-textWidth):'auto',top:(pos.y+input.offsetHeight)+"px",left:pos.x+"px"});if(active==-1)moveSelect(1);};function showPlaceholder(type){var label=options[type+'Hint'];if(label){$results.html('<p class="ac_'+type+'">'+label+'</p>'+($.browser.msie6?'<iframe></iframe>':''));showResults();}else hideResultsNow();};function hideResults(){if(timeout)clearTimeout(timeout);timeout=setTimeout(hideResultsNow,200);};function hideResultsNow(){if(timeout)clearTimeout(timeout);$input.removeClass(options.loadingClass);if($results.is(":visible")){$results.hide();}
if(options.mustMatch){var v=$input.val();if(v!=input.lastSelected){selectItem(null);}}};function receiveData(q,data){results.innerHTML="";$input.removeClass(options.loadingClass);if(options.onDataReceived)options.onDataReceived(me,q,data);if(data===false)return hideResultsNow();setExtraValue(false);if(!data||!data.length)return showPlaceholder('noMatch');if(!hasFocus)return hideResultsNow();if($.browser.msie){$results.append(document.createElement('iframe'));}
results.appendChild(dataToDom(data));if(options.autoFill&&($input.val().toLowerCase()==q.toLowerCase()))autoFill(data[0][0]);if(options.validate)$input.attr("autocomplete","on");showResults();};function parseData(data){if(!data)return null;var parsed=[];var rows=data.split(options.lineSeparator);for(var i=0;i<rows.length;i++){var row=$.trim(rows[i]);if(row){parsed[parsed.length]=row.split(options.cellSeparator);}}
return parsed;};function dataToDom(data){var ul=document.createElement("ul");var num=data.length;if((options.maxItemsToShow>0)&&(options.maxItemsToShow<num))num=options.maxItemsToShow;for(var i=0;i<num;i++){var row=data[i];if(!row)continue;var li=document.createElement("li");if(options.formatItem){li.innerHTML=options.formatItem(row,i,num);li.selectValue=row[0];}else{li.innerHTML=row[0];li.selectValue=row[0];}
var extra=null;if(row.length>1){extra=[];for(var j=1;j<row.length;j++){extra[extra.length]=row[j];}}
li.extra=extra;ul.appendChild(li);$(li).addClass(i%2==0?'ac_even':'ac_odd');$(li).hover(function(){$("li",ul).removeClass("ac_over");$(this).addClass("ac_over");active=$("li",ul).indexOf($(this).get(0));},function(){$(this).removeClass("ac_over");}).click(function(e){e.preventDefault();e.stopPropagation();selectItem(this)});}
return ul;};function requestData(q){if(!options.matchCase)q=q.toLowerCase();var data=options.cacheLength?loadFromCache(q):null;if(data){receiveData(q,data);}else if(typeof options.url=="function"){$input.addClass(options.loadingClass);options.url(q,function(data){addToCache(q,data);receiveData(q,data);});}else if((typeof options.url=="string")&&(options.url.length>0)){$.get(makeUrl(q),function(data){data=parseData(data);addToCache(q,data);receiveData(q,data);});}else{$input.removeClass(options.loadingClass);}};function makeUrl(q){var url=options.url+"?q="+encodeURI(q);for(var i in options.extraParams){url+="&"+i+"="+encodeURI(options.extraParams[i]);}
return url;};function loadFromCache(q){if(!q)return null;if(cache.data[q])return cache.data[q];if(options.matchSubset){for(var i=q.length-1;i>=options.minChars;i--){var qs=q.substr(0,i);var c=cache.data[qs];if(c){var csub=[];for(var j=0;j<c.length;j++){var x=c[j];var x0=x[0];if(matchSubset(x0,q)){csub[csub.length]=x;}}
return csub;}}}
return null;};function matchSubset(s,sub){if(!options.matchCase)s=s.toLowerCase();var i=s.indexOf(sub);if(i==-1)return false;return i==0||options.matchContains;};this.flushCache=function(){flushCache();};this.setExtraParams=function(p){options.extraParams=p;};this.findValue=function(){var q=$input.val();if(!options.matchCase)q=q.toLowerCase();var data=options.cacheLength?loadFromCache(q):null;if(data){findValueCallback(q,data);}else if((typeof options.url=="string")&&(options.url.length>0)){$.get(makeUrl(q),function(data){data=parseData(data)
addToCache(q,data);findValueCallback(q,data);});}else{findValueCallback(q,null);}}
function findValueCallback(q,data){if(data)$input.removeClass(options.loadingClass);var num=(data)?data.length:0;var li=null;for(var i=0;i<num;i++){var row=data[i];if(row[0].toLowerCase()==q.toLowerCase()){li=document.createElement("li");if(options.formatItem){li.innerHTML=options.formatItem(row,i,num);li.selectValue=row[0];}else{li.innerHTML=row[0];li.selectValue=row[0];}
var extra=null;if(row.length>1){extra=[];for(var j=1;j<row.length;j++){extra[extra.length]=row[j];}}
li.extra=extra;}}
if(options.onFindValue)setTimeout(function(){options.onFindValue(li)},1);}
function addToCache(q,data){if(!data||!q||!options.cacheLength)return;if(!cache.length||cache.length>options.cacheLength){flushCache();cache.length++;}else if(!cache[q]){cache.length++;}
cache.data[q]=data;};function findPos(obj){var offset=$(obj).offset();var curleft=offset.left||0;var curtop=offset.top||0;return{x:curleft,y:curtop};}
function setExtraValue(value){if($valueField)$valueField[0].value=(value===null)?'':$.toJson(value);}}
jQuery.fn.autocomplete=function(url,options,data){options=options||{};options.url=url;options.data=((typeof data=="object")&&(data.constructor==Array))?data:null;options.placeholder=options.placeholder||'';options.loadingHint=options.loadingHint||'Loading&hellip;'
options.inputClass=options.inputClass||"ac_input";options.resultsClass=options.resultsClass||"ac_results";options.lineSeparator=options.lineSeparator||"\n";options.cellSeparator=options.cellSeparator||"|";options.minChars=options.minChars||1;options.delay=options.delay||400;options.matchCase=options.matchCase||0;options.matchSubset=options.matchSubset||0;options.matchContains=options.matchContains||0;options.cacheLength=options.cacheLength||1;options.mustMatch=options.mustMatch||0;options.extraParams=options.extraParams||{};options.loadingClass=options.loadingClass||"ac_loading";options.selectFirst=options.selectFirst||false;options.selectOnly=options.selectOnly||false;options.maxItemsToShow=options.maxItemsToShow||-1;options.autoFill=options.autoFill||false;options.width=parseInt(options.width,10)||0;options.validate=options.validate||false
options.onListHide=options.onListHide||function(){}
options.onDataReceived=options.onDataReceived||function(){}
this.each(function(){var input=this;new jQuery.autocomplete(input,options);});return this;}
jQuery.fn.autocompleteArray=function(data,options){return this.autocomplete(null,options,data);}
jQuery.fn.indexOf=function(e){for(var i=0;i<this.length;i++){if(this[i]==e)return i;}
return-1;};function useAddressLookup(params){$(function(){var addressField=$('#'+params.addressFieldId);var countryField=$('#'+params.countryFieldId);$('#'+params.addressFieldId).autocomplete(function(address,callback){var addr={'country':countryField[0].value,'address':addressField[0].value};$.get('/lookup_address.php',{addr:$.toJson(addr)},function(addrList){addrList=$.parseJson(addrList);var filteredAddrList=[];for(var i=0;i<addrList.length;i++){var displayAddress=addrList[i].split(',').slice(0,-1).join(',');if(displayAddress)filteredAddrList[i]=[displayAddress];}
callback(filteredAddrList);});},{matchCase:false,emptyHint:(params.locationHelper!=undefined)?params.locationHelper:'Select a location from the list<br> that appears as you type',placeholder:params.placeholder||''});countryField.change(function(){addressField[0].value=params.placeholder||'';addressField.change();});});}
var emailDomains=['hotmail.com','yahoo.com','hotmail.co.uk','yahoo.co.uk','aol.com','gmail.com','live.co.uk','btinternet.com','googlemail.com','msn.com','live.com','ntlworld.com','tiscali.co.uk','ymail.com','sky.com','blueyonder.co.uk','comcast.net','fsmail.net','rocketmail.com','aim.com','talktalk.net','yahoo.co.in','aol.co.uk','sbcglobal.net','rediffmail.com','breakthru.com','verizon.net','virgin.net','yahoo.ca','wp.pl','att.net','yahoo.ie','o2.co.uk','live.ie','cox.net','lycos.co.uk','bellsouth.net','tesco.net','eircom.net','yahoo.com.au','btopenworld.com','live.ca','excite.com','btconnect.com','talk21.com','yahoo.fr','rock.com','gmx.com','charter.net','o2.pl','peoplepc.com','mailinator.com','earthlink.net','live.com.au','lycos.com','gmx.co.uk','yahoo.in','hotmail.fr','orange.net'];function autocomplete_email_domain(params){$(function(){var emailField=$('#'+params.emailFieldId);var domains=params.domains||emailDomains;$('#'+params.emailFieldId).autocomplete(function(email,callback){emails=[]
if(email){if(email.search(/@/)>0){var emailParts=email.split("@");if(emailParts.length==2&&emailParts[1]){for(var i=0;i<domains.length;i++){regExp=new RegExp("^"+emailParts[1],"i");if(regExp.test(domains[i]))
emails[i]=[emailParts[0]+'@'+domains[i]];}}}}
callback(emails);},{matchCase:false,validate:params.validate||false,emptyHint:(params.locationHelper!=undefined)?params.locationHelper:'Select a email domain from the list<br> that appears as you type'});});}
jQuery.fn.lookupAddress=function(options){var $lookupAddress=this;options=$.extend({error:false,countrySelector:null,onError:function(){},onReset:function(){},placeholder:'city or postal code'},options);$lookupAddress.onError=function(handler){options.onError=handler;return $lookupAddress;};$lookupAddress.onReset=function(handler){options.onReset=handler;return $lookupAddress;};$lookupAddress.each(function(){var self=this;var $self=$(this);var $location=$self.find('input.location');var $country=options.countrySelector?$(options.countrySelector):$self.find('input.country');var $help=$self.find('.help');var $error=$self.find('.error');var _query='';var _locations=[];var _default_value='';var el=null;var _cache={};$(function(){_default_value=($location.val()!=options.placeholder?$location.val():'');el=$location.autocomplete(function(query,callback){_reset();var addr={'country':$country.val(),'address':query};var _handleResponse=function(response){if(!response)response=[];if(_cache[addr.country]==undefined)_cache[addr.country]={};_cache[addr.country][addr.address]=$.parseJson($.toJson(response));_query=query;_locations=response;if(!_locations.length){_locations=[];_onError();}
$(_locations).each(function(key,location){if(typeof location=='string'){_locations[key]=[location];}
_locations[key][0]=_locations[key][0].split(',').slice(0,-1).join(',');});callback(_locations);};if(_cache[addr.country]!=undefined&&_cache[addr.country][addr.address]!=undefined)
{_handleResponse(_cache[addr.country][addr.address]);}else{$.get('/lookup_address.php',{addr:$.toJson(addr),v:'2'},_handleResponse,'json');}},{matchContains:1,maxItemsToShow:10,cacheLength:0,selectFirst:true,minChars:2,formatItem:function(location,i,n){return _highlight(escapeHtml(location[0]))
+(location.length>1?'<br><span class="small">'+escapeHtml(location[1])+'</span>':'');},onListHide:function(){setTimeout(function(){if(_locations.length>0&&!_isChoosen()&&$location.val()!=_default_value){$location.val(_locations[0][0]);}},100);},onDataReceived:function(obj,q,data){obj.flushCache();},emptyHint:(options.locationHelper!=undefined)?options.locationHelper:'Select a location from the list that<br>appears as you type',placeholder:options.placeholder,delay:200});if(options.error){_onError();}})
function _highlight(item){return item.replace(new RegExp("("+$.trim(_query).split(/[^\w]+/).join("|")+")","gi"),"<strong>$1</strong>");}
function _isChoosen(){var value=$location.val();var choosen=false;$(_locations).each(function(){if(this[0]==value)choosen=true;});return choosen;};function _reset(){_locations=[];_query='';_resetAddress();options.onReset();}
function _resetAddress(){$help.show();$error.hide();$location.removeClass('error');}
function _showError(){$help.hide();$error.show();$location.addClass('error');}
function _onError(){_showError();options.onError();}
self.validate=function(){if(!self.isValid()){_showError();return false;}else{return true;}};self.isValid=function(){return($location.val()!=''&&$location.val()!=options.placeholder);};$location.keyup(function(){if($(this).val()==''){_reset();}});});$lookupAddress.validate=function(){$lookupAddress.each(function(){this.validate();});};$lookupAddress.isValid=function(){var is_valid=true;$lookupAddress.each(function(){if(!this.isValid()){is_valid=false;return false;}});return is_valid;}
return this;};var focus;(function($){var _options={baseYear:new Date().getFullYear(),format:'d.m.y',separator:'-',display:false,error_messages:{ivalid:'Wrong date'},valid_message:'',required:false,fragmented:false,completeCallback:null,validateCallbacks:null};var _subinfos={day:0,month:1,year:2,error:false,message:''};var is_date=function(gg,mm,aaaa)
{strdata=gg+"/"+mm+"/"+aaaa;data=new Date(aaaa,mm-1,gg);daa=data.getFullYear().toString();dmm=(data.getMonth()+1).toString();dmm=dmm.length==1?"0"+dmm:dmm
dgg=data.getDate().toString();dgg=dgg.length==1?"0"+dgg:dgg
dddata=dgg+"/"+dmm+"/"+daa
if(dddata!=strdata)
return false;else
return true;}
var sep7=function(the_data)
{data_a=new Array();data_a.push(the_data.substring(0,1));data_a.push(the_data.substring(1,3));data_a.push(the_data.substring(3));return data_a;};var sep6=function(the_data)
{data_a=new Array();data_a.push(the_data.substring(0,2));data_a.push(the_data.substring(2,4));data_a.push(the_data.substring(4));return data_a;};var sep5=function(the_data)
{data_a=new Array();data_a.push(the_data.substring(0,2));data_a.push(the_data.substring(2,3));data_a.push(the_data.substring(3));return data_a;};var sep4=function(the_data)
{data_a=new Array();data_a.push(the_data.substring(0,1));data_a.push(the_data.substring(1,2));data_a.push(the_data.substring(2));return data_a;};var sep3=function(the_data)
{data_a=new Array();data_a.push(the_data.substring(0,1));data_a.push(the_data.substring(1,2));data_a.push(the_data.substring(2));return data_a;};var sep2=function(the_data)
{data_a=new Array();data_a.push(the_data.substring(0,1));data_a.push(the_data.substring(1));data_a.push(_options.baseYear);return data_a;};var processor=function(data_a)
{if(data_a.length!=3)
{var malformed="";for(var i=0;i<data_a.length;i++)
malformed+=data_a[i];switch(malformed.length)
{case 2:data_a=sep2(malformed);break;case 3:data_a=sep3(malformed);break;case 4:data_a=sep4(malformed);break;case 5:data_a=sep5(malformed);break;case 6:case 8:data_a=sep6(malformed);break;case 7:data_a=sep7(malformed);break;default:if(_options.required&&malformed.length>0){_subinfos.error=true;}
break;}}
return data_a;};var joinner=function(data_a)
{if(data_a.length==3)
{if(data_a[_subinfos.day].length<2)
data_a[_subinfos.day]='0'+data_a[_subinfos.day];if(data_a[_subinfos.month].length<2)
data_a[_subinfos.month]='0'+data_a[_subinfos.month];if(data_a[_subinfos.year].length<4)
data_a[_subinfos.year]=_options.baseYear.toString().substring(0,(4-data_a[_subinfos.year].length))+data_a[_subinfos.year];var stack=_options.validateCallbacks?_options.validateCallbacks:[];stack.unshift(is_date);var call;var valid;for(var i=0;i<stack.length;i++){call=stack[i];valid=call(data_a[_subinfos.day],data_a[_subinfos.month],data_a[_subinfos.year]);if(typeof valid=='boolean'&&valid==true){_subinfos.error=false;}else{_subinfos.error=true;if(typeof valid=='string'){_subinfos.message=_options.error_messages[valid]?_options.error_messages[valid]:valid;}else{_subinfos.message=_options.error_messages['invalid'];}
break;}}
return data_a[0]+_options.separator+data_a[1]+_options.separator+data_a[2];}
else
{_subinfos.error=_options.required?true:false;_subinfos.message=_options.error_messages['invalid'];return _options.fragmented?data_a.join(_options.separator):'';}};var splitter=function(data_b)
{return data_b.split(_options.separator);};var converter=function(data_b)
{data_a=splitter(data_b);if(!_options.fragmented){data_a=processor(data_a);}
return joinner(data_a);};var replacer=function(data_b)
{data_b=data_b.replace(/\./g,"/");data_b=data_b.replace(/\-/g,"/");data_b=data_b.replace(/\,/g,"/");data_b=data_b.replace(/\;/g,"/");data_b=data_b.replace(/\:/g,"/");data_b=data_b.replace(/[^0-9\/]+/g,"");return data_b.replace(/\//g,_options.separator);};var normalizer=function(e)
{if(_options.fragmented){var parentCont=$(this).parent();var elements;while(parentCont){elements=parentCont.find('input');if(elements.length==3){break;}
parentCont=parentCont.parent();}
the_data='';if($(elements.get(0)).val()){the_data+=$(elements.get(0)).val();if($(elements.get(1)).val()){the_data+=_options.separator+$(elements.get(1)).val();if($(elements.get(2)).val()){the_data+=_options.separator+$(elements.get(2)).val();}}}}else{var the_data=$(this).val();}
the_data=replacer(the_data);the_data=converter(the_data);if(_options.fragmented){var a_data=splitter(the_data);$(elements.get(0)).val(a_data[0]);if(a_data[1]){$(elements.get(1)).val(a_data[1]);}
if(a_data[2]){$(elements.get(2)).val(a_data[2]);}}else{$(this).val(the_data);}
if(_options.completeCallback){_options.completeCallback(_subinfos);}
if(_options.display)
{if(_subinfos.error)
{$('#'+_options.display).text(_subinfos.message);$('#'+_options.display).removeClass('valid_date');}
else
{$('#'+_options.display).text(_subinfos.message);$('#'+_options.display).addClass('valid_date');}}};var setOptions=function(options)
{if(options.baseYear)
_options.baseYear=options.baseYear;if(options.format)
_options.format=options.format;if(options.separator)
_options.separator=options.separator;if(options.display)
_options.display=options.display;if(options.valid_message)
_options.valid_message=options.valid_message;if(options.error_messages)
_options.error_messages=options.error_messages;if(options.fragmented)
_options.fragmented=options.fragmented;if(options.required)
_options.required=options.required;if(options.completeCallback)
_options.completeCallback=options.completeCallback;if(options.validateCallbacks)
_options.validateCallbacks=options.validateCallbacks;var extra=_options.format.toString().split(".");for(i=0;i<3;i++)
{data=extra[i];switch(data)
{case'd':_subinfos.day=i;break;case'm':_subinfos.month=i;break;case'y':_subinfos.year=i;break;default:throw"Impossibile to understand the date format";break;}}};$.fn._dateNormalizer=normalizer;$.fn.isDateValid=function()
{if($(this).get(0).tagName.toLowerCase()!='input'){var elements=$(this).find('input');return $(elements[0]).isDateValid();}
$(this)._dateNormalizer();return!_subinfos.error;}
$.fn.dateNormalizer=function(options)
{var elements;var i;if(options.fragmented&&$(this).get(0).tagName.toLowerCase()!='input'){elements=$(this).find('input');for(i=0;i<elements.length;i++){$(elements[i]).dateNormalizer(options);}
return;}
if(options){setOptions(options);}
if(options.fragmented){$(this).focus(function(e){focus=e.target;});$(this).blur(function(e){focus=null;var blur=e.target;setTimeout(function(){var parentCont=$(blur).parent();while(parentCont){elements=parentCont.find('input');if(elements.length==3){break;}
parentCont=parentCont.parent();}
for(i=0;i<3;i++){if(elements.get(i)==focus){return;}}
return $(blur).isDateValid();},100);});}else{$(this).blur(normalizer);}};})(jQuery);if(typeof textMessages!="object")textMessages={};$.extend(textMessages,{confirm_enter_birthday:'Please enter your date of birth',confirm_birthday_invalid_format:'Please enter your date of birth in valid format',confirm_date_not_found:'Sorry. This date has not been found!',confirm_access_restricted:'Access is restricted to people under 18!',confirm_help_screenname_def:'choose a screenname',confirm_help_screenname_content:"<br>Enter a screenname that you would like others to know you by.<p>A screenname should be at least 3 characters long, and not longer than 20.</P><p>You can choose almost anything.  examples include 'kitten', 'BigBoy', and 'look4you', so choose something good.</p>",confirm_help_gender:"<br />Select your matching preference so we can show the most relevant profiles.",confirm_help_birthday:"<br />Set you Date of Birth<P>This will calculate your age and starsign for you.</p>",confirm_help_looking_for:"<b>Looking for</b><P>select the main thing that you are looking to find from this site.</p>",confirm_help_looking_for_other:"<br />Select your matching preference so we can show the most relevant profiles.",confirm_screenname_enter:"Please enter your screenname",confirm_screenname_min:"Screenname must have at least 3 characters",confirm_screenname_max:"A screenname should be no longer than 20",confirm_screenname_regexp:"Your screenname can only consist of a-z&sbquo; A-Z&sbquo; 0-9&sbquo; -&sbquo; _ and no spaces!",confirm_gender_specify:"Please specify what you are looking for",confirm_looking_for:"Please specify what you are looking for",confirm_looking:'Please specify what you are interested in',confirm_blank_message:"<br /><b>BeNaughty is the leading website for naughty dating and casual flirting in the UK. Join for free to see our full range of naughty members in your area.</b>"});if(typeof textMessages!="object")textMessages={};$.extend(textMessages,{location_autocomplete_helper:"Select a location from the list<br> that appears as you type",email_autocomplete_helper:"Select a email domain from the list<br> that appears as you type",location_placeholder:"city or postal code",validate_email_registered:'This email is registered.<a href="javascript:$(\'#hidemail\').val($(\'#email\').val());$(\'form:first\').submit();" style="color: rgb(153, 0, 0);">Click here</a> to recover the password.',validate_email_incorect:'Your email address is incorrect.',validate_email_cannot_use:'This email address cannot be used. Please provide another.',validate_email_invalid:'You have entered an invalid email address.',validate_email_enter:'Please enter a email address.',validate_email_registered_6:'This email is registered. Provide another valid email address.',validate_email_registered_7:'This email is registered. <a href="/recovery_profile.php">RECOVER your profile</a> or <a href="/login.php">Login now</a>.',validate_email_registered_8:'This email is registered. <a href="/login.php">Login now</a> or <a href="/resend_email.php">Click&nbsp;here</a> to resend your confirmation email.',validate_email_registered_9:'This email is registered. Provide another valid email address.',validate_field_gender_required:"Please select who you are.",validate_field_gender_number:"Please select a valid option.",validate_field_password_required:"Please provide a password.",validate_field_password_length:"Please enter 6 or more characters.",validate_field_password_validate:"Your password should consist of a-z&sbquo; A-Z&sbquo; 0-9&sbquo; -&sbquo; _ and no spaces!",validate_field_email_required:"Please enter a valid email address.",validate_field_location_required:"Please provide your city or postcode to find the nearby matches easily.",validate_field_age_required:"Please select a valid age range.",validate_field_age_number:"Please select a valid option.",validate_field_birthday_valid:"Access is restricted to people under 18!"});var short_submit=false;var ajax_err={};var click_submit=false;function control(elem)
{if(!elem)elem=0;if(elem)click_submit=false;if(short_submit)return true;if(elem!=0)
{var spl=elem.split(':');elem=spl[0];}
var errors={};var errors_group={};if(!check)return false;if(elem)
{if(!check[elem])return false;for(var key in check[elem]['proofs'])
{if(typeof(window[key])=='function')
{if(!eval(key+"('"+elem+"','"+check[elem]['proofs'][key]+"')"))
{var group_key=check[elem]['group'];if(group_key)
{errors_group[elem]=key;}
else
{errors[elem]=key;}
break;}
else
{}}
else
{alert(' not function '+key+'(key,param)');}}}
else
{for(var clef in check)
{for(var key in check[clef]['proofs'])
{if(typeof(window[key])=='function')
{if(!eval(key+"('"+clef+"','"+check[clef]['proofs'][key]+"')"))
{var group_key=check[clef]['group'];if(group_key)
{errors_group[clef]=key;}
else
{errors[clef]=key;}
break;}
else
{}}
else
{alert(' not function '+key+'(key,param)');}}}}
var flag_group=is_empty_obj(errors_group);if(!flag_group)
{for(var i in errors_group)
{errors[i]=errors_group[i];break;}}
if(elem)
{if(errors[elem])
{var de_path=check[elem]['defeat'];for(var defeat_func in de_path)
{if(typeof(window[defeat_func])=='function')
{eval(defeat_func+"('"+elem+"','"+check[elem]['error_messages'][errors[elem]]+"','"+de_path[defeat_func]+"')");}}}
else if((!check[elem]['group']||(check[elem]['group']&&flag_group)))
{var vic_path=check[elem]['victory'];for(var victory_func in vic_path)
{if(typeof(window[victory_func])=='function')
{eval(victory_func+"('"+elem+"','"+vic_path[victory_func]+"')");}}}}
else
{for(var key in check)
{if(errors[key])
{var de_path=check[key]['defeat'];for(var defeat_func in de_path)
{if(typeof(window[defeat_func])=='function')
{eval(defeat_func+"('"+key+"','"+check[key]['error_messages'][errors[key]]+"','"+de_path[defeat_func]+"')");}}}
else if((!check[key]['group']||(check[key]['group']&&flag_group)))
{var vic_path=check[key]['victory'];for(var victory_func in vic_path)
{if(typeof(window[victory_func])=='function')
{eval(victory_func+"('"+key+"','"+vic_path[victory_func]+"')");}}}}}
if(is_empty_obj(errors))
{return true;}
else
{return false;}}
function is_empty_obj(obj)
{for(var i in obj)return false;return true;}
function isset(key,param)
{var elem_type=$('#'+key).attr('type');var elem_val=$('#'+key).val();var not_default_val=false;if(elem_type!='checkbox')
{var a_def=param.split(',');for(var kk in a_def)
{if(elem_val==a_def[kk]){not_default_val=false;break;}
not_default_val=true;}
if(elem_val&&elem_val!=0&&not_default_val)return true;return false;}
else
{if($('#'+key+':checked').length>0)return true;return false;}}
function trimmer(key,param)
{var s=trim($('#'+key).val());$('#'+key).val(s);return true;}
function valid_top_line(key,param)
{$("#mark_sexuality_gender,#mark_frmLooking").removeClass("mark_error").addClass("mark_ok");var b_day=$('#frmDay').val();var b_month=$('#frmMonth').val();var b_year=$('#frmYear').val();if(b_day!=0&&b_month!=0&&b_year!=0)$("#mark_birthday").removeClass("mark_error").addClass("mark_ok");return true;}
function min(key,param)
{if($('#'+key).val().length>=param)
{return true;}
else
{return false;}}
function max(key,param)
{if($('#'+key).val().length<=param)
{return true;}
else
{return false;}}
function regexp(key,param)
{var str=$('#'+key).val();var reg='^([a-zA-Z0-9_.\\-+])+@(([a-zA-Z0-9\\-])+\\.)+[a-zA-Z0-9]{2,4}$';if(str.match(reg))
{return true;}
else
{return false;}}
function all_date_isset(key,param)
{var b_day=$('#frmDay').val();var b_month=$('#frmMonth').val();var b_year=$('#frmYear').val();if(b_day!=0&&b_month!=0&&b_year!=0)return true;return false;}
function regexp_screenname(key,param)
{var str=$('#'+key).val();var reg='^([a-zA-Z0-9_/-]){3,20}$';if(str.match(reg))
{return true;}
else
{return false;}}
function adult(key,param)
{var b_day=$('#frmDay').val();var b_month=$('#frmMonth').val();var b_year=$('#frmYear').val();if(b_day==0||b_month==0||b_year==0)return false;var d=new Date();var cur_year=d.getFullYear();var cur_month=d.getMonth()+1;var cur_day=d.getDate();var t_year=cur_year-b_year;if(t_year>=19)return true;if(t_year<18)return false;if(cur_month>b_month)return true;if(cur_month<b_month)return false;if(cur_day>=b_day)return true;return false;}
function red_adult(key,param)
{var b_day=$('#frmDay').val();var b_month=$('#frmMonth').val();var b_year=$('#frmYear').val();if(b_day==0||b_month==0||b_year==0)return-1;var d=new Date();var cur_year=d.getFullYear();var cur_month=d.getMonth()+1;var cur_day=d.getDate();var t_year=cur_year-b_year;if(t_year>=19)return true;if(t_year<18)return-2;if(cur_month>b_month)return true;if(cur_month<b_month)return-2;if(cur_day>=b_day)return true;return-2;}
function redline(key,message,param)
{$("#mark_"+key).removeClass("mark_ok").addClass("mark_error");if(key=='frmEmail'&&gl_ajax_process['frmEmail'])message='';$("#error_mes_"+key).html(message).removeClass("error_hidden").addClass("error_txt");if(key=='screenname'&&(typeof(g_auto_hide_terms)!='undefined'))
{var cc=$('#error_mes_screenname.error_txt').text();if(cc.length>5){$('#agree').css({'visibility':'hidden'})};}}
function greenline(key,param)
{$("#mark_"+key).removeClass("mark_error").addClass("mark_ok");$("#error_mes_"+key).removeClass("error_txt").addClass("error_hidden");}
function red_birthday(key,message,param)
{$("#mark_birthday").removeClass("mark_ok").addClass("mark_error");$("#error_mes_birthday").html(message).removeClass("error_hidden").addClass("error_txt");}
function red_birthday_check(key,message,param)
{if(red_adult(1,2)==-2)
{$("#mark_birthday").removeClass("mark_ok").addClass("mark_error");$("#error_mes_birthday").html(message).removeClass("error_hidden").addClass("error_txt");}}
function green_birthday(key,param)
{$("#mark_birthday").removeClass("mark_error").addClass("mark_ok");$("#error_mes_birthday").removeClass("error_txt").addClass("error_hidden");}
function terms_bad(key,param)
{$("#mark_"+key).removeClass("error_hidden").addClass("terms_error");}
function terms_ok(key,param)
{$("#mark_"+key).removeClass("terms_error").addClass("error_hidden");}
function check_for_ajax(key,param)
{var result;var def_email_error='Your email address is incorrect.';if(!gl_ajax_process[key])
{var s_elem=$("#"+key).val();var get_data={};if(click_submit)get_data['type_checking']='submit';get_data[key]=s_elem;$("#mark_"+key).removeClass("mark_error").removeClass("mark_txt").addClass("mark_ajax");gl_ajax_process[key]=true;$.get("/check_signup.php",get_data,function(data){if(data=='unique')
{setTimeout(function(){$("#mark_"+key).removeClass("mark_error").removeClass("mark_ajax").addClass("mark_ok");$("#error_mes_"+key).removeClass("error_txt").addClass("error_hidden");update_loc_results_doc();},1);if(key=='screenname'&&(typeof(g_auto_hide_terms)!='undefined'))
{var cc=$('#error_mes_screenname.error_txt').text();if(cc.length<25)$('#agree').css({'visibility':'visible'});}
result=true;setTimeout(function(){if(click_submit&&audit_full()){short_submit=true;$('#reg-form').trigger('submit');}},100);}
else
{setTimeout(function(){$("#mark_"+key).removeClass("mark_ok").removeClass("mark_ajax").addClass("mark_error");if(key=='frmEmail')
{if(check['frmEmail']['error_messages']['check_for_ajax'][data])
{data=check['frmEmail']['error_messages']['check_for_ajax'][data];}
else
{data=def_email_error;}}
if((typeof(g_couple_screens)!='undefined')&&key=='screenname'&&data.length>100)
{var part=data.replace('<br />','');var screens=part.split(',');data=screens[0]+','+screens[1]+','+screens[2];}
$("#error_mes_"+key).html(data).removeClass("error_hidden").addClass("error_txt");if(key=='screenname')
{bind_screenname_variant();$("#imageField").focus();if(typeof(g_auto_hide_terms)!='undefined')
{var cc=$('#error_mes_screenname.error_txt').text();if(cc.length>25){$('#agree').css({'visibility':'hidden'})};}}
update_loc_results_doc();},1);result=false;}});}
else
{result=false;}
setTimeout(function(){gl_ajax_process[key]=false;},50);return result;}
function check_errors(key)
{ajax_err[key]=1;}
function bind_screenname_variant()
{$("a.screenname_variant").click(function(){$('#screenname').attr('value',$(this).html()).trigger('blur');$("#imageField").focus();});}
function update_loc_results_doc()
{top_loc=$("#location").offset().top;height_loc=$("#location").height();new_top=top_loc+height_loc+6;$("div.ac_results").css({"top":new_top});}
function check_list_checkbox(key,param)
{var test=$("input[name^='frmLooking']:checked").size();if((test!=null)&&(test>0))return true;return false;}
function trim(str)
{var res;res=str.replace(/^\s+/,'');res=res.replace(/\s+$/,'');return res;}
function audit_full()
{if(!gl_audit)
{alert('Undefined \'gl_audit\'-array');return false;}
var b=0;var a_count=gl_audit.length;for(var key in gl_audit)
{if($('#'+gl_audit[key]).hasClass("mark_ok"))
{b=b+1;}}
t=($('#terms:checked').length>0)?1:0;if((a_count==b)&&t)return true;return false;}
var g_couple_screens=true;var g_auto_hide_terms=true;var gl_ajax_process={screenname:false,frmEmail:false};var gl_audit=['mark_screenname','mark_location','mark_frmEmail','mark_birthday'];var click_submit=false;var now=new Date();var check={frmGender:{proofs:{isset:T('confirm_help_gender')},error_messages:{valid_top_line:'',isset:T('confirm_help_gender')},victory:{greenline:'1'},defeat:{redline:'1'}},location:{proofs:{isset:'isset'},error_messages:{isset:T('validate_field_location_required')},victory:{greenline:'1'},defeat:{redline:'1'}},screenname:{proofs:{isset:T('confirm_screenname_enter'),min:3,max:20,regexp_screenname:1,check_for_ajax:1},error_messages:{valid_top_line:'',isset:T('confirm_screenname_enter'),min:T('confirm_screenname_min'),max:T('confirm_screenname_max'),regexp_screenname:T('confirm_screenname_regexp'),check_for_ajax:''},victory:{greenline:'1'},defeat:{redline:'1'}},frmEmail:{proofs:{trimmer:1,isset:'isset',min:7,regexp:1,check_for_ajax:1},error_messages:{trimmer:'',valid_top_line:'',isset:T('validate_field_email_required'),min:T('validate_field_email_required'),regexp:T('validate_field_email_required'),check_for_ajax:{'-1':T('validate_email_registered'),'-2':T('validate_email_incorect'),'-3':T('validate_email_cannot_use'),'-4':T('validate_email_invalid'),'-5':T('validate_email_enter'),'-6':T('validate_email_registered_6'),'-7':T('validate_email_registered_7'),'-8':T('validate_email_registered_8'),'-9':T('validate_email_registered_9')}},victory:{greenline:'1'},defeat:{redline:'1'}},terms:{proofs:{isset:'isset'},error_messages:{isset:T('no isset terms')},victory:{terms_ok:'1'},defeat:{terms_bad:'1'}}}
$(document).ready(function(){$('#reg-form input[type="text"]').change(function(){control(this.id);});$('#reg-form #frmEmail').change(function(){$('#email').val(this.value)});$('#reg-form input[type="checkbox"]').bind('click',function(){control(this.id);});$('#reg-form input[type="radio"]').bind('click',function(){control(this.id);});$('#reg-form select').bind('change',function(){if(this.id=='sexuality_gender'){control('frmGender');}else{control(this.id);}});$("#frmDay").unbind('blur');$("#frmMonth").unbind('blur');$("#frmYear").unbind('blur');$("#frmDay").unbind('change');$("#frmMonth").unbind('change');$("#frmYear").unbind('change');var options={display:"error_mes_birthday22",format:"d.m.y",separator:"/",valid_message:" ",baseYear:new Date().getFullYear()-18,error_messages:{empty:T('confirm_enter_birthday'),invalid:T('confirm_birthday_invalid_format'),old:T('confirm_date_not_found'),adult:T('confirm_access_restricted')},fragmented:true,required:true,completeCallback:function(info){var msgBox=$('.error_mes_birthday');var markBox=$('#mark_birthday');if(!info.error){msgBox.text('').removeClass("error_txt").addClass("error_hidden");markBox.removeClass("mark_error").addClass("mark_ok");}else{msgBox.html(info.message).removeClass("error_hidden").addClass("error_txt");markBox.removeClass("mark_ok").addClass("mark_error");}},validateCallbacks:[function(){return(adult()?true:'adult');},function(d,m,y){var valid=y>(now.getFullYear()-80);return(valid?true:'old');}]};$('#birthday-cont').dateNormalizer(options);$('#birthday-cont input').bind('change',function(e){if(!e.target.value.match(/^[0-9]+$/g))e.target.value=e.target.value.slice(0,-1);});$('#frmDay').bind('keyup',function(e){if(this.value.length>=2)$('#frmMonth').focus();});$('#frmMonth').bind('keyup',function(e){if(this.value.length>=2)$('#frmYear').focus();});});function reg_form_submit()
{click_submit=true;if(audit_full()){$('#reg-form').submit();return true;}
var valid=$("#birthday-cont").isDateValid();valid=control()&&valid;if(!valid){return false;}else{$('#reg-form').submit();}}
function validate_password(key)
{var str=$('#'+key).val();var reg='^([a-zA-Z0-9_-])+$';return str.match(reg);};