//this script is used to create a pop-up window. If no width/heigth is provided, will be almost full screen
function jsNewWindow(jsTarget, jsWidth, jsHeight) {
	var winWidth = jsWidth;
	var winHeight = jsHeight;
	var winleft = 0;
	var winTop = 0;
	if (((winWidth == null) && (winHeight == null)) || ((winWidth == 0) && (winHeight == 0))) {
	   if (screen) {
      	winWidth = (screen.width - 100);
      	winHeight = (screen.height - 150);
      	winleft = (screen.width/2)-winWidth/2;
      	winTop = (screen.height/2)-(winHeight+50)/2;
   	}
	}
	window.open(jsTarget,"","top="+winTop+",left="+winleft+",width=" + winWidth + ",height=" + winHeight + ",toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes");
}

var submitcount=0;

function checkSubmitNum() {
	if (submitcount == 0) {
		submitcount++;
		document.ThisForm.submit();
	} else {
		alert("This form has already been submitted.  Thanks!");
	} 
}

function entsub(e, ourform) {
	var characterCode
	if (e && e.which) { 
		//if which property of event object is supported (NN4)
		e = e
		characterCode = e.which //character code is contained in NN4's which property
	} else {
		e = event
		characterCode = e.keyCode //character code is contained in IE's keyCode property
	}  
	if (characterCode == 13) {
		ourform.submit();
	} else {
		return true;
	}
}

function getWinWidth() {
	var x = 0;

	if (self.innerHeight)
		x = self.innerWidth;
	else if (document.documentElement && document.documentElement.clientHeight)
		x = document.documentElement.clientWidth;
	else if (document.body)
		x = document.body.clientWidth;

	return x;
}

function getWinHeight() {
	var y = 0;

	if (self.innerHeight)
		y = self.innerHeight;
	else if (document.documentElement && document.documentElement.clientHeight)
		y = document.documentElement.clientHeight;
	else if (document.body)
		y = document.body.clientHeight;

	return y;	
}

function getXY(obj) {
	var curleft = 0;
	var curtop = obj.offsetHeight //+ 5;
	var border;

	if (obj.offsetParent) {
		do {
			// XXX: If the element is position: relative we have to add borderWidth
			if (getStyle(obj, "position") == "relative") {
				if (border = getStyle(obj, "border-top-width")) curtop += parseInt(border);
				if (border = getStyle(obj, "border-left-width")) curleft += parseInt(border);
			}
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
		while (obj = obj.offsetParent)
	}
	else if (obj.x) {
		curleft += obj.x;
		curtop += obj.y;
	}

	return {"x": curleft, "y": curtop};
}

function getStyle(obj, styleProp) {
	if (obj.currentStyle)
		return obj.currentStyle[styleProp];
	else if (window.getComputedStyle)
		return document.defaultView.getComputedStyle(obj,null).getPropertyValue(styleProp);
}

//this script is used to count the number of characters in a field, and give a message if over
function textCounter(field, maxlimit) {
	if (field.value.length > maxlimit) {
   	field.value = field.value.substring(0, maxlimit);
   	alert("The field you just updated can not contain more than " + maxlimit + " characters.");
   }
}

function createCookie(name, value, days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(";");

	for(var i = 0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0) == " ") c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

//this function creates a cookie that identifies the width this user's screen should be displayed at
function setMainTableWidth() {
   var winWidth = 860;
   
   winWidth = (screen.width - 50);  
   
   createCookie("TblWidth",winWidth,365)
}

var x = readCookie("TblWidthSelected")
var vselected = "";
var vnotselected = "";

if (x) {
	if (x == "max") {
		vselected = "max";
		vnotselected = "min";
	} else if (x == "min") {
		vselected = "min";
		vnotselected = "max";	
	}
}

var vminimize = 860
var vmaximize = (screen.width - 50);
if (vminimize > vmaximize) vmaximize = vminimize;

function ResizeForm(vsize) {
	var vaction
	
	if (vsize == "change") { 
		vaction = vnotselected;
	} else { 
		vaction = vselected; 
	}

	if (vaction == "max") {
		document.getElementById("main").style.width = vmaximize + "px";
		vselected = "max";
		vnotselected = "min";
		if ($("resizeBtn")) {
			$("resizeBtn").innerHTML = "<img src=\"/images/quicktools/Minimize.gif\" alt=\"Maximize\">";
		}
	} else {
		document.getElementById("main").style.width = vminimize + "px";
		vselected = "min";
		vnotselected = "max";
		if ($("resizeBtn")) {
			$("resizeBtn").innerHTML = "<img src=\"/images/quicktools/Maximize.gif\" alt=\"Maximize\">";
			if ($("listTable") && vsize == "change") {
				adjustContainer();
			}
		}
	}
	createCookie("TblWidthSelected",vaction,365)
}

function ResizeFormStandard(vsize) {
	var vaction
	if (vsize == "change") { 
		vaction = vnotselected;
	} else { 
		vaction = vselected;
	}

	if (vaction == "max") {
		document.getElementById("main").style.width = vmaximize + "px";
		vselected = "max";
		vnotselected = "min";
		if ($("resizeBtn")) {
			$("resizeBtn").innerHTML = "<img name=\"img8\" src=\"/images/quicktools/FTEQuickTools/Minimize.gif\" alt=\"Minimize\">";
		}
	} else {
		document.getElementById("main").style.width = vminimize + "px";
		vselected = "min";
		vnotselected = "max";
		if ($("resizeBtn")) {
			$("resizeBtn").innerHTML = "<img name=\"img8\" src=\"/images/quicktools/FTEQuickTools/Maximize.gif\" alt=\"Maximize\">";
			if ($("listTable") && vsize == "change") {
				adjustContainer();
			}
		}
	}
	createCookie("TblWidthSelected",vaction,365)
}

function SetHeader() {
	if (vselected == "max") {
		document.getElementById("main").style.width = vmaximize + "px";
	} else {
		document.getElementById("main").style.width = vminimize + "px";
	}
}

function submitURL() {
	document.TForm.submit();
}

function submitClientURL(redirectURL) {
	document.TForm.action = redirectURL;
	document.TForm.submit();
}

//used on ViewAppDatatSheetsRespond.asp to generate an email
function submitEmail() {
	document.ThisForm.Email.value = "yes";
	document.ThisForm.action = "EmailDataSheet.asp";
	document.ThisForm.submit();
	document.ThisForm.action = "ExportData.asp";
}

//used on ViewAppDatatSheetsRespond.asp to generate pdfs, etc.
function submitPrint() {
	document.ThisForm.Email.value = "no";
	document.ThisForm.submit();
}

function formatPhone(str) {
	var newPhone = "";
	var re = /\D/;
	var rePhone = /^\({1}\d{3}\)\d{3}-\d{4}/;

	if (str != ""){
		while (re.test(str)){
			str = str.replace(re,"");
		}

		newPhone += "("+str.substr(0,3)+") "+str.substr(3,3)+"-"+str.substr(6,4);
   } 

	return newPhone;
}

function numericInput(e) {
	if ([e.keyCode || e.which] == 8) //this is to allow backspace
		return true;
	if ([e.keyCode || e.which] < 48 || [e.keyCode || e.which] > 57)
		e.preventDefault? e.preventDefault() : e.returnValue = false;
}