var menus = new Array();
var subs = new Array();

var loc = window.location.toString();

if (loc.indexOf("admin") > 0) {
	var mitems = "clie:cont";
	var clie = "Client List*clients.php:Projects*clie_proj.php:Tasks*clie_task.php:Hours Spent*clie_hour.php:Invoices*clie_invs.php:Suggestions (#)*clie_sugg.php";
	var cont = "Website Content*content.php:FAQ'S*cont_faqs.php:Portfolio*cont_port.php:Careers*cont_cars.php:News*cont_news.php";
	subs[0] = clie.split(":");
	subs[1] = cont.split(":");
} else {
	var mitems = "corp:clie:serv:cont";
	var corp = "Information*corp_info.php:Mission Statement*corp_mission.php";
	var clie = "Extranet Login*/webisystems/extranet:What's the Extranet?*clie_extranet.php:Support Center*/support";
	var serv = "Graphic Design*serv_gdesign.php:Website Production*serv_websites.php:Software Development*serv_software.php";
	var cont = "Contact Us Online*contact.php:Request a Quote*cont_quote.php";
	subs[0] = corp.split(":");
	subs[1] = clie.split(":");
	subs[2] = serv.split(":");
	subs[3] = cont.split(":");
}

var menu_items = mitems.split(":");

var loc_arr = loc.split("/");
var page_name = loc_arr[loc_arr.length - 1];
var td_class = "";

for (var c = 0; c < menu_items.length; c++) {
	menus[c] = "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"2\" style=\"font-size: 10px; margin-top: 1px; margin-bottom: 1px;\">";
	for (var i = 0; i < subs[c].length; i++) {
		var values = subs[c][i].split("*");
		if (values[1] == page_name) {
			ex = " style=\"background-color: #598EB5; color: #FFFFFF;\"";
		} else {
			ex = "";
		}
		menus[c] += "<tr><td width=\"100%\" class=\"left_sub\" onMouseOver=\"this.className='left_subh'\" onMouseOut=\"this.className='left_sub'\" onClick=\"window.location='" + values[1] + "'\""+ex+">&raquo;&nbsp;&nbsp;" + values[0] + "</td></tr>";
	}
	menus[c] += "</table>";
}

function showSub(num, menu) {
	var to_get = menu + "_sub";
	var to_get2 = menu + "_id";
	var to_get3 = menu + "_main";
	
	var sub_td = document.getElementById(to_get);
	var id_td = document.getElementById(to_get2);
	var main_td = document.getElementById(to_get3);
	
	if (loc.indexOf("admin") > 0) {
		var ex = "../";
	} else {
		var ex = "";
	}
	
	if (id_td.src.indexOf("icon_plus") > 0) {
		// clear all other menus
		for (var i = 0; i < menu_items.length; i++) {
			var subba = document.getElementById(menu_items[i] + "_sub");
			var idba = document.getElementById(menu_items[i] + "_id");
			var mainba = document.getElementById(menu_items[i] + "_main");
			idba.src = ex + "images/icon_plus.gif";
			mainba.style.backgroundColor = "";
			mainba.style.color = "";
			subba.innerHTML = "<img src=\"images/spacer.gif\" height=\"1\">";
		}
	}
	
	if (id_td.src.indexOf("icon_plus") > 0) {
		id_td.src = ex + "images/icon_minus.gif";
		main_td.style.backgroundColor = "#265B83";
		main_td.style.color = "#FFFFFF";
		sub_td.innerHTML = menus[num];
	} else {
		id_td.src = ex + "images/icon_plus.gif";
		main_td.style.backgroundColor = "";
		main_td.style.color = "";
		sub_td.innerHTML = "<img src=\"images/spacer.gif\" height=\"1\">";
	}
}

function saveLogin() {
	if (validateForm(document.login)) {
		if (document.login.savelogpw.checked == true) {
			var userN = document.login.D1.value;
			var userP = document.login.D2.value;
			createCookie("PZLogin",userN,90);
			createCookie("PZPass",userP,90);
			createCookie("PZSave",1,90);
			document.login.submit();
		} else {
			document.login.submit();
			eraseCookie("PZLogin");
			eraseCookie("PZPass");
			eraseCookie("PZSave");
		}
	}
}

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;
}

function eraseCookie(name)
{
	createCookie(name,"",-1);
}

function fadeBody() {
	document.getElementById("totalContent").className = "bfaded";
}

function deFadeBody() {
	document.getElementById("totalContent").className = "";
}

