
	var arFormError = new Array();

	/*Array.prototype.find=function(s){
	  for(i=0;i<this .length;i++){
		if(s==this[i]) return true;
	  }
	  return false;
	}*/

	function ClickFormTitle(bDisplay,form_name){
	
		if(bDisplay){
			ln = 'none';
			tb = '';
		}else{
			ln = '';
			tb = 'none';
		}
		
		gById('ln_' +form_name).style.display = ln;
		gById('tb_' +form_name).style.display = tb;
		
		
	}
	
	
	function savesearchform(form_name){
		
		d 		= document.createElement("INPUT");
		d.type 	= 'hidden';
		d.name 	= "h_save_label";
		d.value = 1;
		
		el 		= document.getElementsByName(form_name);
		if(el.length == 0){
			alert(form_name + ' is not defined');
			return
		}
	
		el[0].appendChild(d);
		
		if(!submitform(form_name))
			el[0].removeChild(d);
		
	}
	
	function display_csf_save_box(form_name, el){ //this is for csearch_form()
		document.forms[form_name].elements[el].style.display = '';
	}
	
	
	function submitform(form_name){
		if(eval("submit_" + form_name + "()"))
			document.forms[form_name].submit();
	}
	

	var ar_dyn_el = Array();
	function ShowDynEl(id, index){

		if(ar_dyn_el[id] == undefined)
			return;

		for(i=0; i< ar_dyn_el[id].length; i++){
			ar = ar_dyn_el[id][i];
			if(ar['attached_id'] == index)
				gById(ar['tr_id']).style.display	= '';
			else
				gById(ar['tr_id']).style.display	= 'none';
		}
	}

	function DynamicCheckbox(tthis){
		if(tthis.checked)
			ShowDynEl(tthis.id, 1);
		else
			ShowDynEl(tthis.id, 0);

	}

	function DynamicDD(tthis){
		ShowDynEl(tthis.id, tthis.options[tthis.selectedIndex].value);

	}

	function highliteTR(tthis){
		
		ptr = tthis;
		while(ptr.tagName != "TR")
			ptr = ptr.parentNode;
	
		if(tthis.checked){
			Util.addClass(ptr, 'green');
			Util.addClass(ptr, 'green_alert');
			//ptr.className='red red_alert';
		}else{
			Util.removeClass(ptr, 'green');
			Util.removeClass(ptr, 'green_alert');		
			//ptr.className='';
		}
		
		
	}

	function SpellCorrect(obj, str, js_callback){

		obj.value						= str;
		
		if(js_callback == undefined)
			obj.className					= 'valide_ok';
		else
			js_callback();
		
		obj = gById('x' + obj.id);
		if(obj != null)
			obj.innerHTML	= '&nbsp;';
	
	}


	function ClickCheckbox(tthis, bDynamic){

		//can click the entire checkbox and label

		if(tthis.checked == true)
			tthis.checked = false;
		else
			tthis.checked = true;
		
		if(bDynamic)
			DynamicCheckbox(tthis);
	
	}

	function HideFormErrToolTip(d){

		if(arFormError[d.id] != null){
			
			arFormError[d.id].style.visibility = 'hidden';

		}

	}

	function DrawFormErrToolTip(str,d, bBeforeObj){

		//bBeforeObj, is it before (left) or after (right) the obj element

		if(arFormError[d.id] == null){
		//create tooltip
			
			var dt = document.createElement("DIV");
			dt.style.position				=	"absolute";
			dt.style.height					=	'19px';

			var st = document.createElement("SPAN");
			st.className = 'red_alert red'
			
			//create img arrow
			var img = document.createElement("img");
			img.style.verticalAlign			=	'middle';

			if(bBeforeObj){				
				dt.appendChild(st);
				img.src = "/images/form/_right.gif";
				dt.appendChild(img);
			}
			else{
				img.src = "/images/form/_left.gif";
				dt.appendChild(img);
				dt.appendChild(st);
			}

			document.body.appendChild(dt);
			arFormError[d.id] = dt;

		}else
			dt = arFormError[d.id];


		if(bBeforeObj)
			dt.childNodes[0].innerHTML			=	str;
		else
			dt.childNodes[1].innerHTML			=	str;
		
//position

		dt.style.top			=	(getOffsetTop(d,	true)) +  'px'; // (getOffsetTop(d,	true) + d.offsetHeight) +  'px';

		
		if(bBeforeObj)
			dt.style.left		=	(getOffsetLeft(d,	true) - dt.offsetWidth - 5) +  'px';
		else
			dt.style.left		=	(getOffsetLeft(d,	true) + d.offsetWidth + 5) +  'px';

//make it visible i was hidden
		dt.style.visibility	=	"visible";

	}

	

//get querystring values
	
	
	function GetCheckboxJsValue(obj){

		if(!obj.checked)
			return "";
		
		return "&"+obj.name + "=" + obj.value;
		
	}
	
	
	
	


///form extensions


//size

		function inchToCm(fm_name, name, min_cm){

			var f = eval('document.forms["' + fm_name + '"].' + name + '_feet');
			var i = eval('document.forms["' + fm_name + '"].' + name + '_inch');
			var c = eval('document.forms["' + fm_name + '"].' + name + '_cm');

			if(f.selectedIndex == 0 || i.selectedIndex == 0){
				c.selectedIndex = 0;
				eval('document.forms["' + fm_name + '"].h_' + name).value = -1; //default
				return;
			}

			cm  = f.options[f.selectedIndex].value * 12;
			cm += parseInt(i.options[i.selectedIndex].value,0,10);
			cm  = Math.round(cm * 2.54);

			index = (cm - min_cm) +1;

			if(c.length > index)
				c.selectedIndex = index;
			else{
				c.selectedIndex = 0;
			}

			eval('document.forms["' + fm_name + '"].h_' + name).value = cm;
		
		}

		function cmToInch(fm_name, name, min_feet){

			var f = eval('document.forms["' + fm_name + '"].' + name + '_feet');
			var i = eval('document.forms["' + fm_name + '"].' + name + '_inch');
			var c = eval('document.forms["' + fm_name + '"].' + name + '_cm');

			if(c.selectedIndex == 0){
				f.selectedIndex = 0;
				i.selectedIndex = 0;
				eval('document.forms["' + fm_name + '"].h_' + name).value = -1; //default
				return;
			}

			inch	= Math.round(c.options[c.selectedIndex].value/2.54);
			feet	= Math.floor(inch/12);
			inch   %= 12;

			f.selectedIndex = (feet-min_feet) +1;
			i.selectedIndex = (inch) +1;

			eval('document.forms["' + fm_name + '"].h_' + name).value = parseInt(c.options[c.selectedIndex].value,0,10);

		}	