function objExists(fid){
	if(document.getElementById(fid)) return true;
	else return false;
};
function submitForm(id,action){
	document.getElementById(id).action = action;
	document.getElementById(id).submit();
};
function resetDropDown(id){
	document.getElementById(id).selectedIndex = -1;
};
function copyText(holdtext){
	var textobj = document.getElementById(holdtext);
	var copied = textobj.createTextRange();
	copied.execCommand("Copy");
};
function setCheck(fid){
	if(objExists(fid)){
		var checkobj = document.getElementById(fid);
		if(checkobj.checked == true) checkobj.checked = false;
		else checkobj.checked = true;
	}
};
function changeClass(fid,cn){
	if(objExists(fid))document.getElementById(fid).className = cn;
};

/* FORM VALIDATION FUNCTIONS */
function FieldLen(field){ return document.getElementById(field).value.length; };
function TrimLR(str){
	return str.replace(/^\s+|\s+$/g,"");
};
function CheckField(field,filter,fielddesc,showerr,errfield){
	var obj = document.getElementById(field);
	var errobj = document.getElementById(errfield);
	//REMOVE LEFT AND RIGHT SPACES
	obj.value = TrimLR(obj.value);
	//REGULAR EXPRESSION FILTER FOR FIRST AND LAST NAMES
	if(!filter.exec(obj.value) && showerr){
		errobj.innerHTML += "* "+fielddesc+"<br/>";
	}
};
function CheckText(field,fielddesc,showerr,errfield){
	var filter = /^[\w\-\s\.\,\(\)\:\;\/\\\{\}\[\]\!\?\&\@\$\#\%]+$/;
	CheckField(field,filter,fielddesc,showerr,errfield);
};
function CheckName(field,fielddesc,showerr,errfield){
	var filter = /^[\w\-\s\.\,\(\)\\\/]+$/;
	CheckField(field,filter,fielddesc,showerr,errfield);
};
function CheckAddress(field,fielddesc,showerr,errfield){
	var filter = /^[\w\-\,\.\s]+$/;
	CheckField(field,filter,fielddesc,showerr,errfield);
};
function CheckCity(field,fielddesc,showerr,errfield){
	var filter = /^[a-zA-Z\-\,\.\s]+$/;
	CheckField(field,filter,fielddesc,showerr,errfield);
};
function CheckTextLen(field,fielddesc,minlen,maxlen,showerr,errfield){
	var defaultmin = 1;
	var defaultmax = 255;
	if(minlen == 0) minlen = defaultmin;
	if(maxlen == 0) maxlen = defaultmax;
	var filter = new RegExp("^[\\w\\-\\,\\.\\s]{"+minlen+","+maxlen+"}$");
	CheckField(field,filter,fielddesc,showerr,errfield);
};
function CheckDropDown(field,fielddesc,showerr,errfield){
	var obj = document.getElementById(field);
	var errobj = document.getElementById(errfield);
	if(obj.selectedIndex < 1) errobj.innerHTML += "* "+fielddesc+"<br/>";
};
function CheckRadio(field,fielddesc,showerr,errfield){
	var obj = document.getElementsByName(field);
	var errobj = document.getElementById(errfield);
	var found = 0;
	for (var i=0; i<obj.length; i++){
		if(obj[i].checked){
			found = 1;
			break;
		}
	}
	if(!found) errobj.innerHTML += "* "+fielddesc+"<br/>";
};
function CheckPhone(field,fielddesc,showerr,errfield){
	var filter = /^[\(]?[\d]{3}[\)\-\.]?[\d]{3}[\-\.]?[\d]{4}$/;	
	CheckField(field,filter,fielddesc,showerr,errfield);
};
function CheckExt(field,fielddesc,showerr,errfield){
	var filter = /^\d{3,5}$/;
	CheckField(field,filter,fielddesc,showerr,errfield);
};
function CheckEmail(field,fielddesc,showerr,errfield){
	var filter = /^[\w\.\-]+\@([a-zA-Z\d\-]+\.)+[a-zA-z]{2,4}$/;
	CheckField(field,filter,fielddesc,showerr,errfield);
};
function CheckZIP(field,fielddesc,showerr,errfield){
	var filter = /^\d{5}$/;
	CheckField(field,filter,fielddesc,showerr,errfield);
};
function CheckLogin(field,fielddesc,showerr,errfield){
	var filter = /^[\w\-\.\!]{6,12}$/;
	CheckField(field,filter,fielddesc,showerr,errfield);
};
function CheckDate(field,fielddesc,showerr,errfield){
	var filter = /^\d{2}[\-\/]?\d{2}[\-\/]?\d{4}$/;
	CheckField(field,filter,fielddesc,showerr,errfield);
};
function CheckMoney(field,fielddesc,showerr,errfield){
	var filter = /^[\d]+(?:\.\d{2}|)$/;
	CheckField(field,filter,fielddesc,showerr,errfield);
};



/* --------------------------------------- WINDOW LAYER FUNCTIONS --------------------------------------- */
function openLayer(id){document.getElementById(id).style.display = "inline";}
function closeLayer(id){document.getElementById(id).style.display = "none";}
function ShowMsg(shadewin,msgwin,w,h){
	var l = (Number(w)/2)*-1;
	var t = (Number(h)/2)*-1;
	document.getElementById(msgwin).style.width = w;
	document.getElementById(msgwin).style.height = h;
	document.getElementById(msgwin).style.marginLeft = l;
	document.getElementById(msgwin).style.marginTop = t;
	openLayer(shadewin);
	openLayer(msgwin);
};
function HideMsg(shadewin,msgwin){
	closeLayer(msgwin);
	closeLayer(shadewin);
};
var tablay;
var tabbtn;
function showTabLayer(nlay,btn,upclass,downclass){
	if(nlay == tablay) return;
	if(objExists(tabbtn)) changeClass(tabbtn,downclass);
	if(objExists(tablay)) closeLayer(tablay);
	tablay = nlay;
	tabbtn = btn;
	if(objExists(btn)) changeClass(btn,upclass);
	if(objExists(nlay)) openLayer(nlay);
};
