var selectedOption=-1;
var nf_timer = null;
function catchError() { return true; } window.onerror = catchError; 
var selects; var inputs; var radios = new Array(); var checkboxes = new Array(); var hovers = new Array(); var buttons = new Array(); var selectText = "select///"; var obj_radio; function init() { if(findPosX(document.getElementById('stylesheetTest')) == -999) { /*replaceSelects();*/ replaceRadios(); replaceCheckboxes();}
hoverEffects(); buttonHovers();}
function select_cbox(obj,resid,val){ if (obj.className=="checked"){ obj.className="unchecked"; targ=document.getElementById(resid).value.split(val+";"); if(targ.length>1){ document.getElementById(resid).value=targ[0]+targ[1];}else{ alert("Error in script");}
}else{ obj.className="checked"; document.getElementById(resid).value+=val+";";}
}
function select_rad(obj,resid, idtemp,val){ if (obj.className=="unraded"){ if(document.getElementById(idtemp).value!=""){ document.getElementById(document.getElementById(idtemp).value).className="unraded";}
obj.className="raded"; document.getElementById(idtemp).value=obj.id; document.getElementById(resid).value=val;}
}
function replaceRadios() { var inputs = document.getElementsByTagName('input'); var j = 0; for(var i=0; i < inputs.length; i++) { if(inputs[i].type=='radio') { radios[j] = inputs[i]; ++j;}
}
for(var i=0; i <radios.length; i++) { radios[i].className = "transparent"; var x = findPosX(radios[i]); var y = findPosY(radios[i]); var radioArea = document.createElement('div'); if(radios[i].checked) { radios[i].nextSibling.className = "chosen"; radioArea.className = "radioAreaChecked";}
else if(!radios[i].checked) {radioArea.className = "radioAreaUnchecked";}
radioArea.style.left = x + 'px'; radioArea.style.top = y + 'px'; radioArea.id = 'myRadio'+i; radios[i].onclick = new Function('checkRadio('+i+')'); document.getElementsByTagName("body")[0].appendChild(radioArea);}
}
function replaceCheckboxes() { var inputs = document.getElementsByTagName('input'); var j = 0; for (var i2=0; i2 < inputs.length; i2++) { if(inputs[i2].type=='checkbox') { checkboxes[j] = inputs[i2]; ++j;}
}
for(var i2=0; i2 < checkboxes.length; i2++) { checkboxes[i2].className = "transparent"; var x = findPosX(checkboxes[i2]); var y = findPosY(checkboxes[i2]); var checkboxArea = document.createElement('div'); if(checkboxes[i2].checked) {checkboxes[i2].nextSibling.className = "chosen"; checkboxArea.className = "checkboxAreaChecked";}
else if(!checkboxes[i2].checked) {checkboxArea.className = "checkboxAreaUnchecked";}
checkboxArea.style.left = x + 'px'; checkboxArea.style.top = y + 'px'; checkboxArea.id = 'myCheck'+i2; tlp=checkboxes[i2].onclick.toString(); tlp=tlp.split("\{"); tlp=tlp[1].split("\}"); functor=tlp[0]; checkboxes[i2].onclick = new Function('checkCheck('+i2+');'+functor+''); checkboxArea.onclick = new Function('checkCheck('+i2+');'+functor+''); document.getElementsByTagName("body")[0].appendChild(checkboxArea);}
}
function replaceSelects() { selects = document.getElementsByTagName('select');
 for(var i=0; i < selects.length; i++) { 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(selects[i].options[selects[i].selectedIndex].text);
 if(selects[i].style.width){ pxint=parseInt(selects[i].style.width);
 pxint-=40;
 center.style.width=pxint+"px";
 rexze=1;}else{ rexze=0;}
center.id = "mySelectText"+i;
 button.href="javascript:showOptions("+i+")";
 selectArea.className = "selectArea";
 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[i].style.display='none';
 selects[i].parentNode.insertBefore(selectArea, selects[i]);
 var optionsDiv = document.createElement('div');
 optionsDiv.className = "optionsDivInvisible";
 optionsDiv.id = "optionsDiv"+i;
 optionsDiv.style.left = findPosX(selectArea) + 'px';
 optionsDiv.style.top = findPosY(selectArea) + 19 + 'px';
 optionsDiv.onmouseout = function(){ 
 			if(selectedOption>-1){
			nf_timer = window.setTimeout("showOptions("+selectedOption+")", 600);	
				}
 };
  optionsDiv.onmouseover = function(){ 
 			if(selectedOption>-1){
			window.clearTimeout(nf_timer);	
				}
 };
 if(rexze){ optionsDiv.style.width =(pxint+20)+'px';
}
try { tlp=selects[i].onchange.toString();
 if(tlp!="undefined"){ tlp=tlp.split("\{");
 tlp=tlp[1].split("\}");
 functor=tlp[0];
}
}catch (e) { functor="";
}
for(var j=0;
 j < selects[i].options.length;
 j++) { var optionHolder = document.createElement('p');
 var optionLink = document.createElement('a');
 if(selects[i].options[j].className=="option_level1"){
var optionTxt = document.createTextNode(" - "+selects[i].options[j].text);
 }else{
var optionTxt = document.createTextNode(selects[i].options[j].text);	 
	 }
  
 if(selects[i].options[j].disabled){ optionLink.href = "javascript:showOptions("+i+"); selectMe('"+selects[i].id+"',"+(j+1)+","+i+");"+functor;
}else{ optionLink.href = "javascript:showOptions("+i+"); selectMe('"+selects[i].id+"',"+j+","+i+");"+functor;
}
optionLink.appendChild(optionTxt);
 optionHolder.appendChild(optionLink);
 optionsDiv.appendChild(optionHolder);
}
try{ document.getElementById(optionsDiv.id).innerHTML="";
}catch (e){ document.getElementsByTagName("body")[0].appendChild(optionsDiv);
}
}
}
function updateSelects() { selects = document.getElementsByTagName('select');
 for(var i=0;
 i < selects.length;
 i++) { optdivid = "optionsDiv"+i;
 document.getElementById(optdivid).innerHTML="";
 try { tlp=selects[i].onchange.toString();
 if(tlp!="undefined"){ tlp=tlp.split("\{");
 tlp=tlp[1].split("\}");
 functor=tlp[0];
}
}catch (e) { functor="";
}
for(var j=0;
 j < selects[i].options.length;
 j++) { var optionHolder = document.createElement('p');
 var optionLink = document.createElement('a');
  if(selects[i].options[j].className=="option_level1"){
var optionTxt = document.createTextNode(" - "+selects[i].options[j].text);
 }else{
var optionTxt = document.createTextNode(selects[i].options[j].text);	 
	 }

 if(selects[i].options[j].disabled){ optionLink.href = "javascript:showOptions("+i+"); selectMe('"+selects[i].id+"',"+(j+1)+","+i+");"+functor;
}else{ 
optionLink.href = "javascript:showOptions("+i+"); selectMe('"+selects[i].id+"',"+j+","+i+");"+functor;
}
optionLink.appendChild(optionTxt);
 optionHolder.appendChild(optionLink);
 document.getElementById(optdivid).appendChild(optionHolder);
}
}
}
function showOptions(g) { 
elem = document.getElementById("optionsDiv"+g); 
/*
	if(selectedOption>-1 && selectedOption!=g){
		sopttemp=selectedOption;
	selectedOption=-1;
	alert(sopttemp);
	showOptions(sopttemp);
	
	}
	*/
if(elem.className=="optionsDivInvisible") {
	elem.className = "optionsDivVisible"; 
	if(selectedOption>-1 && selectedOption!=g){
		sopttemp=selectedOption;
		showOptions(sopttemp);
	
	}
	selectedOption=g;
	
	}else if(elem.className=="optionsDivVisible") {
		
	elem.className = "optionsDivInvisible"; 
	selectedOption=-1;
		
		}
	

}
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].innerHTML); textVar.replaceChild(newText, textVar.childNodes[0]);}
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;}
function checkRadio(g) { if(radios[g].checked) { for (var k = 0; k < radios.length; k++)
{ if(k != g) { document.getElementById('myRadio'+k).className = "radioAreaUnchecked"; radios[k].nextSibling.className = "";}
else if(k == g) { document.getElementById('myRadio'+k).className = "radioAreaChecked"; radios[g].nextSibling.className = "chosen";}
}
}
else if(!radios[g].checked) {document.getElementById('myRadio'+g).className = "radioAreaUnchecked"; radios[g].nextSibling.className = "";}
}
function checkCheck(g) { checkboxes[g].checked=!checkboxes[g].checked; if(checkboxes[g].checked) { for(var k = 0; k < checkboxes.length; k++) { if(k == g) { document.getElementById('myCheck'+k).className = "checkboxAreaChecked";}
}
}
else if(!checkboxes[g].checked) { document.getElementById('myCheck'+g).className = "checkboxAreaUnchecked";}
}
function hoverEffects() { var elements = document.getElementsByTagName('input'); var j = 0; for (var i4 = 0; i4 < elements.length; i4++) { if((elements[i4].type=='text')||(elements[i4].type=='password')) { hovers[j] = elements[i4]; ++j;}
}
elements = document.getElementsByTagName('textarea'); for (var i4 = 0; i4 < elements.length; i4++) { hovers[j] = elements[i4]; ++j;}
for (var i4 = 0; i4 < hovers.length; i4++) { hovers[i4].onfocus = function() {this.className += "Hovered";}
hovers[i4].onblur = function() {this.className = this.className.replace(/Hovered/g, "");}
}
}
function buttonHovers() { var elements = document.getElementsByTagName('input'); var j = 0; for (var i5 = 0; i5 < elements.length; i5++) { if(elements[i5].type=='submit') { buttons[j] = elements[i5]; ++j;}
}
for (var i5 = 0; i5 < buttons.length; i5++) { buttons[i5].onmouseover = function() {this.className += "Hovered";}
buttons[i5].onmouseout = function() {this.className = this.className.replace(/Hovered/g, "");}
}
}
