function def_window(url) {
	link = window.open(url,"Link","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=770,height=300,left=10,top=182");
	link.focus();
}

function def_window_no_resize(url) {
	link = window.open(url,"Link","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,width=770,height=300,left=10,top=182");
	link.focus();
}

function qlogin_window(url) {
	link = window.open(url,"Login","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,width=205,height=150,left="+(screen.availWidth-237)+",top=213");
	link.focus();
}
function changepwd_window(url) {
    var opt = 'toolbar=0,location=0,status=0,menubar=0,scrollbars=0,resizable=0,width=400,height=225,left='+(screen.availWidth-432)+',top=213';
	var link2 = window.open(url,'ChangePassword', opt);
	link2.focus();
}
function MM_preloadImages() { //v3.0
	if(document.images){
		if(!document.MM_p) document.MM_p=new Array(); 
		with(document){
			//var i,j=MM_p.length,a=MM_preloadImages.arguments; 
			var i,j=MM_p.length,a=images; 
			for(i=0; i<a.length; i++)
				//alert('image #' + (i+1) + ' of ' + a.length + ':\n' + a[i].src)
				if (a[i].src.indexOf("#")!=0){ 
					MM_p[j]=new Image; 
					MM_p[j++].src=a[i].src;
				}
		}
	}
}

function FocusOnFirstFieldOnScreen()
{
	var frm_idx = document.forms.length - 1;
	for (var i = 0; i < document.forms[frm_idx].elements.length; i++) 
	{
		//alert(document.forms[frm_idx].elements[i].name + ': ' + document.forms[frm_idx].elements[i].type);
		if (document.forms[frm_idx].elements[i].type != 'hidden') 
		{
			document.forms[frm_idx].elements[i].focus();
			if (document.forms[frm_idx].elements[i].type == 'text') document.forms[frm_idx].elements[i].select();
			break;
		}
	}
}

function Ltrim(z)
{
	for (i = 0; i < z.length; i++)
	{
		if (z.charAt(i) != ' ')
			return z.substring(i);
	}
	return "";
}

function Rtrim(z)
{
	for (i = z.length-1; i >= 0; i--)
	{  
		if (z.charAt(i) != ' ')
			return z.substring(0,i+1);
	}
	return "";
}

function Trim(z)
{
	return Ltrim(Rtrim(z));
}

function putFocusOnFld(fld){
	var stType_lc;
	
	fld.focus();
	stType_lc = fld.type.toLowerCase();
	if (stType_lc == "select-one"){
		//do nothing!
	} else {
		fld.select();
	}
}

