
var checkboxHeight="25";var radioHeight="25";var selectWidth="190";var selectMaxElements=5;var Custom={init:function(){var inputs=document.getElementsByTagName("input"),span=Array(),options_div=Array(),divs=Array(),selects_inputs=Array(),textareas=Array(),options_list=Array(),textnode,option,active;var selects=document.getElementsByTagName("select");var textareas=document.getElementsByTagName("textarea");for(i=0;i<inputs.length;i++){inputs[i].className=inputs[i].className.replace('replace','styled');}
for(i=0;i<selects.length;i++){selects[i].className=selects[i].className.replace('replace','styled');}
for(i=0;i<textareas.length;i++){textareas[i].className=textareas[i].className.replace('replace','styled');}
for(a=0;a<inputs.length;a++){if((inputs[a].type=="checkbox"||inputs[a].type=="radio")&&inputs[a].className.indexOf('styled')!=-1){inputs[a].style.display='none';span[a]=document.createElement("span");span[a].className=inputs[a].type;if(inputs[a].checked==true){if(inputs[a].type=="checkbox"){position="0 -"+(checkboxHeight*2)+"px";span[a].style.backgroundPosition=position;}else{position="0 -"+(radioHeight*2)+"px";span[a].style.backgroundPosition=position;}}
inputs[a].parentNode.insertBefore(span[a],inputs[a]);inputs[a].onchange=Custom.clear;span[a].onmousedown=Custom.pushed;span[a].onmouseup=Custom.check;document.onmouseup=Custom.clear;}
if((inputs[a].type=='text'||inputs[a].type=='password')&&inputs[a].className.indexOf('styled')!=-1){span[a]=document.createElement("span");span[a].className='text';if(inputs[a].className.indexOf('error')!=-1)span[a].className='text error';else span[a].className='text';if(inputs[a].className.indexOf('city_sug')!=-1){div=document.createElement("div");div.className='cities_suggestions';div.id='cities_suggestions_'+inputs[a].name;ul=document.createElement('ul');ul.id='cities_suggestions_list_'+inputs[a].name;ul.style.display='none';div.appendChild(ul);inputs[a].parentNode.insertBefore(div,inputs[a].parentNode.firstChild);inputs[a].setAttribute("autocomplete","off");inputs[a].onkeypress=function(e){e=e||event;if(e.keyCode==13){return false;}}
inputs[a].onkeyup=function(e){e=e||event;if(e.keyCode==13){return false;}}
inputs[a].onkeydown=function(e){e=e||event;if(e.keyCode==9){for(i=0;i<this.form.elements.length;i++){if(this==this.form.elements[i])this.form.elements[i+1].focus();}}
if(e.keyCode==40||e.keyCode==38||e.keyCode==13||e.keyCode==9){return!1;}
clearTimeout(this.T);var M=this;this.T=setTimeout(function(){advAJAX.get({url:"/cities-suggestions",parameters:{"letters":M.value},onSuccess:function(obj){for(var i=0,A=[],o;o=obj.responseXML.getElementsByTagName('rs')[i++];){A.push([o.firstChild.nodeValue,o.getAttribute('info'),o.getAttribute('reg')]);}
Custom.data_city(A,M);}});},500);}}
inputs[a].parentNode.insertBefore(span[a],inputs[a].parentNode.firstChild);span[a].appendChild(inputs[a]);if(inputs[a].className.indexOf('strlen')!=-1){sp=document.createElement("span");sp.className="strlen_span";sp.id="strlen_"+inputs[a].name;sp.appendChild(document.createTextNode('Pozostało '+(inputs[a].maxLength-inputs[a].value.length)+' znaków z '+inputs[a].maxLength));inputs[a].onkeydown=Custom.change_strlen;inputs[a].onkeyup=Custom.change_strlen;inputs[a].onchange=Custom.change_strlen;inputs[a].setAttribute("autocomplete","off");if(span[a].nextSibling)span[a].parentNode.insertBefore(sp,span[a].nextSibling);else span[a].parentNode.appendChild(sp);}}
else if((inputs[a].type=='text'||inputs[a].type=='password')&&inputs[a].className.indexOf('styled')==-1){if(inputs[a].className.indexOf('strlen')!=-1){sp=document.createElement("span");sp.className="strlen_span";sp.id="strlen_"+inputs[a].name;sp.appendChild(document.createTextNode('Pozostało '+(inputs[a].maxLength-inputs[a].value.length)+' znaków z '+inputs[a].maxLength));inputs[a].onkeydown=Custom.change_strlen;if(span[a].nextSibling)span[a].parentNode.insertBefore(sp,span[a].nextSibling);else span[a].parentNode.appendChild(sp);}}
if(inputs[a].type=='file'&&inputs[a].className.indexOf('styled')!=-1){if(inputs[a].parentNode.className=='')inputs[a].parentNode.className='fileinputs';else inputs[a].parentNode.className=inputs[a].parentNode.className+' fileinputs';fakeFileUpload=document.createElement('div');fakeFileUpload.className='fakefile';fakeFileUpload.appendChild(document.createElement('input'));inputs[a].className='file hidden';var clone=fakeFileUpload.cloneNode(true);inputs[a].parentNode.appendChild(clone);inputs[a].relatedElement=clone.getElementsByTagName('input')[0];;if(inputs[a].value)inputs[a].onchange();inputs[a].onchange=inputs[a].onmouseout=function(){this.relatedElement.value=this.value;}}}
for(a=0;a<textareas.length;a++){max=textareas[a].className.substr(textareas[a].className.indexOf('maxlength')+10);if(textareas[a].className.indexOf('strlen')!=-1){sp=document.createElement("span");sp.className="strlen_span";sp.id="strlen_"+textareas[a].name;sp.appendChild(document.createTextNode('Pozostało '+(max-textareas[a].value.length)+' znaków z '+max));textareas[a].onkeydown=Custom.change_strlen;textareas[a].onkeyup=Custom.change_strlen;textareas[a].onchange=Custom.change_strlen;if(textareas[a].nextSibling)textareas[a].parentNode.insertBefore(sp,textareas[a].nextSibling);else textareas[a].parentNode.appendChild(sp);}}
for(a=0;a<selects.length;a++){if(selects[a].className.indexOf('styled')!=-1){selects[a].style.display='none';selects[a].id=selects[a].name;divs[a]=document.createElement("div");divs[a].className="select_div";divs[a].id="select_div_"+selects[a].name;span[a]=document.createElement("span");span[a].className="select";span[a].id="select_"+selects[a].name;span[a].innerHTML=selects[a].options[selects[a].selectedIndex].text;span[a].onclick=Custom.showlist;selects_inputs[a]=document.createElement("input");selects_inputs[a].readonly=true;selects_inputs[a].id="select_input_"+selects[a].name;selects_inputs[a].onkeypress=function(e){e=e||event;this.value='';keyCode=e.charCode?e.charCode:e.keyCode;if(keyCode==13||(keyCode>=34&&keyCode<=120&&keyCode!=116)){return false;}}
selects_inputs[a].onkeyup=function(e){e=e||event;this.value='';keyCode=e.charCode?e.charCode:e.keyCode;if(keyCode==13||(keyCode>=34&&keyCode<=120&&keyCode!=116)){return false;}}
selects_inputs[a].onfocus=function(){id=this.id.substring(13);opts_div=document.getElementById('options_div_'+id);opts_div.style.display='block';}
divs[a].appendChild(span[a]);divs[a].appendChild(selects_inputs[a]);selects[a].parentNode.insertBefore(divs[a],selects[a]);options_div[a]=document.createElement("div");options_div[a].className='options_div';options_div[a].style.display='none';options_div[a].id='options_div_'+selects[a].name;options_list[a]=document.createElement("ul");options_list[a].className='select_options';options_div[a].appendChild(options_list[a]);options_div[a].style.height=((selects[a].options.length>selectMaxElements?selectMaxElements:selects[a].options.length)*18)+'px';for(b=0;b<selects[a].options.length;b++){var li=document.createElement('li');li.innerHTML=selects[a].options[b].text;li.setAttribute("rel",selects[a].options[b].value);li.onmouseover=Custom.option_hover;li.onclick=Custom.option_set;options_list[a].appendChild(li);}
selects[a].parentNode.insertBefore(options_div[a],selects[a]);if(selects[a].currentStyle)selectWidth=selects[a].currentStyle.width;else if(document.defaultView&&document.defaultView.getComputedStyle)selectWidth=document.defaultView.getComputedStyle(selects[a],"").width;else selectWidth=selects[a].style.width;selectWidth=selectWidth.replace('px','');if(span[a].currentStyle)padding_left=span[a].currentStyle.paddingLeft;else if(document.defaultView&&document.defaultView.getComputedStyle)padding_left=document.defaultView.getComputedStyle(span[a],"").paddingLeft;else padding_left=span[a].style.paddingLeft;padding_left=padding_left.replace('px','');if(span[a].currentStyle)padding_right=span[a].currentStyle.paddingRight;else if(document.defaultView&&document.defaultView.getComputedStyle)padding_right=document.defaultView.getComputedStyle(span[a],"").paddingRight;else padding_right=span[a].style.paddingRight;padding_right=padding_right.replace('px','');divs[a].style.width=selectWidth+'px';span[a].style.width=(selectWidth-padding_left-padding_right)+'px';var isMSIE=/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent);if(isMSIE){options_list[a].style.width=(selectWidth)+'px';}
options_list[a].style.minWidth=(selectWidth)+'px';}}
document.onclick=function(e){if(window.event){e=window.event;}
var targ=(e.target)?e.target:e.srcElement;if(targ!=null){if(targ.nodeType==3)
targ=targ.parentNode;}
hide=true;while(targ!=null){if(targ.className=='select'){hide=false;break;}
targ=targ.offsetParent;}
if(hide)Custom.hidelists();hide=true;while(targ!=null){if(targ.className.indexOf('city_sug')!=-1){hide=false;break;}
targ=targ.offsetParent;}
if(hide)Custom.clean_cities();}
document.onkeydown=function(e){if(window.event){e=window.event;}
elms=document.getElementsByTagName('div');switch(e.keyCode){case 40:for(i=0;i<elms.length;i++){if(elms[i].className=='options_div'&&elms[i].style.display=='block'){select_input=document.getElementById('select_input_'+elms[i].id.substring(12));select_input.focus();opts=elms[i].getElementsByTagName('li');selected=0;for(j=0;j<opts.length;j++){if(opts[j].className=='hover'){selected=j;opts[j].className='';break;}}
if((selected+1)>(opts.length-1))
selected=opts.length-1;else
selected=selected+1;opts[selected].className='hover';if(((selected+1)*18)>(elms[i].scrollTop+selectMaxElements*18))elms[i].scrollTop=(selected+1-selectMaxElements)*18;}
if(elms[i].className=='cities_suggestions'&&elms[i].style.display=='block'){}}
if(s=document.getElementById('hint_selected')){s.removeAttribute('id');if(n=s.nextSibling){n.setAttribute('id','hint_selected');}else{s.parentNode.firstChild.setAttribute('id','hint_selected');}}
break;case 38:for(i=0;i<elms.length;i++){if(elms[i].className=='options_div'&&elms[i].style.display=='block'){select_input=document.getElementById('select_input_'+elms[i].id.substring(12));select_input.focus();opts=elms[i].getElementsByTagName('li');selected=0;for(j=0;j<opts.length;j++){if(opts[j].className=='hover'){selected=j;opts[j].className='';break;}}
if((selected-1)<0)
selected=0
else
selected=selected-1;opts[selected].className='hover';if(((selected)*18)<elms[i].scrollTop)elms[i].scrollTop=selected*18;}}
if(s=document.getElementById('hint_selected')){s.removeAttribute('id');if(n=s.previousSibling){n.setAttribute('id','hint_selected');}else{s.parentNode.lastChild.setAttribute('id','hint_selected');}}
break;case 13:for(i=0;i<elms.length;i++){if(elms[i].className=='options_div'&&elms[i].style.display=='block'){select_input=document.getElementById('select_input_'+elms[i].id.substring(12));select_div=document.getElementById('select_div_'+elms[i].id.substring(12));opts=elms[i].getElementsByTagName('li');selected=0;for(j=0;j<opts.length;j++){if(opts[j].className=='hover'){selected=j;break;}}
sel=document.getElementById(elms[i].id.substring(12));sel.value=opts[selected].innerHTML;span=document.getElementById('select_'+elms[i].id.substring(12));span.innerHTML=opts[selected].innerHTML;Custom.hidelists();}}
if(s=document.getElementById('hint_selected')){s.onclick();}
break;case 9:Custom.hidelists();if(s=document.getElementById('hint_selected')){Custom.clean_cities();}
break;}}},showlist:function(e){id=this.id.substring(7);sel=document.getElementById(id);select_input=document.getElementById('select_input_'+id);opts_div=document.getElementById('options_div_'+id);if(opts_div.style.display=='none'||opts_div.style.display==''){Custom.hidelists();opts_div.style.display='block';opts=opts_div.getElementsByTagName('li');for(i=0;i<opts.length;i++){if(opts[i].getAttribute("rel")==sel.value){opts[i].className="hover";}
else{opts[i].className="";}}}
else{opts_div.style.display='none';}},hidelists:function(){var els=document.getElementsByTagName("div");for(var i=0;i<els.length;i++){if(els[i].className=='options_div'){els[i].style.display='none';}}},pushed:function(){element=this.nextSibling;if(element.checked==true&&element.type=="checkbox"){this.style.backgroundPosition="0 -"+checkboxHeight*3+"px";}else if(element.checked==true&&element.type=="radio"){this.style.backgroundPosition="0 -"+radioHeight*3+"px";}else if(element.checked!=true&&element.type=="checkbox"){this.style.backgroundPosition="0 -"+checkboxHeight+"px";}else{this.style.backgroundPosition="0 -"+radioHeight+"px";}},check:function(){element=this.nextSibling;if(element.checked==true&&element.type=="checkbox"){this.style.backgroundPosition="0 0";element.checked=false;}else{if(element.type=="checkbox"){this.style.backgroundPosition="0 -"+checkboxHeight*2+"px";}else{this.style.backgroundPosition="0 -"+radioHeight*2+"px";group=this.nextSibling.name;inputs=document.getElementsByTagName("input");for(a=0;a<inputs.length;a++){if(inputs[a].name==group&&inputs[a]!=this.nextSibling){inputs[a].previousSibling.style.backgroundPosition="0 0";}}}
element.checked=true;}},clear:function(){inputs=document.getElementsByTagName("input");for(var b=0;b<inputs.length;b++){if(inputs[b].type=="checkbox"&&inputs[b].checked==true&&inputs[b].className=="styled"){inputs[b].previousSibling.style.backgroundPosition="0 -"+checkboxHeight*2+"px";}else if(inputs[b].type=="checkbox"&&inputs[b].className=="styled"){inputs[b].previousSibling.style.backgroundPosition="0 0";}else if(inputs[b].type=="radio"&&inputs[b].checked==true&&inputs[b].className=="styled"){inputs[b].previousSibling.style.backgroundPosition="0 -"+radioHeight*2+"px";}else if(inputs[b].type=="radio"&&inputs[b].className=="styled"){inputs[b].previousSibling.style.backgroundPosition="0 0";}}},choose:function(){option=this.getElementsByTagName("option");for(d=0;d<option.length;d++){if(option[d].selected==true){document.getElementById("select"+this.name).childNodes[0].nodeValue=option[d].childNodes[0].nodeValue;}}},option_set:function(){id=this.parentNode.parentNode.id.substring(12);sel=document.getElementById(id);sel.value=this.getAttribute("rel");spn=document.getElementById('select_'+id);spn.innerHTML=sel.options[sel.selectedIndex].text;},option_hover:function(){opts=this.parentNode.getElementsByTagName('li');for(i=0;i<opts.length;i++){opts[i].className="";}
this.className='hover';},change_strlen:function(){strlen_span=document.getElementById("strlen_"+this.name);if(this.maxLength){strlen_span.innerHTML='Pozostało '+(this.maxLength-this.value.length)+' znaków z '+this.maxLength;}
else{if(this.value.length>max)this.value=this.value.substring(0,max);max=this.className.substr(this.className.indexOf('maxlength')+10);strlen_span.innerHTML='Pozostało '+(max-this.value.replace("\n",'').length)+' znaków z '+max;}},data_city:function(A,input){Custom.clean_cities();for(var i=0,v;v=A[i++];){var li=document.createElement('li');li.city=v[0];li.info=v[1];li.reg=v[2];li.appendChild(document.createTextNode(li.info));li.onclick=Custom.choose_city;li.onmouseover=Custom.change_selected_city;div=document.getElementById('cities_suggestions_'+input.name);div.style.display='block';ul=document.getElementById('cities_suggestions_list_'+input.name);ul.appendChild(li);}
if(ul.firstChild){ul.firstChild.setAttribute('id','hint_selected');ul.style.display='block';}},choose_city:function(){id=this.parentNode.id.substring(24);city_input=document.getElementById(id);city_input.value=this.city;selects=document.getElementsByTagName("select");for(i=0;i<selects.length;i++){if(selects[i].className.indexOf(id)!=-1){selects[i].value=this.reg;spn=document.getElementById('select_'+selects[i].id);spn.innerHTML=selects[i].options[selects[i].selectedIndex].text;}}
Custom.clean_cities();},change_selected_city:function(){s=document.getElementById('hint_selected');if(s)s.removeAttribute('id');this.setAttribute('id','hint_selected');},clean_cities:function(){dvs=document.getElementsByTagName("div");for(i=0;i<dvs.length;i++){if(dvs[i].className=='cities_suggestions'){ul=dvs[i].firstChild;while(child=ul.firstChild){ul.removeChild(child);}
ul.style.display='none';dvs[i].style.display='none';}}}}
window.onload=Custom.init;