
/**
 * DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert("The date format should be : mm/dd/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}
return true
}

function ValidateForm(){
	var dt=document.frmSample.txtDate
	if (isDate(dt.value)==false){
		dt.focus()
		return false
	}
    return true
 }

function isNumberKey(evt)
      {
         var charCode = (evt.which) ? evt.which : event.keyCode
         if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;

         return true;
      }
	  
	  
	function numbersonly(e, decimal) {
	var key;
	var keychar;
	
	if (window.event) {
	   key = window.event.keyCode;
	}
	else if (e) {
	   key = e.which;
	}
	else {
	   return true;
	}
	keychar = String.fromCharCode(key);
	
	if ((key==null) || (key==0) || (key==8) ||  (key==9) || (key==13) || (key==27) ) {
	   return true;
	}
	else if ((("0123456789").indexOf(keychar) > -1)) {
	   return true;
	}
	else if (decimal && (keychar == ".")) { 
	  return true;
	}
	else
	   return false;
	}


function fundingDetials( selectedFunding )
{
  document.fundingsform.datei.value = selectedFunding ;
  document.fundingsform.submit() ;
}



function validateBank() {
	var bankName = document.getElementById("bankname").value;
	var bankPhone = document.getElementById("bankphone").value;
	var bankCity = document.getElementById("bankcity").value;
	var bankState = document.getElementById("bankstate").value;
	var bankZip = document.getElementById("bankzip").value;
	var wireRouting = document.getElementById("wirerouting").value;
	var achRouting = document.getElementById("achrouting").value;
	var accountNumber = document.getElementById("accountnumber").value;
	var name = document.getElementById("name").value;
	var terms = document.getElementById("terms");
	var change = document.getElementById("change").value;
	var explain = document.getElementById("explain").value;
	
	if (bankName != "" && bankPhone != "" && bankCity != "" && bankState != "" && bankZip != "" && wireRouting != "" && achRouting != "" && accountNumber != "" && terms.checked == true){
		document.bankForm.submit();
	} else {
		var alrt = document.getElementById("alertmsg");
		var elem = document.getElementById('bankForm').elements;
		var alrtMsg = "Please Correct the following fields in red:";
		alrt.innerHTML = alrtMsg;
				
		if (document.getElementById('terms').checked == false) {
				alrt.innerHTML = "You must agree to the Terms and Service.";
		}
		
		/* Apply Red Border to empty fields */
		for(var i = 0; i < elem.length; i++) {
			if(elem[i].value == "") {
				if(elem[i].id != "explain" && elem[i].id != "name") {
					elem[i].style.border = "1px solid red";
				}
			} else {
			elem[i].style.border = "1px solid grey";
			}
						
		} 	
	}
}