function validateForm(form) {
	var error_objs = new Array();
	var error_msgs = new Array();
	var c = 0;
	
	// loop through all form elements
	for (var i = 0; i < form.elements.length; i++) {
		var field = form.elements[i];
		var fdata = xReplace(field.id,field.name+"_","");
		var ftype = fdata.split(":"); // ftype[0] is field type, ftype[1] is required
		var thisType = ftype[0];
		if (ftype[1] == 1) {
			var thisReq = 1;
		} else {
			var thisReq = 0;
		}
		
		if (field.name == "entryC" && thisReq) {
			if (document.getElementById("rCaHnAdRoSm")) {
				var rdc = document.getElementById("rCaHnAdRoSm").value;
			} else {
				var rdc = document.getElementById("gTh").innerHTML;
			}
			if (rdc != field.value) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter the code from the image below (case-sensitive)";
				c++;
			}
		} else if (field.name == "eq" && thisReq) {
			if (parseInt(field.value) != parseInt(field.maxLength)) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter the answer to the equation to the left";
				c++;
			}
		} else if (field.name == "email" && thisReq) {
			if (!isValidEmail(field.value)) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter a valid e-mail";
				c++;
			}
		} else if (field.name == "name" && thisReq) {
			if (field.value == "") {
				error_objs[c] = field;
				error_msgs[c] = "Please enter name";
				c++;
			}
		} else if (field.name == "state" && thisReq) {
			if (field.value.length < 2) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter a valid 2 character state";
				c++;
			}
		} else if ((field.name == "phone1" || field.name == "phone2" || field.name == "phone") && thisReq) {
			if (field.value.length < 10) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter a valid phone number";
				c++;
			}
		} else if ((field.name == "fax1" || field.name == "fax2" || field.name == "fax") && thisReq) {
			if (field.value.length < 10) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter a valid fax number";
				c++;
			}
		} else if (field.name == "zip" && thisReq) {
			if (field.value.length < 5 || !isNumeric(field.value)) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter at least 5 digit zip code";
				c++;
			}
		} else if (thisType == "select" && thisReq) {
			if (field.selectedIndex == 0) {
				error_objs[c] = field;
				error_msgs[c] = "Please select " + field.name;
				c++;
			}
		} else if (thisType == "textarea" && thisReq) {
			if (field.value == "") {
				error_objs[c] = field;
				error_msgs[c] = "Please enter " + field.name;
				c++;
			}
		} else if (field.name == "password" && thisReq) {
			if (field.value.length < 6) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter " + field.name;
				c++;
			}
		} else if (thisType == "textbox" && thisReq) {
			if (field.value.length < 1) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter " + field.name;
				c++;
			} else if (field.value == "mm/dd/yyyy" || field.value == "mm/dd") {
				error_objs[c] = field;
				error_msgs[c] = "Please enter " + field.name;
				c++;
			}
		} else if (field.reqd) {
			if (field.value.length < 1) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter " + field.name;
				c++;
			}
		}
	}
	
	// now deal with error fields, if any
	if (error_objs.length == 0) { // no errors
		return true;
	} else {
		// reset all field properties
		for (var i = 0; i < form.elements.length; i++) {
			var ic = form.elements[i].name + "_c";
			var field = form.elements[i];
			if (form.elements[i].name == "submitted" || form.elements[i].name == "close") { continue; }
			if (document.getElementById(ic)) {
				var img_cell = document.getElementById(ic);
				img_cell.innerHTML = "<img src=\"images/right.gif\">";
			} else {
				if (field.className == "inputError") {
					field.className = "inputFixed";
				} else {
					field.className = "input";
				}
			}
		}
		
		// set error fields
		for (var i = 0; i < error_objs.length; i++) {
			var field = error_objs[i];
			var ic = field.name + "_c";
			if (form.elements[i].name == "submitted" || form.elements[i].name == "close") { continue; }
			var spacer = "<br>";
			if (document.getElementById(ic)) {
				var img_cell = document.getElementById(ic);
				img_cell.innerHTML = "<img src=\"images/wrong.gif\">" + spacer + error_msgs[i];
			} else {
				field.className = "inputError";
				field.title = error_msgs[i];
			}
		}
		
		return false;
	}
}

var store_order = "";

function retrieveData(page, ovr_s, ovr_t, ovr_fld, ovr_order) {

	var s = 0;
	var t = 0;
	var fld = "";
	var order = "";
	
	if (ovr_s) {
		s = ovr_s;
		t = ovr_t;
		fld = ovr_fld;
		order = ovr_order;
	}
	
	if (document.sorting.submitted) {
		fld = document.sorting.fld.options[document.sorting.fld.selectedIndex].value;
		order = document.sorting.order.options[document.sorting.order.selectedIndex].value;
	}
	
	if (document.getElementById("last_config").value == 1) {
		s = store_s;
		t = store_t;
		fld = store_fld;
		order = store_order;
	}
	
	store_s = s;
	store_t = t;
	store_fld = fld;
	store_order = order;

	var element = document.getElementById('data_container'); 
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 

	loading();
	// get DATA
	xmlhttp.open("GET", page + "?to_get=DATA&s="+s+"&t="+t+"&fld="+fld+"&order="+order); 
	xmlhttp.onreadystatechange = function() { 
	    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
	   		element.innerHTML = xmlhttp.responseText; 
			setTimeout("doneLoading()",100);
	    } 
	} 
	xmlhttp.send(null);
}

function retrievePaginate(page, ovr_s, ovr_t, ovr_fld, ovr_order) {

	var s = 0;
	var t = 0;
	var fld = "";
	var order = "";
	
	if (ovr_s) {
		s = ovr_s;
		t = ovr_t;
		fld = ovr_fld;
		order = ovr_order;
	}
	
	if (document.sorting.submitted) {
		fld = document.sorting.fld.options[document.sorting.fld.selectedIndex].value;
		order = document.sorting.order.options[document.sorting.order.selectedIndex].value;
	}
	
	if (document.getElementById("last_config").value == 1) {
		s = store_s;
		t = store_t;
		fld = store_fld;
		order = store_order;
	}
	
	store_s = s;
	store_t = t;
	store_fld = fld;
	store_order = order;

	var element = document.getElementById('paginate_container'); 
	xmlhttp2 = new ActiveXObject("Microsoft.XMLHTTP"); 
	// get DATA
	xmlhttp2.open("GET", page + "?to_get=PAGINATE&s="+s+"&t="+t+"&fld="+fld+"&order="+order); 
	xmlhttp2.onreadystatechange = function() { 
	    if (xmlhttp2.readyState == 4 && xmlhttp2.status == 200) {
	   		element.innerHTML = xmlhttp2.responseText; 
	    } 
	} 
	xmlhttp2.send(null); 
}

