function FindControl(controlName) {
	for ( var i = 0; i < document.forms.length; i++ ) {
		var theForm = document.forms[i];
		var theControl = theForm[controlName];
		if ( theControl != null ) {
			return theControl;
		}
	}
	return null;
}
function openMQ(stringMQ){
	var features = "width=600,height=600,location=no,toolbar=no,menubar=no,scrollbars=yes,resizable=yes";
	var childWindow =window.open(stringMQ, "childWin",features);
	if (childWindow.opener == null){
		childWindow.opener = self;	
	}	
}
function SendEmail(id){
	var features = "width=440,height=370,location=no,toolbar=no,menubar=no,scrollbars=auto,resizable=no";
	var childWindow = window.open("../Email/" + id + ".aspx", "childWin",features);	
}

function ms_trim(s)
{
	// will convert to string if necessary
	s += "";
	var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
	return (m == null) ? "" : m[1];
}

function isListCtrl(ctrl)
{
	var obj = getCtrlRef(ctrl);
	var isList;
	var type;

	if (obj.type)
	{	type = obj.type;	}
	else
	{	type = "";	}

	switch(type)
	{
		case "select-multiple":
		case "select-one":
			isList = true;
			break;
		default:
			isList = false;
			break;
	}
	
	return isList; 
}

function isTextCtrl(ctrl)
{
	var obj = getCtrlRef(ctrl);
	var isVal;
	var type;

	if (obj.type)
	{	type = obj.type;	}
	else
	{	type = "";	}

	switch(type)
	{
		case "text":
		case "textarea":
			isVal = true;
			break;
		default:
			isVal = false;
			break;
	}
	
	return isVal; 
}

function isCheckedCtrl(ctrl)
{
	var obj = getCtrlRef(ctrl);
	var isChk;
	var type;

	if (obj.type)
	{	type = obj.type;	}
	else
	{	type = "";	}

	switch(obj.type)
	{
		case "radio":
		case "checkbox":
			isChk = true;
			break;
		default:
			isChk = false;
			break;
	}
	
	return isChk; 
}


function isBlank(ctrlID)
{
	var frm = document.forms[0];
	var ctrl;
	
	ctrl = getCtrlRef(ctrlID);
	
	if (!ctrl)
	{
		alert("isBlank(): Cannot find control -> " + ctrlID);
		return true;
	}

	var val = ctrl.value;
	val = ms_trim(val);

	if (isListCtrl(ctrl))
	{
		if (val != "")
		{
			var optText = ctrl.options[ctrl.selectedIndex].text;
			
			if (optText == "(N/A)")
			{	val = "";	}
		}
	}
	else
	{
		ctrl.value = val;
	}

	return (val == "");
}


function getCtrlRef(obj)
{
	var frm = document.forms[0];
	var ctrl;

	if (frm[obj])
	{	ctrl = frm[obj];	}
	else if (document.getElementById(obj))
	{	ctrl = document.getElementById(obj);	}
	else
	{	ctrl = obj;	}
	
	if (ctrl)
	{	return ctrl;	}
	else
	{	throw "error->getCtrlRef(): cannot get reference to " + ctrl;	}
}

function checkNumber(ctrlID)
{
	var isOk = true;
	var ctrl = getCtrlRef(ctrlID);
	
	if (!isBlank(ctrl) && isNaN(ctrl.value))
	{
		alert("Please input a valid number.");
		ctrl.value = "";
		ctrl.focus();

		isOk = false;
	}
	
	return isOk;
}



function formatMoney(ctrlID)
{
	var ctrl = getCtrlRef(ctrlID);
	var re = /[$, ]/g;
	var money = "";
	var ctrlValue = ctrl.value.replace(re, "");

	var num = Number(ctrlValue);

	if ( isBlank(ctrlID) )
	{
		ctrl.value = "";
		return;
	}
	
	if ( isNaN(num) )
	{
		ctrl.focus();
		alert("Please enter a valid amount.");
		ctrl.select();
	}
	else
	{
		var sign = "";
		
		if (num < 0)
		{	sign = "-";	}
		
		num = Math.round(num * 100);
		num = Math.abs(num);

		// cents
		var cents = String(num % 100);

		if (cents.length < 2)
		{	cents = "0" + cents;	}
		
		// dollars
		var temp;
		
		temp = Math.floor(num/100);
		temp = String(temp);

		var dollars = "";
		var count = Math.floor(temp.length/3);
		var offset = temp.length % 3;
		var index = 0;
		var sep = "";
		
		if (offset > 0)
		{
			dollars = temp.substring(0, offset);
			sep = ",";
		}
		
		for(var i=0; i<count; i++)
		{
			index = offset + i*3;
			dollars += sep + temp.substring(index, index+3);
			sep = ",";
		}
		
		money = sign + "$" + dollars; //+ "." + cents;

		ctrl.value = money;
	}
}


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