function validateFuelCard_old() {
	var alrt = document.getElementById("alertmsg");
	var alrtMsg = "Please Correct the following fields in red:";
	
	var tCheck = document.getElementById("tcheck");
	var comData = document.getElementById("comdata");
	var tch = document.getElementById("tch");
	var efs = document.getElementById("efs");
	var other = document.getElementById("other");
	
	var txtTcheck = document.getElementById("txtTcheck").value;
	var txtComData = document.getElementById("txtComData").value;
	var txtTch = document.getElementById("txtTch").value;
	var txtEfs = document.getElementById("txtEfs").value;
	var txtOther = document.getElementById("txtOther").value;
	
	var name = document.getElementById("name").value;
	var aba = document.getElementById("aba").value;
	var account = document.getElementById("account").value;
	var terms = document.getElementById("terms")
	
	if (tCheck.checked || comData.checked || tch.checked || efs.checked || other.checked) {
		if (txtTcheck != "" && tCheck.checked) {
			if (terms.checked) {
				document.fuelCard.submit();
				} else {
				alrt.innerHTML = "Please Agree to the Terms and Service";
			}
			} else {
			if (tCheck.checked) { document.getElementById("txtTcheck").style.border = "1px solid red";}
		}
		if (txtComData != "" && comData.checked && terms.checked) {
			if (terms.checked) {
				document.fuelCard.submit();
				} else {
				alrt.innerHTML = "Please Agree to the Terms and Service";
			}
			} else {
			if (comData.checked) { document.getElementById("txtComData").style.border = "1px solid red";}
		}
		if (txtTch != "" && tch.checked && terms.checked) {
			if (terms.checked) {
				document.fuelCard.submit();
				} else {
				alrt.innerHTML = "Please Agree to the Terms and Service";
			}
			} 
		if (txtEfs != "" && efs.checked && terms.checked) {
			if (terms.checked) {
				document.fuelCard.submit();
				} else {
				alrt.innerHTML = "Please Agree to the Terms and Service";
			}
			} else {
			if (efs.checked) { document.getElementById("txtEfs").style.border = "1px solid red";}
		}
		if (txtOther != "" && other.checked && name != "" && aba != "" && account !="" && terms.checked) {
			if (terms.checked) {
				document.fuelCard.submit();
				} else {
				alrt.innerHTML = "Please Agree to the Terms and Service";
			}
			} else {
				if (other.checked) { 
				if(txtOther != "") {document.getElementById("txtOther").style.border = "1px solid red";}
				if(name != "") {document.getElementById("name").style.border = "1px solid red";}
				if(aba != "") {document.getElementById("aba").style.border = "1px solid red";}
				if(account != "") {document.getElementById("account").style.border = "1px solid red";}
			}
		}
	} else {
		alrt.innerHTML = "Please select at least one account";
	}
}
function sameAs(isChecked) {
	var address = document.getElementById("address").value;
	var city = document.getElementById("city").value;
	var state = document.getElementById("state").value;
	var zip = document.getElementById("zip").value;
	
	if (isChecked.checked) {
		document.getElementById("billingaddress").value = address;
		document.getElementById("billingcity").value = city;
		document.getElementById("billingstate").value = state;
		document.getElementById("billingzip").value = zip;
	} else {
		document.getElementById("billingaddress").value = "";
		document.getElementById("billingcity").value = "";
		document.getElementById("billingstate").value = "";
		document.getElementById("billingzip").value = "";
	}
}


function validatePrePass() {
	var address = document.getElementById("address");
	var city = document.getElementById("city");
	var state = document.getElementById("state");
	var zip = document.getElementById("zip");
	var nm = document.getElementById("nm");
	var billingaddress = document.getElementById("billingaddress").value;
	var billingcity = document.getElementById("billingcity").value;
	var billingstate = document.getElementById("billingstate").value;
	var billingzip = document.getElementById("billingzip").value;
	var cardnumber = document.getElementById("cardnumber").value;
	var billingname = document.getElementById("billingname").value;
	var expmonth = document.getElementById("expmonth").value;
	var expyear = document.getElementById("expyear").value;
	var cvv = document.getElementById("cvv").value;
	var terms = document.getElementById("terms");

	if (address != "" && city != "" && state != "" && zip != "" && nm != "" && billingaddress != "" && billingcity != "" && billingstate != "" && billingzip != "" && cardnumber != "" && billingname != "" && expmonth != "" && expyear != "" && cvv != "") {
		if (terms.checked) {
			document.prepassform.submit();
			} else {
			alert('Your must agree to the terms.');
		}
		} else {
		alert('Please fill out all the required fields.');
	}
}


function addInvoice(varType) {
	slide(varType);	
}

function clearInvoice() {
	document.getElementById("ref").value = "";
	document.getElementById("invoice").value = "";
	document.getElementById("pickupcity").value = "";
	document.getElementById("pickupstate").selectedIndex = 0;
	//document.getElementById("pickupdate").value = "";
	document.getElementById("deliverycity").value = "";
	document.getElementById("deliverystate").selectedIndex = 0;
	//document.getElementById("deliverydate").value = "";
	document.getElementById("goods").value = "";
	document.getElementById("unitprice").value = "";
	document.getElementById("totalprice").value = "";
}

