/*Javascript Functions for RGT Logistics, LLC*/
function showHide(id) {
	document.getElementById(id).style.display = (document.getElementById(id).style.display == "none") ? "" : "none";
}
/*Logistics javascript*/
function showHideLoad(elClass, elLink) {
		elLink = document.getElementById(elLink);
		elLink.innerHTML = ((elLink.innerHTML == "[More]")? "[Close]" : "[More]");
		el = document.getElementById("loadTable");
		elRows = el.getElementsByTagName("tr");
		for(var i=0;i<elRows.length; i++) {
			if(elRows[i].className == elClass) {
				elRows[i].style.display = ((elRows[i].style.display  == "none") ? "" : "none");
			}
		}
}
/*Application javascript*/
function agreeTerms() {
	document.getElementById("submitAgree").disabled = 
		(document.getElementById("agree").checked) ? false: true;
}
function loginCheck() {
	//make sure they have a username and password before letting them save & exit
	if(!document.forms[0].Email.value || !document.forms[0].PSWD.value) {
		alert("You must enter a valid e-mail address and password before saving.");
		return;
	} else {
		saveForm(2);
	}
}
function owner(type) {
	els = document.getElementById("employ_app").getElementsByTagName("tr");
	for(var i = 0; i< els.length; i++) {
		if(els[i].className == "owner") {
			els[i].style.display = (type) ? "" : "none";
		}
	}
	if(!type) {
		document.forms[0].EquipYear.value = "";
		document.forms[0].EquipMake.value = "";
		document.forms[0].EquipModel.value = "";
	}
}
function add(id) {
	switch(id) {
		case "collision": 
		document.forms[0].addType.value = 1; break
		case "conviction":
		document.forms[0].addType.value = 2; break
	}	
	document.forms[0].saveType.value = 0; //change to not save
	document.forms[0].submit(); //submit
}
function saveForm(type) {
	if(validate(type)) {
		document.forms[0].saveType.value = type;
		document.forms[0].submit();
	}
}

/*Validation Functions*/
function validate(type) {
 var error = "";
 var email = /^[\w\.=_\-]+@[\w\.\-]+\.[a-zA-Z]{2,4}$/;
 var date = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
 var els = document.forms[0].elements;
 for (var i=0;i<els.length;i++)
 {
	elRequired = els[i].getAttribute('gm_required'); elPhrase = els[i].getAttribute('gm_phrase');
	elValid = els[i].getAttribute('gm_validation'); elMax = els[i].getAttribute('gm_maxlength');
	elName = els[i].name; elValue = els[i].value; elType = els[i].type;
	if(elValue == "  ") { elValue = ""; }
	if ((elRequired && type==1) || (elValid && type==1 && elValue) || (elValid && type==2 && elValue && elValid !="radio") || (elMax)) {
		
		switch(elValid) {			
			
			case "password8":
			if(elValue.length < 8) { error += " - " + elPhrase + "\n"; } break;
			
			case "email":
			if(!email.test(elValue)) { error += " - " + elPhrase + "\n"; } break;	
			
			case "select":
			if((els[i].selectedIndex/1) ==0) { error += " - " + elPhrase + " (Please make a choice)\n"; } break;	
			
			case "ssn":
			if(elValue.length != 9 || isNaN(elValue)) { error += " - Social Security No. (No dashes or spaces)\n"; } break;
			
			case "zip":
			if(elValue.length != 5 || isNaN(elValue)) { error += " - Zip Code (5 digits only)\n"; } break;
			
			case "date":
			if(date.test(elValue)) {
				var dArr = elValue.split("/"); var d = new Date(elValue);
				if(!(d.getMonth()+1==dArr[0] && d.getDate() == dArr[1] && d.getFullYear() == dArr[2])) {
					error += " - " + elPhrase + " (i.e. 1/5/1986)\n";
				}
			} else if(elValue || elRequired) {
					error += " - " + elPhrase + " (i.e. 1/5/1986)\n";
			}
			break;
			
			case "radio":
			elR = document.forms[0][elName].length;
			checked = false;
			for(var y =0; y<elR;y++) {
				if(document.forms[0][elName][y].checked) {
					checked = true;
					break;
				}
			}
			if(checked==false) { error += " - " + elPhrase + " (Please make a choice)\n"; }
			break;
			
			case "numeric":
			if(isNaN(elValue.replace(/,/gi,""))) { error += " - " + elPhrase + " (Must be a number)\n"; }
			break;
			
			case "checkbox":
			if(!document.forms[0][elName].checked && type==1) { error += " - " + elPhrase + "\n"; }
			break;
			
			default:
			if(elType=="textarea") {
				if(elMax && (elValue.length > elMax)) {
						error += " - " + elPhrase + " can be no longer than " + elMax + " characters\n";
				}
				if(elRequired && elValue.length <1 && type==1) {
					  error += " - " + elPhrase + "\n";
				}
			} else if (elRequired) { 
				if(!elValue) { error += " - " + elPhrase + "\n"; } break;
			}
			break;
		}
	}  
 }
 if(error != "") {
	 error = "The following information is missing and/or invalid:\n\n" + error;
	 alert(error);
	 return false;
 } else {
	 return true;
 }
}

function updateApp(status) {
	switch(status) {
		case "A":
		temp = confirm("Are you sure you want to archive this application?");
		if(temp) { 
			document.forms[0].uType.value = "A"; 
			document.forms[0].submit(); 
		} else {
			document.forms[0].btnA.blur();
		}
		break;
		case "D":
		temp = confirm("Are you sure you want to delete this application?  All information and DAC reports will be permanently removed.");
		if(temp) { 
			document.forms[0].uType.value = "D"; 
			document.forms[0].submit(); 
		} else {
				document.forms[0].btnD.blur();
		}
		break;
		default:
		var date = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
		var reviewDate = document.forms[0].reviewDate.value;
		if(date.test(reviewDate)) {
				var dArr = reviewDate.split("/"); var d = new Date(reviewDate);
				if(!(d.getMonth()+1==dArr[0] && d.getDate() == dArr[1] && d.getFullYear() == dArr[2])) {
					alert("Please enter a valid review date: (e.g. 3/5/2005");
				} else {
					document.forms[0].uType.value = "R";
					document.forms[0].submit();
				}
		} else {
				alert("Please enter a valid review date: (e.g. 3/5/2005)");
		}
		break;
	}
}