/*#############################################################Name: NiceformsVersion: 1.0Author: Lucian SlatineanuURL: http://www.badboy.ro/Feel free to use and modify but please provide credits.#############################################################*/
var niceforms=document.getElementsByTagName('form');
var inputs=new Array();
var labels=new Array();
var radios=new Array();
var radioLabels=new Array();
var checkboxes=new Array();
var checkboxLabels=new Array();
var texts=new Array();
var textareas=new Array();
var selects=new Array();
var selectText="please select";
var agt=navigator.userAgent.toLowerCase();
this.ie=((agt.indexOf("msie")!=-1)&&(agt.indexOf("opera")==-1));
var hovers=new Array();
var buttons=new Array();
var isMac=new RegExp('(^|)'+'Apple'+'(|$)');
var selectRightSideWidth=21;
var selectLeftSideWidth=8;
var selectAreaHeight=21;
var selectAreaOptionsOverlap=2;
var imagesPath="img/form_img/";

function init(){
	if(!document.getElementById){
		return false
	}
	preloadImages();
	getElements();
	separateElements();
	replaceRadios();
	replaceCheckboxes();
	replaceSelects();
	if(!isMac.test(navigator.vendor)){
		replaceTexts();
		replaceTextareas();
		buttonHovers()
	}
}

function preloadImages(){
	preloads=new Object();
	preloads[0]=new Image();preloads[0].src=imagesPath+"button_left_xon.gif";
	preloads[1]=new Image();preloads[1].src=imagesPath+"button_right_xon.gif";
	preloads[2]=new Image();preloads[2].src=imagesPath+"input_left_xon.gif";
	preloads[3]=new Image();preloads[3].src=imagesPath+"input_right_xon.gif";
	preloads[4]=new Image();preloads[4].src=imagesPath+"txtarea_bl_xon.gif";
	preloads[5]=new Image();preloads[5].src=imagesPath+"txtarea_br_xon.gif";
	preloads[6]=new Image();preloads[6].src=imagesPath+"txtarea_cntr_xon.gif";
	preloads[7]=new Image();preloads[7].src=imagesPath+"txtarea_l_xon.gif";
	preloads[8]=new Image();preloads[8].src=imagesPath+"txtarea_tl_xon.gif";
	preloads[9]=new Image();preloads[9].src=imagesPath+"txtarea_tr_xon.gif"
}

