////////////////////////////////////////// FANCY WAY TO GET THE DOCUMENT ELEMENT/////////////////////////////////////////*type=id|name (you can specify getElementByID or getElementByName)*/function get_element(el_id,doc_id) {	if(document.getElementById) {		return document.getElementById(el_id);	}	if( document.all ) {		return document.all[el_id]; 	}	if( !doc_id ) { 		doc_id = document; 	}	if( document.layers ) {		if( doc_id.layers[el_id] ) { 			return doc_id.layers[el_id]; 		} else {			//repeatedly run through all child layers			for( var x = 0, y; !y && x < doc_id.layers.length; x++ ) {				//on success, return that layer, else return nothing				y = getRefToDiv(el_id,doc_id.layers[x].document); 			}			return y; 		}	}	return false;}///////////////////// IMAGE SWAPPING///////////////////function swap_image(id, img_src) {	id_el = get_element(id);		if(!id_el) {		return false;	}		o_img_src = id_el.src;	id_el.src = img_src;}function swap_image_restore() {	id_el.src = o_img_src;}function preload_images(images) {	images = images.replace(" ","");	images = images.split(",");	var tmp = null; 	for (var a=0; a<images.length; a++) { 		tmp = images[a]; 		images[a] = new Image(); 		images[a].src = tmp;	}}///////////////////// OTHER MISC///////////////////function open_window(url,name,features) {  window.open(url,name,features);}function go_to_url(location) {	window.location.href = location;}////////////////////////////////////////////////////////////// FUNCTION TO CLEAR THE "VALUE" OF A FORM INPUT////////////////////////////////////////////////////////////function input_focus(el, default_value, replace) {	if(typeof replace == 'undefined') {		replace='';	}	if(typeof default_value != 'undefined') {		window['saved_value_'+el.name] = default_value;	} else if(typeof window['saved_value_'+el.name] == 'undefined') {		window['saved_value_'+el.name] = el.value;	}		if(window['saved_value_'+el.name]) {		if(el.value == window['saved_value_'+el.name]) {			el.value = replace;		}	} else {		el.value = replace;	}}function input_blur(el, replace) {	if(typeof(replace) == 'undefined' 	&& typeof(window['saved_value_'+el.name]) != 'undefined') {		replace = window['saved_value_'+el.name];	} else if(typeof(replace) == 'undefined') {		replace='';	}	if (el.value === '') {		el.value = replace;	}}////////////////////// SHOW/HIDE LAYER////////////////////// TOGGLE ELEMENTS BASED ON VALUE OF (select|checkbox|radio)function toggle_display(trigger_id, trigger_value, target_id, toggle_type, trigger_comparison) {		// CONVERT TO ARRAY	if(is_array(trigger_value) == false) {		var trigger_value = new Array(trigger_value);	}		// CONVERT TO ARRAY	if(is_array(target_id) == false) {		var target_id = new Array(target_id);	}	// GET ELEMENTS	var elem_trigger_id = get_element(trigger_id);	var check_value = false;		// fail if no element exists	if(!elem_trigger_id) {		return false;	}			// GET VALUE	if(elem_trigger_id.type.search(/(radio|checkbox)/i) != -1) {		// GET VALUE OF ELEMENTS		var elements = elem_trigger_id.form.elements[elem_trigger_id.name];		var trigger_id_value = get_checked_value(elements);	} else if(elem_trigger_id.type.search(/(select-one|select-multiple|text|hidden)/i) != -1) {		var trigger_id_value = elem_trigger_id.value;	} else {		return false;	}			// TEST VALUE (if it's not disabled)	// if trigger is disabled then the value is irrelevant	if(elem_trigger_id.disabled == false) {		for(var a=0; a<trigger_value.length; a++) {			if(trigger_comparison == "!=") {				if(trigger_id_value != trigger_value[a]) {					check_value = true;					break;				}			} else if(trigger_comparison == ">") {				if(trigger_id_value > trigger_value[a]) {					check_value = true;					break;				}			} else if(trigger_comparison == "<") {				if(trigger_id_value < trigger_value[a]) {					check_value = true;					break;				}			} else if(trigger_comparison == "==" || trigger_comparison == "=") {				// allow for array				if(trigger_id_value.search(/<array>/i) != -1) {					trigger_id_value = trigger_id_value.split('<array>');					for(var b=0; b<trigger_id_value.length; b++) {						if(trigger_id_value[b] == trigger_value[a]) {							check_value = true;							break;						}					}				} else {					if(trigger_id_value == trigger_value[a]) {						check_value = true;						break;					}				}			}		}	}			if(check_value === true) {		var execute_toggle = true;	}				// toggle on or off if set to toggle, based on check_value match	if(toggle_type != "show" && toggle_type != "hide") {		if(check_value === true) {			toggle_type="show";		} else {			toggle_type="hide";		}		execute_toggle = true;	}		// EXECUTE FOR EACH TARGET		for(var a=0; a<target_id.length; a++) {			if(execute_toggle === true) {			toggle_visibility(target_id[a], toggle_type);		}	}	}// BACKWARD COMPATIBLE NAME, (deprecated)function trigger_toggle_visibility(trigger_id, trigger_comparison, trigger_value, target_id, toggle_type) {	toggle_display(trigger_id, trigger_value, target_id, toggle_type, trigger_comparison);}// TOGGLE VISIBILITYfunction toggle_visibility(id,action) {	// GET ELEMENTS	var elem_id = get_element(id);	// fail if no element exists	if(!elem_id || !elem_id.style) {		return false;	}	if(action=="show") {		var visibility_value = 'visible';		var display_value = '';		var disable_value = false;	} else if(action=="hide") {		var visibility_value = 'hidden';		var display_value = 'none';		var disable_value = true;	}	// TOGGLE	elem_id.style.visibility=visibility_value;	elem_id.style.display=display_value;	elem_id.disabled = disable_value;}function select_warning(msg1, id, msg2) {		var elem_select = get_element(id);		// fail if no element exists	if(!elem_select.style) {		return false;	}		var select_text = elem_select.options[elem_select.selectedIndex].text;		var results = confirm(msg1+select_text+msg2);		return results;}// SET SELECTED ELEMENTfunction set_selected(cookie_name, id, p) {	if(typeof p == 'undefined') {		p='/';	}	Cookie.set(cookie_name, id, {path: p});}// CHECK IF AN OBJECT IS AN ARRAY OR A STRING/* Returns true if is an array*/function is_array(obj) {    return obj.constructor == Array;}// GET THE VALUE OF THE RADIO OBJECTfunction get_checked_value(obj) {	if(!obj) {		return "";	}		var len = obj.length;	if(typeof len == 'undefined') {		if(obj.checked) {			return obj.value;		} else {			return "";		}	}	for(var i = 0; i < len; i++) {		if(obj[i].checked) {			return obj[i].value;		}	}	return "";}function dump(arr){	var dumped_text = "";		//Array/Hashes/Objects	if(typeof(arr) == 'object')	{		for(var item in arr)		{			var value = arr[item];						//If it is an array			if(typeof(value) == 'object')			{				dumped_text += '<ul>' + "<li>" + item + "<ul>";				dumped_text += dump(value);				dumped_text += '</ul></li></ul>';			}			else			{				dumped_text += "<li>'" + item + "' => \"" + value + "\"</li>";			}		}	}	//Stings/Chars/Numbers etc	else	{		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";	}		return dumped_text;}