function efContactUs(){
	efOpenDialog('http://www.freightCenter.com/index.aspx', 'ContactWindow', 600, 400, true, true);
}

function efCreditCardGetType(sCCNum){
	if (sCCNum.substring(0,1) == 4) return 'VISA';
	if (sCCNum.substring(0,2) > 50 && sCCNum.substring(0,2) < 56) return 'MASTERCARD';
	if (sCCNum.substring(0,2) == 34 || sCCNum.substring(0,2) == 37) return 'AMEX';
	if (sCCNum.substring(0,4) == 6011) return 'DISCOVER';
	return 'UNKNOWN';
}

function efDateGetMonth(sValue){
	return parseInt(sValue.substring(0, sValue.indexOf('/')), 10) - 1;
}

function efDateGetDay(sValue){
	var slash1 = sValue.indexOf('/');
	var slash2 = sValue.indexOf('/', slash1+1);
	return parseInt(sValue.substring(slash1+1, slash2), 10);
}

function efDateGetYear(sValue){
	var slash1 = sValue.indexOf('/');
	var slash2 = sValue.indexOf('/', slash1+1);
	return 	parseInt(sValue.substring(slash2+1), 10);
}

function efIsCreditCard(sCCNum){
	var checksum = 0;
	var j = 1;

	var calc;
	for(i=sCCNum.length-1; i>=0; i--){
		calc = Number(sCCNum.charAt(i)) * j;
		if(calc > 9){
			checksum = checksum + 1;
			calc = calc - 10;
		}
		checksum = checksum + calc;
		if (j ==1) {j = 2} else {j = 1};
	}
  
	if(checksum % 10 != 0)
		return false;
	else
		return true;
}

function efIsDate(sValue){
	var aDaysInMonth = new Array(0,31,29,31,30,31,30,31,31,30,31,30,31);
	var bValid = true;
	var slash1 = sValue.indexOf('/');
	var slash2 = sValue.indexOf('/', slash1+1);

	if(efIsEmpty(sValue)) return false;

	var sMonth = sValue.substring(0, slash1);
	if(efIsEmpty(sMonth) || sMonth.length>2 || isNaN(sMonth)){
		bValid = false;
	}else{
		sMonth = parseInt(sMonth, 10);
		if(sMonth==0 || sMonth>12) bValid = false;
	}
	if(!bValid){
		alert('Please enter a valid month.');
		return false;
	}
	
	var sDay = sValue.substring(slash1+1, slash2);
	if(efIsEmpty(sDay) || sDay.length>2 || isNaN(sDay)){
		bValid = false;
	}else{
		sDay = parseInt(sDay, 10);
		if(sDay==0 || sDay>aDaysInMonth[sMonth]) bValid = false;
	}
	if(!bValid){
		alert('Please enter a valid day.');
		return false;
	}

	var sYear = sValue.substring(slash2+1);
	if(sYear.length!=4 || isNaN(sYear)){
		bValid = false;
	}else{
		sYear = parseInt(sYear, 10);
		if(sYear==0) bValid = false;
	}
	if(!bValid){
		alert('Please enter a valid year.');
		return false;
	}

	if(sMonth==2 && sDay>(((sYear % 4 == 0) && ((!(sYear % 100==0)) || (sYear % 400 == 0))) ? 29 : 28)){
		alert('Please enter a valid day.');
		return false;
	}

	return true
}

function efIsEmail(sValue){
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	return filter.test(sValue);
}

function efIsEmpty(sValue)
{
	return (sValue.length == 0)
}

function efIsFieldDate(oField, sAlert){
	if(!efIsDate(oField.value)){
		if(sAlert != null){
			alert(sAlert);
			oField.focus();
		}
		return false;
	}
	return true;
}

function efIsFieldEmail(oField, sAlert){
	if(!efIsEmail(oField.value)){
		if(sAlert != null){
			alert(sAlert);
			oField.focus();
		}
		return false;
	}
	return true;
}

function efIsFieldEmpty(oField, sAlert){
	if(efIsEmpty(oField.value)){
		if(sAlert != null){
			alert(sAlert);
			oField.focus();
		}
		return true;
	}
	return false;
}

function efIsFieldInteger(oField, sAlert){
	if(!efIsInteger(oField.value)){
		if(sAlert != null){
			alert(sAlert);
			oField.focus();
		}
		return false;
	}
	return true;
}

function efIsFieldNumber(oField, sAlert){
	if(!efIsNumber(oField.value)){
		if(sAlert != null){
			alert(sAlert);
			oField.focus();
		}
		return false;
	}
	return true;
}

function efIsInteger(sValue){
	return (!efIsEmpty(sValue) && !isNaN(sValue))
}

function efIsNumber(sValue){
	return (!efIsEmpty(sValue) && !isNaN(sValue))
}

function efMMClick(sURL){
	location.href = sURL;
}

function efOpenDialog(sURL, sWndName, lWidth, lHeight, bResizable, bScrollbars){
	var sResizable = (bResizable==null || bResizable==false) ? 'no' : 'yes';
	var sScrollbars = (bScrollbars==null || bScrollbars==false) ? 'no' : 'yes';

	var x = (window.screen.availWidth - lWidth)/2;
	if(isNaN(x)) x = 0;
	var y = (window.screen.availHeight - lHeight)/2;
	if(isNaN(y)) y = 0;

	var oWnd = window.open(sURL, sWndName, 'left=' + x + ',screenX=' + x + ',top=' + y + ',screenY=' + y + ',width=' + lWidth + ',height=' + lHeight + ',dialog=yes,dependent=yes,modal=yes,location=no,status=no,resizable=' + sResizable + ',scrollbars=' + sScrollbars);
	oWnd.focus();
}

function efOpenHelp(sPage, sTopic){
	var sURL = 'http://www.efreight.com/support/help/' + sPage + '.asp';
	if(sTopic != null)
		if(sPage == 'glossary')
			sURL += '?Term=' + sTopic;
		else
			sURL += '#' + sTopic;
	efOpenDialog(sURL, 'HelpWindow', 500, 500, true, true);
}

function efSelectSetValue(oList, sValue)
{
	for(var i=0; i<oList.options.length; i++){
		if(sValue == oList.options[i].value){
			oList.options[i].selected = true;
			return true;
		}
	}
	return false;
}

function efVerifyLogout(){
	return confirm('Are you sure you want to log out of eFREIGHT?')
}

function efXMLHTTPGetObject(){
	var oXMLHTTP = null;

	if(window.XMLHttpRequest){
		try{
			oXMLHTTP = new XMLHttpRequest();
		} catch(e) {
			oXMLHTTP = null;
		}
	}else if(window.ActiveXObject){
		try{
			oXMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try{
				oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				oXMLHTTP = null;
			}
		}
	}

	return oXMLHTTP;
}