/*OM*/
function hideItem(itmId)
{
	var curItm = document.getElementById(itmId);
	curItm.style.display='none';
}
function showItem(itmId)
{
	var curItm = document.getElementById(itmId);
	curItm.style.display='';
}


/*Change row colour*/
function sel(frm,cbox)
	{
	var ele=cbox
	while (ele.tagName!="TR")
		{ele=ele.parentElement;}
	if(cbox.checked)
		{ele.className="selbkg"}
	else
		{ele.className="dselbkg"}
	}

/*Select all checkboxes*/
function selectAll(frm, chkall, chkname)
	{
	var cboxes = eval("document." + frm.name + "." + chkname);
	if(cboxes != null)
		{
		if(cboxes.length>0)
			{
			for(var m=0; m < cboxes.length; m++)
				{
				cboxes[m].checked = chkall.checked;
				sel(frm, cboxes[m]);
				}
			}
		else
			{
			cboxes.checked = chkall.checked;
			sel(frm, cboxes);
			}
		}
	}

/*Check if single checkbox is selected*/
function isSingleSelected(frm, chkname, recs)
	{
	var cbox;
	var cnt = 0;
	if(recs == 0)
		{
		alert("no record selected");
		return false;
		}

	for(var m=1; m <= recs; m++)
		{
		cbox = eval("document." + frm.name + "." + chkname + "_" + m);
		if(cbox != null)
			{
			if(cbox.checked == true)
				{cnt++;}
			}
		}

	if(cnt == 1)
		{return true;}
	else
		{
		alert("Please select only a single record to proceed...");
		return false;
		}
	}

/*Check if any (1+) checkbox is selected*/
function isAnySelected(frm, chkname, recs)
	{
	var cbox;
	var cnt = 0;
	if(recs == 0)
		{
		alert("no record selected");
		return false;
		}

	for(var m=1; m <= recs; m++)
		{
		cbox = eval("document." + frm.name + "." + chkname + "_" + m);
		if(cbox != null)
			{
			if(cbox.checked == true)
				{cnt++;}
			}
		}

	if(cnt >= 1)
		{return true;}
	else
		{
		alert("Please select one or more record to proceed...");
		return false;
		}
	}

/*Open Popup Window*/
var popUpWin=0;
function popUpWindow(URLStr,mywidth,myheight,myleft,mytop,myscroll)
	{
	if(popUpWin)
		{
		if(!popUpWin.closed) 
			{popUpWin.close();}
		}
	popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=' + myscroll + ',resizable=no,copyhistory=yes,width='+mywidth+',height='+myheight+',left='+myleft+', top='+mytop+',screenX='+myleft+',screenY='+mytop+'');
	}