function isFilledIn (frmForm, stField, stType, stText) 
{
	var stType_lc;
	
	stType_lc = stType.toLowerCase();
	//if ((stType == "Radio") || (stType == "radio") || (stType == "RADIO")) {
	if (stType_lc == "radio") {
		var filled = false;
		for (var i = 0; i < frmForm.elements[stField].length; i++) {
			var objField = frmForm.elements[stField];
			if (objField[i].checked == true) {
				filled = true;
			}
		}
		if (frmForm.elements[stField].length == null && frmForm.elements[stField].value != null)
			filled = true;
		if (filled == false) {
			return stText + " must be entered.\n";
		}
		return "";
	//} else if ((stType == "checkbox") || (stType == "Checkbox") || (stType == "CHECKBOX")) {
	} else if (stType_lc == "checkbox") {
		var filled = false;
		for (var i = 0; i < frmForm.elements[stField].length; i++) {
			var objField = frmForm.elements[stField];
			if (objField[i].checked == true) {
				filled = true;
			}
		}
		if (frmForm.elements[stField].length == null && frmForm.elements[stField].value != null)
			filled = true;
		if (filled == false) {
			return stText + " must be entered.\n";
		}
		return "";
	//} else if ((stType == "select-one") || (stType == "Select-one") || (stType == "Select-One") || (stType == "SELECT-ONE")) {
	} else if ((stType_lc == "select-one")) {
		var filled = false;
		for (var i = 0; i < frmForm.elements[stField].length; i++) {
			var objField = frmForm.elements[stField];
			if (objField.options[i].selected == true && Trim(objField.options[i].value).length != 0) {
				filled = true;
			}
		}
		if (filled == false) {
			return stText + " must be entered.\n";
		}
		return "";
	/*	
	} else if (stType_lc == "datetext") {
		if ((frmForm.elements[stField + "_mo"].value == null) || (Trim(frmForm.elements[stField + "_mo"].value).length == 0) ||
			(frmForm.elements[stField + "_dy"].value == null) || (Trim(frmForm.elements[stField + "_dy"].value).length == 0) ||
			(frmForm.elements[stField + "_yr"].value == null) || (Trim(frmForm.elements[stField + "_yr"].value).length == 0))
		{
			return stText + " must be entered.\n";
		}
	} else if (stType_lc == "phonetext") {
		if ((frmForm.elements[stField + "_ac"].value == null) || (Trim(frmForm.elements[stField + "_ac"].value).length == 0) ||
			(frmForm.elements[stField + "_xc"].value == null) || (Trim(frmForm.elements[stField + "_xc"].value).length == 0) ||
			(frmForm.elements[stField + "_xt"].value == null) || (Trim(frmForm.elements[stField + "_xt"].value).length == 0))
		{
			return stText + " must be entered.\n";
		}
	} else if (stType_lc == "creditcarddatetext") {
		if ((frmForm.elements[stField + "_mo"].value == null) || (Trim(frmForm.elements[stField + "_mo"].value).length == 0) ||
			(frmForm.elements[stField + "_yr"].value == null) || (Trim(frmForm.elements[stField + "_yr"].value).length == 0))
		{
			return stText + " must be entered.\n";
		}
	*/	
	//} else if ((stType == "Text") || (stType == "text") || (stType == "TEXT") || (stType == "TextArea") || (stType == "textarea") || (stType == "TEXTAREA")|| (stType == "Textarea")) {
	} else if ((stType_lc == "text") || (stType_lc == "textarea")) {
		if ((frmForm.elements[stField].value == null) || (Trim(frmForm.elements[stField].value).length == 0)) {
			return stText + " must be entered.\n";
		}
	}	
	return "";
}


function isInteger (frmForm, stField, stType, stText) {
    var i, stInput;
    
    stInput = Trim(frmForm.elements[stField].value);
    
    for (i = 0; i < stInput.length; i++) {   
		var c = stInput.charAt(i);
		if (!((c >= "0") && (c <= "9"))) {
			return stText + " must be a number\n";
		}
    }
	return "";
}

function isValidDate (frmForm, stField, stType, stText) {
	var yr = Trim(frmForm.elements[stField + "_yr"].value);
	var mo = Trim(frmForm.elements[stField + "_mo"].value);
	var dy = Trim(frmForm.elements[stField + "_dy"].value);
	if (yr.length == 2) 
		return stText + " must have four digit year.\n";
    if (!(isYear(yr) && simpleIsIntInRange(mo, 1, 12) && simpleIsIntInRange(dy, 1, 31))) {
		return stText + " must be a valid date.\n";
    }
	return "";
}

function isYear(y) {
	return ((y.length == 2) || (y.length == 4));
}

function simpleIsIntInRange (stValue, iLow, iHigh) {
	var iVal;
	
	for (var i = 0; i < stValue.length; i++) {   
		var c = stValue.charAt(i);
		if (!((c >= "0") && (c <= "9"))) {
			return false;
		}
		// num = num * 10 + c - '0';
    }

	iVal = parseInt(stValue,10);
    //if ((stValue < iLow) || (stValue > iHigh)) {
    if ((iVal < iLow) || (iVal > iHigh)) {
		return false;
	}
	return true;
}



function checkMaxSize(frmForm, stField, stType, stText, iMaxSize) {
	if (Trim(frmForm.elements[stField].value).length > iMaxSize) {
		return stText + " must be " + iMaxSize + " characters or less.\n";
	}
	return "";
}


function isIntInRange (frmForm, stField, stType, stText, iLow, iHigh) {
    var i, stValue;
    
    stValue = Trim(frmForm.elements[stField].value);
    
    for (i = 0; i < stValue.length; i++) {   
		var c = stValue.charAt(i);
		if (!((c >= "0") && (c <= "9"))) {
			return stText + " must be a number.\n";
		}
    }

    var num = parseInt (stValue,10);
    if ((num < iLow) || (num > iHigh)) {
		return stText + " must be a number in the range " + iLow + " - " + iHigh + ".\n";
	}
	return "";
}

