

	
	
	function checkboxCheckerUnchecker(form_name, id_group, group_number) {
		var cb; //checkbox object
		cb = document[form_name][id_group][group_number];

		if (cb.checked) { cb.checked = false }
		else cb.checked = true;
		
	}


	function cleanstring(str) {
		var mystr 
		var i
		for (i = 0; i <= str.length; i++) {
			mystr = str.replace(/'/g,"\\'");
		}
		
		return mystr;
	}


	

	var setBinaryTimeout;
	function setBinaryOption(checkbox, db_table, db_field, db_id, db, id_field) {
		var url = '';
		var value;
		
		
		if (checkbox.checked) { value = 1; }
		else { value = 0; }
		
		url += '/includes/set_binary_option.php?';
		url += 'db_table='+ db_table;
		url += '&db_field='+ db_field;
		url += '&db_id='+ db_id;
		url += '&db='+ db;
		url += '&id_field='+ id_field;
		url += '&value='+ value;
		
		//alert(url);
		clearTimeout(setBinaryTimeout);
		urlToTargetDiv(url, 'binary_status');
		setBinaryTimeout = setTimeout("document.getElementById('binary_status').style.display = 'none';", 1800);
	}
	
	
	
	
	
	var cpAjaxSQLTimeout;
	function cpAjaxSQL(sql, db) {
		
		var url = '';
		
		url += '/includes/ajax/ajax_sql.php?';
		url += 'sql='+ escape(sql);
		url += '&db='+ db;
		
		clearTimeout(cpAjaxSQLTimeout);
		urlToTargetDiv(url, 'ajax_status');
		setcpAjaxSQLTimeout = setTimeout("document.getElementById('ajax_status').style.display = 'none';", 2500);
	}
	
	
	
	





	

	var setEnumTimeout;
	function setEnumOption(db_table, db_field, db_id, db_value) {
		var url = '';
		
		
		url += '/includes/set_enum_option.php?';
		url += 'db_table='+ db_table;
		url += '&db_field='+ db_field;
		url += '&db_id='+ db_id;
		url += '&value='+ db_value;
		
		//alert(url); return;
		
		clearTimeout(setEnumTimeout);
		urlToTargetDiv(url, 'binary_status');
		setEnumTimeout = setTimeout("document.getElementById('binary_status').style.display = 'none';", 1800);
	}
	
	
	
	
	



	
	
	
	
	

	var oneToManyTimeout;
	function setOneToManyOption(checkbox, db_table, db_field_left_id, db_field_left_name, db_field_right_id, db_field_right_name) {
		var url = '';
		var value;
		
		
		if (checkbox.checked) { insert = 1; }
		else { insert = 0; }
		
		url += '/includes/set_one_to_many_option.php?';
		url += 'db_table='+ db_table;
		url += '&insert='+ insert;
		url += '&db_field_left_id='+ db_field_left_id;
		url += '&db_field_left_name='+ db_field_left_name;
		url += '&db_field_right_id='+ db_field_right_id;
		url += '&db_field_right_name='+ db_field_right_name;
		
		//alert(url);
		clearTimeout(oneToManyTimeout);
		urlToTargetDiv(url, 'one_to_many_status');
		oneToManyTimeout = setTimeout("document.getElementById('one_to_many_status').style.display = 'none';", 1800);
	}
	
	
	
	
	
	
	
	
	
	
	
	
	

	//http://www.w3schools.com/xml/xml_http.asp

	var xmlhttp
	function urlToTargetDiv(url, div_name, no_close_link) {
		var runDotsTimeout = setInterval('runDots(\''+ div_name +'\')', 200);
		
		function urlToTargetDivStateChange() {


			// if xmlhttp shows "loaded"
			if (xmlhttp.readyState==4) {
				clearInterval(runDotsTimeout);
				// if "OK"
				
				mydiv = document.getElementById(div_name);
				
				
				if (xmlhttp.status==200) {
					mydiv.innerHTML = xmlhttp.responseText;
					if (no_close_link != 0) mydiv.innerHTML += '<hr><div align="center"><a onClick="document.getElementById(\''+ div_name +'\').style.display=\'none\';">close</a></div>';
					
					if (window.pageYOffset) mydiv.style.top = window.pageYOffset + 110 +'px';
					mydiv.style.display = 'block';

					//setTimeout('mydiv.style.display=\'none\';', 1300);
				}
				else {
					mydiv.innerHTML="<div style=\"font-weight: bold; color: #f00;\">Problem Retrieving File</div>"+ url +"<br><strong>Status:</strong> " + xmlhttp.statusText;
					if (no_close_link != 0) mydiv.innerHTML += '<hr><div align="center"><a onClick="document.getElementById(\''+ div_name +'\').style.display=\'none\';">close</a></div>';
					mydiv.style.display = 'block';
				}
			}
		}//urlToTargetDivStateChange()



		// code for Mozilla, etc.
		if (window.XMLHttpRequest) {
			xmlhttp=new XMLHttpRequest();
			xmlhttp.onreadystatechange=urlToTargetDivStateChange;
			xmlhttp.open("GET",url,true);
			xmlhttp.send(null);
		}
		// code for IE
		else if (window.ActiveXObject) {
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
			if (xmlhttp) {
				xmlhttp.onreadystatechange=urlToTargetDivStateChange;
				xmlhttp.open("GET",url,true);
				xmlhttp.send();
			}
		}
	}
	

	function runDots(div_name) {
		document.getElementById(div_name).innerHTML = document.getElementById(div_name).innerHTML+' . ';
	}







	var http_request = false;
	function makePOSTRequest(url, parameters) {
		http_request = false;
		if (window.XMLHttpRequest) { // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/xml');
			}
		} else if (window.ActiveXObject) { // IE

			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e) {}
			}
		}
		if (!http_request) {
			alert('Cannot create XMLHTTP instance');
			return false;
		}
	
		http_request.onreadystatechange = returnContents;
		
		http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.setRequestHeader("Content-length", parameters.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(parameters);
		
	}//makePOSTRequest
	
	
	

	
	var lastResult;
	function returnContents() {
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				//alert(http_request.responseText);
				result = http_request.responseText;
				document.getElementById('myspan').innerHTML = result;
				//alert(result);
				lastResult = result;
			} else {
				alert('There was a problem with the request.');
				return false;
			}
		}
	}
	
	
		
		

	
	
	
	/*
======================================================================
JavaScript XMLHttpRequest object builder
Author: Alessandro Lacava http://www.alessandrolacava.com
Created: Jul 25th, 2006.
Description: Build and return the object used to perform AJAX calls.
======================================================================
*/

// The following function creates an XMLHttpRequest object
function createHttpRequest()
{
	if (typeof XMLHttpRequest != "undefined") //NOT IE
	{
		return new XMLHttpRequest();
	}
	else if (window.ActiveXObject) // IE
	{
		var sVersions = [ "MSXML2.XMLHttp.5.0",
		"MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",
		"MSXML2.XMLHttp","Microsoft.XMLHttp"
		];

		// Try to get an instance of the newer version.
		// If it is not available go down till the oldest one
		for (var i = 0; i < sVersions.length; i++)
		{
			try
			{
				var ret = new ActiveXObject(sVersions[i]);
				return ret;
			}
			catch (oException)
			{
				// Do nothing. Just go on trying with the older versions
			}
		}
	}
	// If it gets here then no version is available
	alert("XMLHttpRequest object could not be created.");
	return false;
}