function loading() {
	if (document.getElementById("loading_timer")) {
		var loading = document.getElementById("loading_timer");
		var screenWidth = screen.width;
		
		var mainContent = document.getElementById("mainContent");
		
		var screenWidth = screen.width;
		var windowOffset = window.screenLeft;
		var windowWidth = document.body.clientWidth;
		var contentOffset = (windowWidth - parseInt(mainContent.width)) / 2;
		var leftPos = contentOffset + 485;
		
		if (document.body.scrollTop < 120) {
			var topPos = 120;
		} else {
			var topPos = document.body.scrollTop + 5;
		}
		loading.style.left = leftPos;
		loading.style.top = topPos;
		loading.style.display = "block";
	}
}

function doneLoading() {
	if (document.getElementById("loading_timer")) {
		document.getElementById("loading_timer").style.display = "none";
	}
}

var lastScrollTop = "";

function createNewRecord(page,edit,id_name,id) {
	var element = document.getElementById("new_record_cell"); 
	var mainContent = document.getElementById("mainContent");
	
	lastScrollTop = window.scrolltop;
	
	var ext_link = "?popUp=1";
	if (edit) {
		ext_link = ext_link + "&edit=1&"+id_name+"="+id;
	}
	
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	// get DATA
	loading();
	xmlhttp.open("GET", page+ext_link); 
	xmlhttp.onreadystatechange = function() { 
	    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
	   		element.innerHTML = xmlhttp.responseText; 
			setTimeout("onLoadEvents()", 100);
			setTimeout("doneLoading()", 100);
	    } 
	}
	
	var windowOffset = window.screenLeft;
	var windowWidth = document.body.clientWidth;
	var contentOffset = (windowWidth - parseInt(mainContent.width)) / 2;
	
	var dialogLeft = contentOffset;
	var dialogTop = 120;
	
	fadeBody();
	element.style.top = dialogTop;
	element.style.left = dialogLeft;
	element.filters.blendTrans.Apply();
	element.filters.blendTrans.play();
	element.className = "alert_h";
	
	xmlhttp.send(null);
}

function onLoadEvents() {
	// handle any onLoad events
	if (document.getElementById("onLoad_Func")) {
		var funcs = new Array();
		funcs = document.getElementById("onLoad_Func").value.split(";");
		for (var i = 0; i < funcs.length; i++) {
			setTimeout(funcs[i],50);
		}
	}
}

function reLocateTimer() {
	// relocate loading timer to correct spot
	var timer = document.getElementById("loading_timer");
	var MC = document.getElementById("mainContent");
	var screenWidth = screen.width;
	var windowOffset = window.screenLeft;
	var windowWidth = screenWidth - windowOffset;
	var contentOffset = (windowWidth - parseInt(MC.width)) / 2;
	var leftMenuPos = contentOffset + 600;
	timer.style.left = leftMenuPos;
	timer.style.top = 160;
}

function closeNewRecord(gr_page) {
	deFadeBody();
	var dashpos = gr_page.indexOf("_get");
	var this_vp = gr_page.substring(0,dashpos)+".php";
	var window_loc = window.location.href.split("/");
	var current_page = window_loc[(window_loc.length - 1)];
	var element = document.getElementById("new_record_cell");
	element.filters.blendTrans.Apply();
	element.filters.blendTrans.play();
	element.className = "alert";
	element.innerHTML = "";
	window.scrollTop = lastScrollTop;
	if (gr_page) {
		if (document.getElementById("data_container") && (this_vp == current_page)) {
			document.getElementById("last_config").value = 1;
			retrieveData(gr_page, 0,0,0,0);
			retrievePaginate(gr_page, 0,0,0,0);
			document.getElementById("last_config").value = 0;
		}
	}
}