function slide(varType) {
	var strRef = document.getElementById("ref").value;
	var strInvoice = document.getElementById("invoice").value;
	var strPickupcity = document.getElementById("pickupcity").value;
	var strPickupstate = document.getElementById("pickupstate").value;
	//pickup date
	var strPickupmonth = document.getElementById("date-1-mm").value;
	var strPickupday = document.getElementById("date-1-dd").value;
	var strPickupyear = document.getElementById("date-1").value;
	var strPickupdate = strPickupmonth + "/" + strPickupday + "/" + strPickupyear;
	
	// Delivery Date
	var strDeliverymonth = document.getElementById("date-2-mm").value;
	var strDeliveryday = document.getElementById("date-2-dd").value;
	var strDeliveryyear = document.getElementById("date-2").value;
	var strDeliverydate = strDeliverymonth + "/" + strDeliveryday + "/" + strDeliveryyear;

	
	
	var strDeliverycity = document.getElementById("deliverycity").value;
	var strDeliverystate = document.getElementById("deliverystate").value;
	var strGoods = document.getElementById("goods").value;
	var strUnitprice = document.getElementById("unitprice").value;
	var strTotalprice = document.getElementById("totalprice").value;
	var strnounits = document.getElementById("nounits").value;
	var strDebtorID = document.getElementById("debtor").value;

	if(strRef != "" && strnounits !=""  && strPickupmonth != "" && strPickupday != "" && strPickupyear && strDeliverymonth != "" && strDeliveryday != "" && strDeliveryyear && strInvoice != "" && strGoods != "" && strUnitprice != "" && strTotalprice != "" && isDate(strDeliverydate) == true && isDate(strPickupdate) == true) {
		varQueryString = "?ref=" + strRef + "&invoice=" + strInvoice + "&pickupcity=" + strPickupcity + "&pickupstate=" + strPickupstate + "&pickupdate=" + strPickupdate + "&deliverycity=" + strDeliverycity + "&deliverystate=" + strDeliverystate + "&deliverydate=" + strDeliverydate + "&goods=" + strGoods + "&unitprice=" + strUnitprice + "&totalprice=" + strTotalprice + "&debtor=" + strDebtorID
		
		window.addEvent('domready', function() {
		var status = {
				'true': 'open',
				'false': 'close'
			};
	
			var myVerticalSlide = new Fx.Slide(('slideMain'), {
				duration: 600,
				transition:  Fx.Transitions.Pow.easeOut
			});
	
			myVerticalSlide.slideOut().chain(function(){
				var req = new Request.HTML({url:'http://armor.freightcapital.com/code/add-invoice.asp' + varQueryString, 
				onSuccess: function(html) {
					var returnHTML = html.item(0).nodeValue;
					document.getElementById("invoicecount").innerHTML = returnHTML;
				}
				}).send();
				if (varType == "complete") {location.href='/utilities/invoice-confirm.asp'}
				clearInvoice();				  
				myVerticalSlide.slideIn();
			});
		});
	} else {
		if (varType == "complete") {
			location.href='/utilities/invoice-confirm.asp'

			} else {

			alert("Please fill out all of the required fields.");
		}
	}
}

function confirmGo(varMsg,varLocation) {
	var confirmMsg= confirm(varMsg);
 	if (confirmMsg) {
   		window.location=varLocation;
	} else {
		window.location="/";
 	}
}

function confirmRush(varMsg,varLocation,packageID) {
	var confirmMsg= confirm(varMsg);
 	if (confirmMsg) {
		document.getElementById(packageID).innerHTML = '<strong class="green">Requested</strong>'
   		window.location=varLocation;
	} else {
		window.location="/";
 	}
}

function AjaxGetFedexLabel(username, name, company, address1, address2, city, state, zip)
	{
		var xmlhttp;
		if (window.XMLHttpRequest)
		  {
		  // code for IE7+, Firefox, Chrome, Opera, Safari
		  xmlhttp=new XMLHttpRequest();
		  }
		else if (window.ActiveXObject)
		  {
		  // code for IE6, IE5
		  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		  }
		else
		  {
		  alert("Your browser does not support XMLHTTP!");
		  }
		xmlhttp.onreadystatechange=function(){
		if(xmlhttp.readyState==4)
		  {
		  //document.getElementById("Label").innerHTML="/PHP/fedexrate/index.php?name="+name+"&company="+company+"&address1="+address1+"&address2="+address2+"&city="+city+"&state="+state+"&zip="+zip
		  document.getElementById("Label").innerHTML="Your fedex label:<b> " + xmlhttp.responseText + "</b>";
		}
				if(xmlhttp.readyState !=4) {
					document.getElementById("Label").innerHTML= "<br><br><center><img src='/images/ajax-loader.gif'></center>";

				}
		}
		xmlhttp.open("GET","/PHP/fedexrate/index.php?username="+username+"&name="+name+"&company="+company+"&address1="+address1+"&address2="+address2+"&city="+city+"&state="+state+"&zip="+zip,true);
		xmlhttp.send(null);
	}
	

function recordOutboundLink(link, category, action) 
	{
    _gat._getTrackerByName()._trackEvent(category, action);
    setTimeout('document.location = "' + link.href + '"', 100);
	}