function getElements(){var re=new RegExp('(^| )'+'niceform'+'( |$)');for(var nf=0;nf<document.getElementsByTagName('form').length;nf++){if(re.test(niceforms[nf].className)){for(var nfi=0;nfi<document.forms[nf].getElementsByTagName('input').length;nfi++){inputs.push(document.forms[nf].getElementsByTagName('input')[nfi])}for(var nfl=0;nfl<document.forms[nf].getElementsByTagName('label').length;nfl++){labels.push(document.forms[nf].getElementsByTagName('label')[nfl])}for(var nft=0;nft<document.forms[nf].getElementsByTagName('textarea').length;nft++){textareas.push(document.forms[nf].getElementsByTagName('textarea')[nft])}for(var nfs=0;nfs<document.forms[nf].getElementsByTagName('select').length;nfs++){selects.push(document.forms[nf].getElementsByTagName('select')[nfs])}}}}function separateElements(){var r=0;var c=0;var t=0;var rl=0;var cl=0;var tl=0;var b=0;for(var q=0;q<inputs.length;q++){if(inputs[q].type=='radio'){radios[r]=inputs[q];++r;for(var w=0;w<labels.length;w++){if(labels[w].htmlFor==inputs[q].id){if(inputs[q].checked){labels[w].className="chosen"}radioLabels[rl]=labels[w];++rl}}}if(inputs[q].type=='checkbox'){checkboxes[c]=inputs[q];++c;for(var w=0;w<labels.length;w++){if(labels[w].htmlFor==inputs[q].id){if(inputs[q].checked){labels[w].className="chosen"}checkboxLabels[cl]=labels[w];++cl}}}if((inputs[q].type=="text")||(inputs[q].type=="password")){texts[t]=inputs[q];++t}if((inputs[q].type=="submit")||(inputs[q].type=="button")){buttons[b]=inputs[q];++b}}}function replaceRadios(){for(var q=0;q<radios.length;q++){radios[q].className="outtaHere";var radioArea=document.createElement('div');if(radios[q].checked){radioArea.className="radioAreaChecked"}else{radioArea.className="radioArea"}radioArea.style.left=findPosX(radios[q])+'px';radioArea.style.top=findPosY(radios[q])+'px';radioArea.style.margin="1px";radioArea.id="myRadio"+q;radios[q].parentNode.insertBefore(radioArea,radios[q]);radioArea.onclick=new Function('rechangeRadios('+q+')');radioLabels[q].onclick=new Function('rechangeRadios('+q+')');if(!this.ie){radios[q].onfocus=new Function('focusRadios('+q+')');radios[q].onblur=new Function('blurRadios('+q+')')}radios[q].onclick=radioEvent}return true}function focusRadios(who){var what=document.getElementById('myRadio'+who);what.style.border="1px dotted #333";what.style.margin="0";return false}function blurRadios(who){var what=document.getElementById('myRadio'+who);what.style.border="0";what.style.margin="1px";return false}function checkRadios(who){var what=document.getElementById('myRadio'+who);others=document.getElementsByTagName('div');for(var q=0;q<others.length;q++){if((others[q].className=="radioAreaChecked")&&(others[q].nextSibling.name==radios[who].name)){others[q].className="radioArea"}}what.className="radioAreaChecked"}function changeRadios(who){if(radios[who].checked){for(var q=0;q<radios.length;q++){if(radios[q].name==radios[who].name){radios[q].checked=false;radioLabels[q].className=""}}radios[who].checked=true;radioLabels[who].className="chosen";checkRadios(who)}}function rechangeRadios(who){if(!radios[who].checked){for(var q=0;q<radios.length;q++){if(radios[q].name==radios[who].name){radios[q].checked=false;radioLabels[q].className=""}}radios[who].checked=true;radioLabels[who].className="chosen";checkRadios(who)}}function radioEvent(e){if(!e)var e=window.event;if(e.type=="click"){for(var q=0;q<radios.length;q++){if(this==radios[q]){changeRadios(q);break}}}}function replaceCheckboxes(){for(var q=0;q<checkboxes.length;q++){checkboxes[q].className="outtaHere";var checkboxArea=document.createElement('div');if(checkboxes[q].checked){checkboxArea.className="checkboxAreaChecked"}else{checkboxArea.className="checkboxArea"}checkboxArea.style.left=findPosX(checkboxes[q])+'px';checkboxArea.style.top=findPosY(checkboxes[q])+'px';checkboxArea.style.margin="1px";checkboxArea.id="myCheckbox"+q;checkboxes[q].parentNode.insertBefore(checkboxArea,checkboxes[q]);checkboxArea.onclick=new Function('rechangeCheckboxes('+q+')');if(!isMac.test(navigator.vendor)){checkboxLabels[q].onclick=new Function('changeCheckboxes('+q+')')}else{checkboxLabels[q].onclick=new Function('rechangeCheckboxes('+q+')')}if(!this.ie){checkboxes[q].onfocus=new Function('focusCheckboxes('+q+')');checkboxes[q].onblur=new Function('blurCheckboxes('+q+')')}checkboxes[q].onkeydown=checkEvent}return true}function focusCheckboxes(who){var what=document.getElementById('myCheckbox'+who);what.style.border="1px dotted #333";what.style.margin="0";return false}function blurCheckboxes(who){var what=document.getElementById('myCheckbox'+who);what.style.border="0";what.style.margin="1px";return false}function checkCheckboxes(who,action){var what=document.getElementById('myCheckbox'+who);if(action==true){what.className="checkboxAreaChecked"}if(action==false){what.className="checkboxArea"}}function changeCheckboxes(who){if(checkboxLabels[who].className=="chosen"){checkboxes[who].checked=true;checkboxLabels[who].className="";checkCheckboxes(who,false)}else if(checkboxLabels[who].className==""){checkboxes[who].checked=false;checkboxLabels[who].className="chosen";checkCheckboxes(who,true)}}function rechangeCheckboxes(who){var tester=false;if(checkboxLabels[who].className=="chosen"){tester=false;checkboxLabels[who].className=""}else if(checkboxLabels[who].className==""){tester=true;checkboxLabels[who].className="chosen"}checkboxes[who].checked=tester;checkCheckboxes(who,tester)}function checkEvent(e){if(!e)var e=window.event;if(e.keyCode==32){for(var q=0;q<checkboxes.length;q++){if(this==checkboxes[q]){changeCheckboxes(q)}}}}function replaceSelects(){for(var q=0;q<selects.length;q++){var selectArea=document.createElement('div');var left=document.createElement('div');var right=document.createElement('div');var center=document.createElement('div');var button=document.createElement('a');var text=document.createTextNode(selectText);center.id="mySelectText"+q;var selectWidth=parseInt(selects[q].className.replace(/width_/g,""));center.style.width=selectWidth-10+'px';selectArea.style.width=selectWidth+selectRightSideWidth+selectLeftSideWidth+'px';button.style.width=selectWidth+selectRightSideWidth+selectLeftSideWidth+'px';button.style.marginLeft=-selectWidth-selectLeftSideWidth+'px';button.href="javascript:showOptions("+q+")";button.onkeydown=selectEvent;button.className="selectButton";selectArea.className="selectArea";selectArea.id="sarea"+q;left.className="left";right.className="right";center.className="center";right.appendChild(button);center.appendChild(text);selectArea.appendChild(left);selectArea.appendChild(right);selectArea.appendChild(center);selects[q].style.display='none';selects[q].parentNode.insertBefore(selectArea,selects[q]);var optionsDiv=document.createElement('div');optionsDiv.style.width=selectWidth+1+'px';optionsDiv.className="optionsDivInvisible";optionsDiv.id="optionsDiv"+q;optionsDiv.style.left=findPosX(selectArea)+'px';optionsDiv.style.top=findPosY(selectArea)+selectAreaHeight-selectAreaOptionsOverlap+'px';for(var w=0;w<selects[q].options.length;w++){var optionHolder=document.createElement('p');var optionLink=document.createElement('a');var optionTxt=document.createTextNode(selects[q].options[w].text);optionLink.href="javascript:showOptions("+q+"); selectMe('"+selects[q].id+"',"+w+","+q+");";optionLink.appendChild(optionTxt);optionHolder.appendChild(optionLink);optionsDiv.appendChild(optionHolder);if(selects[q].options[w].selected){selectMe(selects[q].id,w,q)}}document.getElementsByTagName("body")[0].appendChild(optionsDiv)}}function showOptions(g){elem=document.getElementById("optionsDiv"+g);if(elem.className=="optionsDivInvisible"){elem.className="optionsDivVisible"}else if(elem.className=="optionsDivVisible"){elem.className="optionsDivInvisible"}elem.onmouseout=hideOptions}function hideOptions(e){if(!e)var e=window.event;var reltg=(e.relatedTarget)?e.relatedTarget:e.toElement;if(((reltg.nodeName!='A')&&(reltg.nodeName!='DIV'))||((reltg.nodeName=='A')&&(reltg.className=="selectButton")&&(reltg.nodeName!='DIV'))){this.className="optionsDivInvisible"};e.cancelBubble=true;if(e.stopPropagation)e.stopPropagation()}function selectMe(selectFieldId,linkNo,selectNo){selectField=document.getElementById(selectFieldId);for(var k=0;k<selectField.options.length;k++){if(k==linkNo){selectField.options[k].selected="selected"}else{selectField.options[k].selected=""}}textVar=document.getElementById("mySelectText"+selectNo);var newText=document.createTextNode(selectField.options[linkNo].text);textVar.replaceChild(newText,textVar.childNodes[0])}function selectEvent(e){if(!e)var e=window.event;var thecode=e.keyCode;switch(thecode){case 40:var fieldId=this.parentNode.parentNode.id.replace(/sarea/g,"");var linkNo=0;for(var q=0;q<selects[fieldId].options.length;q++){if(selects[fieldId].options[q].selected){linkNo=q}}++linkNo;if(linkNo>=selects[fieldId].options.length){linkNo=0}selectMe(selects[fieldId].id,linkNo,fieldId);break;case 38:var fieldId=this.parentNode.parentNode.id.replace(/sarea/g,"");var linkNo=0;for(var q=0;q<selects[fieldId].options.length;q++){if(selects[fieldId].options[q].selected){linkNo=q}}--linkNo;if(linkNo<0){linkNo=selects[fieldId].options.length-1}selectMe(selects[fieldId].id,linkNo,fieldId);break;default:break}}
function replaceTexts() {
	for(var q = 0; q < texts.length; q++) {
		texts[q].style.width = texts[q].size * 10 + 'px';
		txtLeft = document.createElement('img'); txtLeft.src = imagesPath + "input_left.gif"; txtLeft.className = "inputCorner";
		txtRight = document.createElement('img'); txtRight.src = imagesPath + "input_right.gif"; txtRight.className = "inputCorner";
		texts[q].parentNode.insertBefore(txtLeft, texts[q]);
		texts[q].parentNode.insertBefore(txtRight, texts[q].nextSibling);
		texts[q].className = "textinput";
		//create hovers
		texts[q].onfocus = function() {
			this.className = "textinputHovered";
			this.previousSibling.src = imagesPath + "input_left_xon.gif";
			this.nextSibling.src = imagesPath + "input_right_xon.gif";
		}
		texts[q].onblur = function() {
			this.className = "textinput";
			this.previousSibling.src = imagesPath + "input_left.gif";
			this.nextSibling.src = imagesPath + "input_right.gif";
		}
	}
}
function replaceTextareas() {
	for(var q = 0; q < textareas.length; q++) {
		var where = textareas[q].parentNode;
		var where2 = textareas[q].previousSibling;
		textareas[q].style.width = textareas[q].cols * 10 + 'px';
		textareas[q].style.height = textareas[q].rows * 10 + 'px';
		//create divs
		var container = document.createElement('div');
		container.className = "txtarea";
		container.style.width = textareas[q].cols * 10 + 20 + 'px';
		container.style.height = textareas[q].rows * 10 + 20 + 'px';
		var topRight = document.createElement('div');
		topRight.className = "tr";
		var topLeft = document.createElement('img');
		topLeft.className = "txt_corner";
		topLeft.src = imagesPath + "txtarea_tl.gif";
		var centerRight = document.createElement('div');
		centerRight.className = "cntr";
		var centerLeft = document.createElement('div');
		centerLeft.className = "cntr_l";
		if(!this.ie) {centerLeft.style.height = textareas[q].rows * 10 + 10 + 'px';}
		else {centerLeft.style.height = textareas[q].rows * 10 + 12 + 'px';}
		var bottomRight = document.createElement('div');
		bottomRight.className = "br";
		var bottomLeft = document.createElement('img');
		bottomLeft.className = "txt_corner";
		bottomLeft.src = imagesPath + "txtarea_bl.gif";
		//assemble divs
		container.appendChild(topRight);
		topRight.appendChild(topLeft);
		container.appendChild(centerRight);
		centerRight.appendChild(centerLeft);
		centerRight.appendChild(textareas[q]);
		container.appendChild(bottomRight);
		bottomRight.appendChild(bottomLeft);
		//insert structure
		where.insertBefore(container, where2);
		//create hovers
		textareas[q].onfocus = function() {
			this.previousSibling.className = "cntr_l_xon";
			this.parentNode.className = "cntr_xon";
			this.parentNode.previousSibling.className = "tr_xon";
			this.parentNode.previousSibling.getElementsByTagName("img")[0].src = imagesPath + "txtarea_tl_xon.gif";
			this.parentNode.nextSibling.className = "br_xon";
			this.parentNode.nextSibling.getElementsByTagName("img")[0].src = imagesPath + "txtarea_bl_xon.gif";
		}
		textareas[q].onblur = function() {
			this.previousSibling.className = "cntr_l";
			this.parentNode.className = "cntr";
			this.parentNode.previousSibling.className = "tr";
			this.parentNode.previousSibling.getElementsByTagName("img")[0].src = imagesPath + "txtarea_tl.gif";
			this.parentNode.nextSibling.className = "br";
			this.parentNode.nextSibling.getElementsByTagName("img")[0].src = imagesPath + "txtarea_bl.gif";
		}
	}
}
function buttonHovers() {
	for (var i = 0; i < buttons.length; i++) {
		buttons[i].className = "buttonSubmit";
		var buttonLeft = document.createElement('img');
		buttonLeft.src = imagesPath + "button_left.gif";
		buttonLeft.className = "buttonImg";
		buttons[i].parentNode.insertBefore(buttonLeft, buttons[i]);
		var buttonRight = document.createElement('img');
		buttonRight.src = imagesPath + "button_right.gif";
		buttonRight.className = "buttonImg";
		if(buttons[i].nextSibling) {buttons[i].parentNode.insertBefore(buttonRight, buttons[i].nextSibling);}
		else {buttons[i].parentNode.appendChild(buttonRight);}
		buttons[i].onmouseover = function() {
			this.className += "Hovered";
			this.previousSibling.src = imagesPath + "button_left_xon.gif";
			this.nextSibling.src = imagesPath + "button_right_xon.gif";
		}
		buttons[i].onmouseout = function() {
			this.className = this.className.replace(/Hovered/g, "");
			this.previousSibling.src = imagesPath + "button_left.gif";
			this.nextSibling.src = imagesPath + "button_right.gif";
		}
	}
}
function findPosY(obj) {var posTop = 0;while (obj.offsetParent) {posTop += obj.offsetTop; obj = obj.offsetParent;}return posTop;}function findPosX(obj) {var posLeft = 0;while (obj.offsetParent) {posLeft += obj.offsetLeft; obj = obj.offsetParent;}return posLeft;}window.onload = init;