function processNewRecord(form,page,edit,id_name,id,valRet,redir_timeout,gr_page,close_win) {
	page = page.split("/");
	var to_page = page[(page.length - 1)];
	var urlStr = "?page="+escape(to_page);
	var cb = 0;
	var cc = 0;
	var ai = 0;
	var cbfield = new Array();
	var field_data = new Array();
	var a_id = new Array();
	
	for (var i = 0; i < form.elements.length; i++) {
		var ex = "&";
		field = form.elements[i];
		if (field.htmltype == "textbox") {
			urlStr += ex+field.name+"="+encodeHTML(field.value);
		} else if (field.htmltype == "textarea") {
			urlStr += ex+field.name+"="+encodeHTML(field.innerHTML);
		} else if (field.htmltype == "radio") {
			urlStr += ex+field.name+"="+encodeHTML(field.value);
		} else if (field.htmltype == "checkbox") {
			var pos = field.name.indexOf("[");
			if (pos > 0) {
				var fieldName = field.name.substring(0,pos);
				var no_put = 0;
				for (var n = 0; n < cbfield.length; n++) {
					if (cbfield[n] == fieldName) {
						no_put = 1;
					}
				}
				
				if (no_put == 0) {
					cbfield[cb] = fieldName;
					field_data[fieldName] = new Array();
					cb++;
					cc = 0;
				}
				
				if (field.checked) {
					field_data[fieldName][cc] = encodeHTML(field.value);
					cc++;
				}
			} else {
				if (field.checked) {
					urlStr += ex+field.name+"=1";
				}
			}
		} else if (field.htmltype == "select") {
			urlStr += ex+field.name+"="+encodeHTML(field.options[field.selectedIndex].value);
		} else if (field.type == "hidden") {
			urlStr += ex+field.name+"="+encodeHTML(field.value);
		}
	}
	
	for (var m = 0; m < cbfield.length; m++) {
		urlStr += "&"+cbfield[m]+"="+field_data[cbfield[m]];
	}
	
	var this_page = window.location;
	
	if (valRet) {
		// valRet is the value returned from form validator, required for submission
		var element2 = document.getElementById("new_record_cell");  
		xmlhttp5 = new ActiveXObject("Microsoft.XMLHTTP");
		// get DATA
		document.body.scrollTop = 0;
		loading();
		xmlhttp5.open("GET", "pp_form_curl.php"+urlStr); 
		xmlhttp5.onreadystatechange = function() { 
		    if (xmlhttp5.readyState == 4 && xmlhttp5.status == 200) {
		   		element2.innerHTML = xmlhttp5.responseText; 
		    } 
		}
		element2.className = "alert_h";
		setTimeout("doneLoading()", 1000);
		if (close_win == 0) {
			setTimeout("closeNewRecord('"+gr_page+"')", redir_timeout);
			setTimeout("createNewRecord('"+to_page+"',"+edit+",'"+id_name+"','"+id+"')", redir_timeout+100);
		} else {
			setTimeout("closeNewRecord('"+gr_page+"')", redir_timeout);
		}
		xmlhttp5.send(null);
	}
	
	//unescape(string.replace(/\+/g,  " "));
}

function formatPhone(field) {
	field.value = field.value.replace('-', '');
	field.value = field.value.replace(' ', ''); 
	field.value = field.value.replace('(', ''); 
	field.value = field.value.replace(')', '');
	
	if (field.value.length == 10) {
		var str = "(" + field.value.substring(0, 3) + ") " + field.value.substring(3,6) + "-" + field.value.substring(6,10);
		field.value = str;
	}
}

function encodeHTML(encodedHtml) {
	//encodedHtml = xReplace(encodedHtml,"\n","<br>");
	encodedHtml = xReplace(encodedHtml,/\//g,"%2F");
	encodedHtml = xReplace(encodedHtml,/\?/g,"%3F");
	encodedHtml = xReplace(encodedHtml,/=/g,"%3D");
	encodedHtml = xReplace(encodedHtml,/&/g,"%26");
	encodedHtml = xReplace(encodedHtml,/@/g,"%40");
	encodedHtml = escape(encodedHtml);
	return encodedHtml;
} 

function validateData(form) {
	var error_objs = new Array();
	var error_msgs = new Array();
	var c = 0;
	
	for (var i = 0; i < form.elements.length; i++) {
		var field = form.elements[i];
		if (field.name == "email" && field.reqd) {
			if (!isValidEmail(field.value)) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter a valid e-mail address";
				c++;
			}
		} else if (field.name == "state" && field.reqd) {
			if (field.value.length != 2) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter a valid 2 character state";
				c++;
			}
		} else if ((field.name == "phone1" || field.name == "phone2" || field.name == "phone") && (field.reqd)) {
			if (field.value.length < 10) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter a valid phone number";
				c++;
			}
		} else if ((field.name == "fax1" || field.name == "fax2" || field.name == "fax") && (field.reqd)) {
			if (field.value.length < 10) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter a valid fax number";
				c++;
			}
		} else if (field.name == "zip" && field.reqd) {
			if (field.value.length < 5 || !isNumeric(field.value)) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter at least 5 digits in the zip code field";
				c++;
			}
		} else if (field.htmltype == "checkbox" && field.reqd) {
			var one_checked = 0;
			var rpos = field.name.indexOf("[");
			var fieldName = field.name.substring(0,rpos);
			var thisName = "";
			for (var n = 0; n < form.elements.length; n++) {
				thisName = form.elements[n].name.substring(0,rpos);
				if (thisName == fieldName) {
					if (form.elements[n].checked == true) {
						one_checked = 1;
					}
				}
			}
			if (one_checked == 0) {
				error_objs[c] = field;
				error_msgs[c] = "Please select at least one value for this field";
				c++;
			}
		} else if (field.htmltype == "radio" && field.reqd) {
			var other_boxes = document.getElementById(field.name);
		} else if (field.htmltype == "select" && field.reqd) {
			if (field.selectedIndex == 0) {
				error_objs[c] = field;
				error_msgs[c] = "Please select a value for the " + field.name + " field";
				c++;
			}
		} else if (field.htmltype == "textbox" && field.reqd) {
			if (field.value.length < 1) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter a value in the " + field.name + " field";
				c++;
			} else if (field.value == "mm/dd/yyyy" || field.value == "mm/dd") {
				error_objs[c] = field;
				error_msgs[c] = "Please enter a value in the " + field.name + " field";
				c++;
			}
		} else if (field.reqd) {
			if (field.value.length < 1) {
				error_objs[c] = field;
				error_msgs[c] = "Please enter a value in the " + field.name + " field";
				c++;
			}
		}
	}
	
	if (error_objs.length == 0) { // no errors
		return true;
	} else {
		// reset all field properties
		
		var strLoc = window.location.toString();
		if (strLoc.indexOf("admin") > 0) {
			var ex_img = "../";
		} else {
			var ex_img = "";
		}
		
		for (var i = 0; i < form.elements.length; i++) {
			var ic = form.elements[i].name + "_c";
			var field = form.elements[i];
			if (form.elements[i].name == "submitted") { continue; }
			if (document.getElementById(ic)) {
				var img_cell = document.getElementById(ic);
				img_cell.innerHTML = "<img src=\""+ex_img+"images/right.gif\">";
			} else {
				// no error details cell, color input
				field.style.backgroundColor = "#FFFFFF";
			}
		}
		
		// set error fields
		for (var i = 0; i < error_objs.length; i++) {
			var field = error_objs[i];
			var ic = field.name + "_c";
			if (form.elements[i].name == "submitted") { continue; }
			if (error_objs[i].htmltype == "textarea" || error_objs[i].htmltype == "radio" || error_objs[i].htmltype == "checkbox") {
				var spacer = "&nbsp;";
			} else {
				var spacer = "<br>";
			}
			if (document.getElementById(ic)) {
				var img_cell = document.getElementById(ic);
				img_cell.innerHTML = "<img src=\""+ex_img+"images/wrong.gif\">" + spacer + error_msgs[i];
			} else {
				// no error details cell, color input
				field.style.backgroundColor = "#EF8787";
			}
		}
		
		if (form.name == "caribbean") {
			if (i == 1) {
				document.getElementById("errorMsg").innerHTML = "There is "+i+" empty field";
			} else {
				document.getElementById("errorMsg").innerHTML = "There are "+i+" empty fields";
			}
		}
		
		return false;
	}
}