function replaceString(oldS,newS,fullS) {
// Replaces oldS with newS in the string fullS
   for (var i=0; i<fullS.length; i++) {
         if (fullS.substring(i,i+oldS.length) == oldS) {
                  fullS = fullS.substring(0,i)+newS+fullS.substring(i+oldS.length,fullS.length)
         }
   }
   return fullS
}

function GetErrorMessageFromFieldName(name) {
	var strRet,idx;
	
	idx = name.indexOf("__")
	if (idx == -1) {
		strRet = replaceString('_',' ',name);
		strRet = replaceString('datm','Month of',strRet);
		strRet = replaceString('datd','Day of',strRet);
		strRet = replaceString('daty','Year of',strRet);
		strRet = replaceString('acd','Area Code of',strRet);
		strRet = replaceString('exc','Exchange of',strRet);
		strRet = replaceString('ext','Extension of',strRet);
		strRet = replaceString('zc Zip','Zip Code',strRet);
		strRet = replaceString('_Date','',strRet);
	} else {	
		strRet = name.substring(0,idx);
		strRet = replaceString('session_','Session for ',strRet);
		strRet = replaceString('_00_A',' A',strRet);
		strRet = replaceString('_00_P',' P',strRet);
		strRet = replaceString('_00',':00',strRet);
		strRet = replaceString('_15',':15',strRet);
		strRet = replaceString('_30',':30',strRet);
		strRet = replaceString('_45',':45',strRet);
		strRet = replaceString('01_','01 at ',strRet);
		strRet = replaceString('02_','02 at ',strRet);
		strRet = replaceString('03_','03 at ',strRet);
		strRet = replaceString('04_','04 at ',strRet);
		strRet = replaceString('05_','05 at ',strRet);
		strRet = replaceString('06_','06 at ',strRet);
		strRet = replaceString('07_','07 at ',strRet);
		strRet = replaceString('08_','08 at ',strRet);
		strRet = replaceString('09_','09 at ',strRet);
		strRet = replaceString('_','/',strRet);
	}	
	
	return strRet;
}

function checkInput(frmForm){
	var editStr, rv, focused, focusFld, ctr, curEleName;

	editStr = "";
	rv = true;
	focused = false;

	curEleName = ""	
	for (ctr = 0;ctr<frmForm.length;ctr++) {
		if (curEleName != frmForm.elements[ctr].name) {
			curEleName = frmForm.elements[ctr].name;
			resultStr = isFilledIn (frmForm,frmForm.elements[ctr].name,frmForm.elements[ctr].type,GetErrorMessageFromFieldName(curEleName));
			if (resultStr.length > 0) {
				editStr = editStr + resultStr;
				if (!focused) {
					focusFld = frmForm.elements[ctr];
					focused = true;
				}
			}
		}	
	}
	
	if (editStr.length > 0) {
		rv = false;
		alert(editStr);
		focusFld.focus();
		//putFocusOnFld(focusFld); //maybe later!
	}
	
	return(rv);
}

function isValidEmailAddress(obj)
{
	var pattern = /^[\w\.-]+@[\w\.-]+\.[a-zA-Z]+$/;

    return pattern.test(obj.value)
}

function IsValidPhoneNumber(obj)
{
	var pattern1 = /^\d{10}$/;
	var pattern2 = /^\d{3}-\d{3}-\d{4}$/;
	var pattern3 = /^\(\d{3}\)\d{3}-\d{4}$/;
	
    return pattern1.test(obj.value) || pattern2.test(obj.value) || pattern3.test(obj.value)  
}

function IsValidZipCode(obj)
{
	var pattern1 = /^\d{5}$/;
	var pattern2 = /^\d{5}-\d{4}$/;
	
    return pattern1.test(obj.value) || pattern2.test(obj.value)
}

function autoTabNumber(ele,len,next){
	if (ele.value.length == len && keyPressedIsDigit()){
		next.focus();
	}
}

function keyPressedIsDigit() {
    var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;
    if (isIE) {
    	return window.event.keyCode > 95 && window.event.keyCode < 106;
    } else {
        return true;        
    }
}

function ShowGetAdobe() {
	link = window.open("/content/showadobe.htm","Link","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=500,height=300,left=160,top=175");
}