/*Open 2nd Popup Window*/
var popUpWin2=0;
function popUpWindow2(URLStr,mywidth,myheight,myleft,mytop,myscroll)
	{
	if(popUpWin2)
		{
		if(!popUpWin2.closed) 
			{popUpWin2.close();}
		}
	popUpWin2 = open(URLStr, 'popUpWin2', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=' + myscroll + ',resizable=no,copyhistory=yes,width='+mywidth+',height='+myheight+',left='+myleft+', top='+mytop+',screenX='+myleft+',screenY='+mytop+'');
	}


/*Check if single checkbox is selected*/
/*function isSingleSelected_bak(frm, chkname, recs)
	{
	if(recs == 0)
	  {
	  alert("no record");
	  return false;
	  }
	else
	  {
	  alert(eval("document." + frm.name + "." + chkname + "_" + 1));
	  alert("record found");
	  return false;
	  }
	
	var cboxes = eval("document." + frm.name + "." + chkname + "_" + 1);
	var cnt = 0;
	if(cboxes != null)
		{
		if(cboxes.length>0)
			{
			for(var m=0; m < cboxes.length; m++)
				{
				if(cboxes[m].checked == true)
					{cnt++;}
				}
			}
		else
			{
			if(cboxes.checked == true)
				{cnt++;}
			}
		}

	if(cnt == 1)
		{return true;}
	else
		{
		alert("Please select only a single row to proceed...");
		return false;
		}
	}
*/

//--- URL Encode for Javascript (used mostly in popup windows)
function urlencode(s) {
  s = encodeURIComponent(s);
  return s.replace(/~/g,'%7E').replace(/%20/g,'+');
 }



//--- Populate a Dropdownbox (select element) using AJAX
function getoptions2(frm, targetList, location, params, aCallbackFunction)
      {
		//var objSrcList = eval(frm.name + '.' + srcList);
		var objTargetList = eval('document.' + frm.name + '.' + targetList);
		
		//var frm1 = document.frm;
		//var prog = objSrcList.options[objSrcList.selectedIndex].value;
		//params = "pcode=" + prog;

		var XMLHttpRequestObject = getXMLHttpRequestObject();
	    //var XMLHttpRequestObject = false; 
   		
		/*
		var msxmlhttp = new Array( 
			'Msxml2.XMLHTTP.5.0', 
			'Msxml2.XMLHTTP.4.0', 
			'Msxml2.XMLHTTP.3.0', 
			'Msxml2.XMLHTTP', 
			'Microsoft.XMLHTTP'); 
		
		for (i=0;i<msxmlhttp.length;i++) 
		{ 
			try 
			{ 
				XMLHttpRequestObject = new ActiveXObject(msxmlhttp[i]); 
			} 
			catch (e) 
			{ 
				XMLHttpRequestObject = null; 
			} 
		} 
		if(!XMLHttpRequestObject && typeof XMLHttpRequest!= "undefined") 
		{ 
			XMLHttpRequestObject = new XMLHttpRequest(); 
		} 
		if (!XMLHttpRequestObject) 
		{ 
			XMLHttpRequestObject = false; 
		} 
		*/
		
        if(XMLHttpRequestObject) {
			
		var randomnumber;
		randomnumber = Math.floor(Math.random()*11) + '' + Math.floor(Math.random()*11) + '' + Math.floor(Math.random()*11) + '' + Math.floor(Math.random()*11);
		XMLHttpRequestObject.open("GET",location+"?" + params + "&a="+randomnumber, true); 
		
        XMLHttpRequestObject.onreadystatechange = function() 
          { 
		  	
            if (XMLHttpRequestObject.readyState == 4 && 
              XMLHttpRequestObject.status == 200) 
			{ 
			var tmpdiv;
	      
					var xmldoc = XMLHttpRequestObject.responseXML;
					//alert(xmldoc);
			
					var data_nodes = xmldoc.getElementsByTagName("data"); 
					var n_data = data_nodes.length;
					var combined_data;
					var sdesc, sequip, fulldesc;
					//alert(n_data);
					objTargetList.options.length = 1;
					
					for (i = 0; i < n_data; i++) {
						combined_data = "";
						var node_data_code = data_nodes[i].getElementsByTagName("data_code");
						var node_data_title = data_nodes[i].getElementsByTagName("data_title");
						
						tmp_data_code = unescape(node_data_code[0].firstChild.nodeValue.replace(/\+/g,' '));
						tmp_data_title = unescape(node_data_title[0].firstChild.nodeValue.replace(/\+/g,' '));
						//alert(brcode+brname);
						objTargetList.options.length += 1; 
						objTargetList.options[i+1].value = tmp_data_code;
						objTargetList.options[i+1].text = tmp_data_title;
						
						}
					
					if(!(aCallbackFunction === undefined))
					{
						aCallbackFunction();
					}
            } 
          } 

          XMLHttpRequestObject.send(null); 
        }
      }

//--- Get a new XML HTTP Request Object Old
function getXMLHttpRequestObjectOld()
{
	var XMLHttpRequestObject = false; 
	
	var msxmlhttp = new Array( 
		'Msxml2.XMLHTTP.5.0', 
		'Msxml2.XMLHTTP.4.0', 
		'Msxml2.XMLHTTP.3.0', 
		'Msxml2.XMLHTTP', 
		'Microsoft.XMLHTTP'); 
	
	for (i=0;i<msxmlhttp.length;i++) 
	{ 
		try 
		{ 
			XMLHttpRequestObject = new ActiveXObject(msxmlhttp[i]); 
		} 
		catch (e) 
		{ 
			XMLHttpRequestObject = null; 
		} 
	} 
	if(!XMLHttpRequestObject && typeof XMLHttpRequest!= "undefined") 
	{ 
		XMLHttpRequestObject = new XMLHttpRequest(); 
	} 
	if (!XMLHttpRequestObject) 
	{ 
		XMLHttpRequestObject = false; 
	} 
	
	
	
	xmlhttp=null;
	if (window.XMLHttpRequest)
	  {// code for Firefox, Mozilla, IE7, etc.
	  xmlhttp=new XMLHttpRequest();
	  }
	else if (window.ActiveXObject)
	  {// code for IE6, IE5
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	if (xmlhttp!=null)
	  {
	  xmlhttp.onreadystatechange=state_Change;
	  xmlhttp.open("GET",url,true);
	  xmlhttp.send(null);
	  }
	else
	  {
	  alert("Your browser does not support XMLHTTP.");
	  }

	
	
	
	return(XMLHttpRequestObject);
}

//--- Get a new XML HTTP Request Object
function getXMLHttpRequestObject()
{
	var XMLHttpRequestObject = null;
	if (window.XMLHttpRequest)
	{
		// code for Firefox, Mozilla, IE7, etc.
		XMLHttpRequestObject = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		// code for IE6, IE5
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return(XMLHttpRequestObject);
}

//--- Process a PHP script using AJAX and refresh contents (innerHTML) inside a Div or Label ---
function callAJAX(objTargetDiv, location, params, aCallbackFunction)
{
	//var objSrcList = eval(frm.name + '.' + srcList);
	//var objTargetList = eval(frm.name + '.' + targetList);
	//var objTargetDiv = document.getElementById();
	
	//var frm1 = document.frm;
	//var prog = objSrcList.options[objSrcList.selectedIndex].value;
	//params = "pcode=" + prog;

	var XMLHttpRequestObject = getXMLHttpRequestObject(); 
	
	if(XMLHttpRequestObject != null) 
	{
		var randomnumber;
		randomnumber = Math.floor(Math.random()*11) + '' + Math.floor(Math.random()*11) + '' + Math.floor(Math.random()*11) + '' + Math.floor(Math.random()*11);
		
		objTargetDiv.innerHTML = "Loading...";
		
		XMLHttpRequestObject.open("GET",location+"?" + params + "&a="+randomnumber, true); 
		
		XMLHttpRequestObject.onreadystatechange = function() 
		{ 
		
			if (XMLHttpRequestObject.readyState == 4 && 
				XMLHttpRequestObject.status == 200) 
			{ 
				var text_html_output = XMLHttpRequestObject.responseText;
				if(objTargetDiv)
				{
					objTargetDiv.innerHTML = text_html_output;
				}
				if(!(aCallbackFunction === undefined))
				{
					aCallbackFunction(text_html_output);
				}
			} 
		} 

		XMLHttpRequestObject.send(null); 
	}
}