function isNumeric(sText) {
   var ValidChars = "0123456789";
   var IsNumber = true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) {
         IsNumber = false;
      }
   }
   return IsNumber;
}

function isValidEmail(email) {
	if (email.indexOf("@") <= 0 || email.indexOf(".") <= 0) {
		return false;
	}
	return true;
}

function selectRow(num) {
	var other = document.getElementsByTagName('td');
	var othertds = new Array();
	var c = 0;
	
	for (var i = 0; i < other.length; i++) {
		if (other[i].row == num) {
			othertds[c] = other[i];
			c++;
		} else {
			// not row cell, do not include
		}
	}
	
	for (i = 0; i < othertds.length; i++) {
		if (othertds[i].style.backgroundColor == "#ebe95e") {
			// do nothing
		} else {
			othertds[i].style.backgroundColor = "#A1BAD6";
			othertds[i].style.cursor = "hand";
		}
	}
}

function deSelectRow(num) {
	var other = document.getElementsByTagName('td');
	var othertds = new Array();
	var c = 0;
	
	for (var i = 0; i < other.length; i++) {
		if (other[i].row == num) {
			othertds[c] = other[i];
			c++;
		} else {
			// not row cell, do not include
		}
	}
	
	if (num % 2 == 0) {
		var bgcolor = "#E8E5E5";
	} else {
		var bgcolor = "#FFFFFF";
	}
	
	for (i = 0; i < othertds.length; i++) {
		if (othertds[i].style.backgroundColor == "#ebe95e") {
			// do nothing
		} else {
			othertds[i].style.backgroundColor = bgcolor;
			othertds[i].style.cursor = "";
		}
	}
}

function showHideOptions(which) {
	closeOptionBox();
	var func_table = document.getElementById(which+"_table");
	func_table.style.display = "block";
}

function highlightOptTrig(which) {
	var func_trig = document.getElementById(which+"_trig");
	func_trig.className = "funcs_h";
}

function closeOptionBox() {
	// run loop to close all other "func_cell" tables
	var tables = document.getElementsByTagName("table");
	for (var i = 0; i < tables.length; i++) {
		if (tables[i].className == "func_cell") {
			tables[i].style.display = "none";
			var opt_name = tables[i].id.substring(0,(tables[i].id.indexOf("_")));
			var func_trig = document.getElementById(opt_name+"_trig");
			func_trig.className = "funcs";
		}
	}
}

function createImages(num,img_type) {
	var element = document.getElementById("images_container"); 
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	// get DATA
	loading();
	xmlhttp.open("GET", "create_imgfields.php?num_imgs="+num+"&img_type="+img_type); 
	xmlhttp.onreadystatechange = function() { 
	    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
	   		element.innerHTML = xmlhttp.responseText; 
	    } 
	} 
	setTimeout("doneLoading()", 1000);
	xmlhttp.send(null);
}

function deleteImg(img_type,id,img_num) {
	var actual_num = parseInt(img_num) + 1;
	if (img_type == "news") {
		var text = "article";
	} else if (img_type == "promotions") {
		actual_num = "[logo]";
		var text = "promotion";
	}
	if (confirm("Are you sure you want to delete image "+actual_num+" for this "+text+"?")) {
		var element = document.getElementById(img_type+id+img_num); 
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		// get DATA
		loading();
		xmlhttp.open("GET", "img_delete.php?img_type="+img_type+"&id="+id+"&img_num="+img_num); 
		xmlhttp.onreadystatechange = function() { 
		    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				if (xmlhttp.responseText == "1") {
					element.innerHTML = "Image "+actual_num+" deleted <font color='green'><b>successfully</b></font>";
				} else {
		   			element.innerHTML += "<br><br>Deleting Image "+actual_num+" <font color='red'><b>failed</b></font><br>"+xmlhttp.responseText; 
		    	}
				setTimeout("doneLoading()", 100);
			} 
		} 
		xmlhttp.send(null);
	}
}

function srConfirmYes(page,id_name,id) {
	xmlhttp3 = new ActiveXObject("Microsoft.XMLHTTP");
	// get DATA
	//loading();
	var pos = page.indexOf(".");
	var gr_page = page.substring(0,pos)+"_getrecs.php";
	xmlhttp3.open("GET", page+"?del=1&final=1&"+id_name+"="+id); 
	xmlhttp3.onreadystatechange = function() { 
	    if (xmlhttp3.readyState == 4 && xmlhttp3.status == 200) {
		} 
	}
	xmlhttp3.send(null);
	closeConfirm();
	if (document.getElementById("data_container")) {
		document.getElementById("last_config").value = 1;
		setTimeout("retrieveData('"+gr_page+"', 0,0,0,0)",600);
		setTimeout("retrievePaginate('"+gr_page+"', 0,0,0,0)",600);
		document.getElementById("last_config").value = 0;
	}
}

function srConfirm(text,page,id_name,id) {
	var screenWidth = screen.width;
	var screenHeight = screen.height;
	var windowOffset = window.screenLeft;
	var windowOffsetTop = window.screenTop;
	var windowWidth = document.body.clientWidth;
	var windowHeight = document.body.clientHeight;
	var dialogLeft = (windowWidth / 2) - 135;
	var dialogTop = (windowHeight / 2) - 50;
	
	text = xReplace(text,"\n","<br>");
	
	var element = document.getElementById("alert_container");
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	// get DATA
	//loading();
	xmlhttp.open("GET", "../includes/confirm.php?text="+escape(text)+"&page="+page+"&"+id_name+"="+id+"&id_name="+id_name); 
	xmlhttp.onreadystatechange = function() { 
	    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
	   		element.innerHTML = xmlhttp.responseText; 
	    } 
	}
	element.style.top = dialogTop;
	element.style.left = dialogLeft;
	element.filters.blendTrans.Apply();
	element.filters.blendTrans.play();
	element.className = "alert_h";
	//setTimeout("doneLoading()", 1000);
	xmlhttp.send(null);
}

function closeConfirm() {
	var element = document.getElementById("alert_container");
	element.filters.blendTrans.Apply();
	element.filters.blendTrans.play();
	element.className = "alert";
	element.innerHTML = "";
}

function xReplace(checkMe,toberep,repwith){
	var temp = checkMe;
	var i = temp.indexOf(toberep);
	while(i > -1) {
		temp = temp.replace(toberep, repwith);
		i = temp.indexOf(toberep, i + repwith.length + 1);
	}
	return temp;
}

function startclock() {
	var thetime=new Date();
	var nhours=thetime.getHours();
	var nmins=thetime.getMinutes();
	var nsecn=thetime.getSeconds();
	var nday=thetime.getDay();
	var nmonth=thetime.getMonth();
	var ntoday=thetime.getDate();
	var nyear=thetime.getYear();
	var AorP=" ";
	
	if (nhours>=12)
    	AorP="PM";
	else
    	AorP="AM";

	if (nhours>=13)
   		nhours-=12;

	if (nhours==0)
    	nhours=12;

	if (nsecn<10)
		nsecn="0"+nsecn;

	if (nmins<10)
		nmins="0"+nmins;
	
	var days = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
	var months = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	
	nday = days[nday];
	nmonth = months[nmonth];

    if (nyear<=99)
        nyear= "19"+nyear;

    if ((nyear>99) && (nyear<2000))
        nyear+=1900;

	document.getElementById("clock").innerHTML = nday+" "+nmonth+" "+ntoday+", "+nyear+" "+nhours+":"+nmins+" "+AorP;

setTimeout('startclock()',1000);

}

function switchCase(field_id) {
	var field = document.getElementById(field_id);
	var capsHref = document.getElementById("caps_ref");
	if (capsHref.innerHTML == "CAPS Off") {
		// caps on, turn off
		field.onkeyup = "";
		capsHref.innerHTML = "CAPS On";
	} else {
		// turn on
		field.onkeyup = function() { this.value = this.value.toUpperCase() };
		capsHref.innerHTML = "CAPS Off";
	}
	field.focus();
}

function prevArticle() {
	var num_articles = parseInt(document.getElementById("num_articles").innerHTML);
	var article_num = parseInt(document.getElementById("article_num").innerHTML);
	var article_ids = document.getElementById("articles").innerHTML.split(":");
	newNum = article_num - 1;
	if (newNum >= 1) {
		document.getElementById("article_num").innerHTML = newNum;
		var element = document.getElementById("article_container"); 
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		// get DATA
		loading();
		var id = article_ids[newNum - 1];
		xmlhttp.open("GET", "getArticle.php?id="+id); 
		xmlhttp.onreadystatechange = function() { 
		    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
		   		element.innerHTML = xmlhttp.responseText; 
				setTimeout("doneLoading()", 100);
				setTimeout("posImgCtrl()", 100);
		    }
		}
		xmlhttp.send(null);
	}
}

function nextArticle() {
	var num_articles = parseInt(document.getElementById("num_articles").innerHTML);
	var article_num = parseInt(document.getElementById("article_num").innerHTML);
	var article_ids = document.getElementById("articles").innerHTML.split(":");
	newNum = article_num + 1;
	if (newNum <= num_articles) {
		document.getElementById("article_num").innerHTML = newNum;
		var element = document.getElementById("article_container"); 
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		// get DATA
		loading();
		var id = article_ids[article_num];
		xmlhttp.open("GET", "getArticle.php?id="+id); 
		xmlhttp.onreadystatechange = function() { 
		    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
		   		element.innerHTML = xmlhttp.responseText; 
				setTimeout("doneLoading()", 100);
				setTimeout("posImgCtrl()", 100);
		    } 
		}
		xmlhttp.send(null);
	}
}

function nextImage(rec_id,img_type) {
	var img_num = parseInt(document.getElementById("img"+rec_id+"_num").innerHTML);
	var image = document.getElementById("articleImage");
	var b_link = document.getElementById("img"+rec_id+"_blink");
	var num_images = image.num_images;
	var img = "images/"+img_type+"/"+img_type+rec_id+img_num+"_thumb.jpg";
	var bigImg = "images/"+img_type+"/"+img_type+rec_id+img_num+".jpg";
	image.src = img;
	b_link.href = bigImg;
	document.getElementById("img"+rec_id+"_num").innerHTML = (img_num+1);
	if ((img_num+1) == 2) {
		document.getElementById(rec_id+"prev_img").style.display = "block";
	}
	if ((img_num+1) == num_images) {
		document.getElementById(rec_id+"next_img").style.display = "none";
	}
	posImgCtrl();
}

function prevImage(rec_id,img_type) {
	var img_num = parseInt(document.getElementById("img"+rec_id+"_num").innerHTML);
	var image = document.getElementById("articleImage");
	var b_link = document.getElementById("img"+rec_id+"_blink");
	var num_images = image.num_images;
	var img = "images/"+img_type+"/"+img_type+rec_id+(img_num-2)+"_thumb.jpg";
	var bigImg = "images/"+img_type+"/"+img_type+rec_id+(img_num-2)+".jpg";
	image.src = img;
	b_link.href = bigImg;
	document.getElementById("img"+rec_id+"_num").innerHTML = (img_num-1);
	if ((img_num-2) == 0) {
		document.getElementById(rec_id+"prev_img").style.display = "none";
	}
	if ((img_num - 1) < num_images) {
		document.getElementById(rec_id+"next_img").style.display = "block";
	}
	posImgCtrl();
}

function posImgCtrl() {
	if (document.getElementById("img_ctrl")) {
		var img_ctrl = document.getElementById("img_ctrl");
		var articleImage = document.getElementById("articleImage");
		var leftPos = articleImage.offsetLeft + 90;
		var topPos = articleImage.offsetTop + articleImage.height + 140;
		img_ctrl.style.left = leftPos;
		img_ctrl.style.top = topPos;
	}
}

function showMenu(which) {
	var menu = document.getElementById("menu_"+which);
	var trig = document.getElementById("trig_"+which);
	trig.className = "topMenu_h";
	var main_content = document.getElementById("main_content");
	var screenWidth = screen.width;
	var windowOffset = window.screenLeft;
	var windowWidth = document.body.clientWidth;
	var contentOffset = (windowWidth - main_content.width) / 2;
	var leftMenuPos = contentOffset + trig.offsetLeft - 1;
	menu.style.left = leftMenuPos;
	menu.style.top = 137;
	if (menu.style.display == "none") {
		menu.style.display = "block";
	} else {
		menu.style.display = "none";
	}
}

function hideMenu(which) {
	var menu = document.getElementById("menu_"+which);
	var trig = document.getElementById("trig_"+which);
	if (getEntered() == 0) {
		if (navigator.appName == "Netscape") {
			// don't hide menu
		} else {
			trig.className = "topMenu";
			menu.style.display = "none";
		}
	}
}

function setEntered() {
	var entMenu = document.getElementById("entMenu");
	entMenu.value = 1;
}

function clearEntered() {
	var entMenu = document.getElementById("entMenu");
	entMenu.value = 0;
}

function getEntered() {
	var entMenu = document.getElementById("entMenu");
	return entMenu.value;
}

function menuOut(td,menu) {
	td.className = "topMenu";
	setTimeout("hideMenu('"+menu+"')",100);
}

function getImageFields(obj) {
	var imgTable = document.getElementById("imagesTable");
	var numImg = obj.options[obj.selectedIndex].value;
	var numRows = imgTable.rows.length - 1;
	if (numRows > numImg) {
		// more img rows than needed
		for (n = (numRows-1); n > 0; n--) {
			if (n == (numImg-1)) {
				break;
			}
			imgTable.deleteRow(n);
		}
	} else {
		// need more rows
		for (n = numRows; n < numImg; n++) {
			var tableRow = imgTable.insertRow(n);
			var tableCell = tableRow.insertCell(0);
			tableCell.innerHTML = "<input type=\"file\" class=\"input\" name=\"image[]\" num_img=\""+n+"\" size=\"25\" accept=\"image/jpeg\">";
			var tableCell2 = tableRow.insertCell(1);
			tableCell2.innerHTML = "&nbsp;Caption:&nbsp;<input type=\"text\" class=\"input\" name=\"caption"+n+"\" size=\"20\">";
		}
	}
}

function openPhoto(imgWidth,imgHeight,image,caption) {
	if (document.getElementById("mainContent")) {
		var main_content = document.getElementById("mainContent");
	} else {
		var main_content = document.getElementById("main_content");
	}
	var screenWidth = screen.width;
	var windowOffset = window.screenLeft;
	var windowWidth = document.body.clientWidth;
	var windowHeight = document.body.clientHeight;
	var contentOffset = (windowWidth - main_content.width) / 2;
	var leftPos = windowOffset + contentOffset + 260;
	var topPos = 400;
	leftPos = leftPos - (imgWidth / 2);
	topPos = topPos - (imgHeight / 2);
	window.open('http://www.supplynewengland.com/memory_pic.php?image='+image+'&caption='+escape(caption),'popImage','titlebar=0,toolbar=0,menubar=0,status=0,scrollbars=0,status=0,width='+(imgWidth+15)+',height='+(imgHeight+40)+',left='+leftPos+',top='+topPos);
}

function creditApp() {
	var screenWidth = screen.width;
	var windowOffset = window.screenLeft;
	var windowWidth = document.body.clientWidth;
	var windowHeight = document.body.clientHeight;
	var contentOffset = (windowWidth - 800) / 2;
	var leftPos = windowOffset + contentOffset + 20;
	var topPos = 260;
	window.open('http://www.supplynewengland.com/credit_app.php','application','titlebar=0,toolbar=0,menubar=0,status=0,scrollbars=0,status=0,width=530,height=335,left='+leftPos+',top='+topPos);
}

function deleteMemoryImg(type,id,num) {
	if (confirm("Are you sure you want this image?\n"+type+"_"+id+"_"+num)) {
		var element = document.getElementById("photo"+id+"_"+num); 
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		// get DATA
		loading();
		xmlhttp.open("GET", "allmemories.php?delete=1&type="+type+"&picID="+id+"&picNUM="+num); 
		xmlhttp.onreadystatechange = function() { 
		    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				element.innerHTML = xmlhttp.responseText;
				setTimeout("doneLoading()", 100);
			} 
		} 
		xmlhttp.send(null);
	}
}

function playHeaders() {
	preLoadImage("images/header4.jpg");
	setTimeout("updateHeader('header_img','images/header4.jpg')", 10000);
	setTimeout("updateHeader('header_img','images/header3.jpg')", 20000);
}

function preLoadImage(img_src) {
	imageObj = new Image();
	imageObj.src = "http://www.supplynewengland.com/"+img_src;
}

function updateHeader(obj_id, img_src) {
	var image = document.getElementById(obj_id);
	if (navigator.appName.indexOf("Internet Explorer") > 0) {
		// internet explorer
		image.filters.blendTrans.Apply();
		image.filters.blendTrans.play();
	}
	image.src = img_src;
}

function showNews(news_id) {
	document.getElementById("newsFrame").src = "sne_newsView.php?nid="+news_id;
}

function newsFlash() {
	var cell = document.getElementById("newsButton");
	if (cell.className == "topMenu") {
		cell.className = "topMenu_s";
		cell.style.fontSize = "12px";
	} else {
		cell.className = "topMenu";
		cell.style.fontSize = "11px";
	}
	setTimeout("newsFlash()",450);
}

function doSel(obj) {
   for (i = 1; i < obj.length; i++)
      if (obj[i].selected == true)
        eval(obj[i].id);
}

function photoControl(action,folder,type,id,index,preDIR) {
	index = parseInt(index);
	id = parseInt(id);
	var goPage = 0;
	if (action == "up") {
		document.getElementById("iMan").src = "photoMan.php?a="+action+"&folder="+folder+"&type="+type+"&id="+id+"&preDIR="+preDIR+"&index="+index;
	} else if (action == "down") {
		document.getElementById("iMan").src = "photoMan.php?a="+action+"&folder="+folder+"&type="+type+"&id="+id+"&preDIR="+preDIR+"&index="+index;
	} else {
		document.getElementById("iMan").src = "photoMan.php?a="+action+"&folder="+folder+"&type="+type+"&id="+id+"&preDIR="+preDIR+"&index="+index;
	}
}

function rotateH(start) {
	var headerImage = document.getElementById("header_img");
	if (start == 1) {
		if (headerImage.src == "http://www.supplynewengland.com/images/headerNewR1.jpg") {
			headerImage.src = "images/headerNewR2.jpg";
		} else {
			headerImage.src = "images/headerNewR1.jpg";
		}
	}
	setTimeout("rotateH(1)",10000);
}
