

function pageProcess(url,area,security,hide,html,view,key,keyfield,fields)
{
	if (area == "testimonyarea")
	{
		var responsearea = "testimonyprocess";

	} else if (area == "feedbackarea") {
		var responsearea = "feedbackprocess";

	} else if (area == "newsarea")	{	
		var responsearea = "newsprocess";
	
	} else if (area == "storetotal")	{	
		var responsearea = "storetotal";

	} else if (area == "registerarea")	{
		var responsearea = "registerprocess";
	} else {
		var responsearea = "process";
	}

	document.getElementById(responsearea).innerHTML="<div align='center'>Processing...</div>";
	var xmlHttp;
	url=url+"?sid="+Math.random();
	//alert (url);
	
	//Add fields to url
	if (fields != "") {

		//Clean fields before appending to url
		var fieldlist = new Array
		fieldlist = fields.split(",");
		for (var i = 0; i < fieldlist.length; i++){
			var obj = document.getElementById(fieldlist[i]);
				if (obj) {
					switch(obj.type){
						case "select-one":
							if (obj.selectedIndex > 0 || obj.options[obj.selectedIndex].text != ""){
								//alert(obj.options[obj.selectedIndex].text);
							}
						break;
						case "select-multiple":
							if (obj.selectedIndex > 0){
								//alertMsg += " - " + fieldDescription[i] + "\n";
							}
						break;
						case "text":
							if (obj.value != "" || obj.value != null){
								//alert(obj.value);
							}
						break;
						case "textarea":
							if (obj.value != "" || obj.value != null){
								//alert(obj.value);
							}
						break;
						default:
					}
			
					if (obj.type == undefined){
						var blnchecked = false;
						for (var j = 0; j < obj.length; j++){
							if (obj[j].checked){
								blnchecked = true;
						}
					}
			
					if (blnchecked){
						//alert(obj[j].checked.value);
					}
				
				}
			}
			
			if (fieldlist[i] == "news_formType" || fieldlist[i] == "test_formType" || fieldlist[i] == "register_formType" || fieldlist[i] == "feedback_formType") {
				url += "&formType="+ cleanEntry(document.getElementById(fieldlist[i]).value);
			} else if (fieldlist[i] == "news_form_type_id" || fieldlist[i] == "test_form_type_id" || fieldlist[i] == "register_form_type_id" || fieldlist[i] == "feedback_form_type_id") {
				url += "&form_type_id="+ cleanEntry(document.getElementById(fieldlist[i]).value);
			} else if (fieldlist[i] == "newsemail" || fieldlist[i] == "test_email" || fieldlist[i] == "feedbackemail") {
				url += "&email="+ cleanEntry(document.getElementById(fieldlist[i]).value);
			} else if (fieldlist[i] == "test_name" || fieldlist[i] == "feedbackname") {
				url += "&name="+ cleanEntry(document.getElementById(fieldlist[i]).value);
			} else if (fieldlist[i] == "feedbacksubject") {
				url += "&subject="+ cleanEntry(document.getElementById(fieldlist[i]).value);
			} else if (fieldlist[i] == "feedbackstatus") {
				url += "&status="+ cleanEntry(document.getElementById(fieldlist[i]).value);
			} else if (fieldlist[i] == "test_comments" || fieldlist[i] == "feedbackcomments") {
				url += "&comments="+ cleanEntry(document.getElementById(fieldlist[i]).value);
			} else {
				url += "&" + fieldlist[i] + "=" + cleanEntry(document.getElementById(fieldlist[i]).value);				
			}
			//alert (url);
		}
	}
	//alert(url);
	//First check security if necessary
	if (security == true) {
		key = document.getElementById(key).value;
		if(document.getElementById(keyfield).value != key) {
			alert("Security code does not match.  Please reenter.");
			document.getElementById(keyfield).value = "";
			document.getElementById(keyfield).focus();
		} else {
			getURL();
		}
	} else {
		getURL();
	}
	

	function getURL() {
		xmlHttp=GetXmlHttpObject();
		if (xmlHttp==null)
		{
		alert ("Your browser does not support AJAX!");
		return;
		} 

		xmlHttp.onreadystatechange=function()
			{
				if(xmlHttp.readyState==4 && xmlHttp.status == 200)
				{
					if (hide)
					{
					formBlock = document.getElementById(area).style;
					formBlock.display = "none";
					}

					document.getElementById(responsearea).innerHTML=xmlHttp.responseText;
					//alert(xmlHttp.responseText);
				}
			}
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
		
	}
}

function setCheck(chk,txtarea,trueval,falseval){
  if (chk.checked == 1) {
	document.getElementById(txtarea).value = trueval;
  } else {
	document.getElementById(txtarea).value = falseval;
  }
}


//store functions
function StoreProcess(process, item) {
	var xmlHttp;
	url = "includes/store_session.php?process=" + process;
	if (item != "") {
		url = url + "&itemnumber=" + item;
	}
	url=url+"&sid="+Math.random();

	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
	alert ("Your browser does not support AJAX!");
	return;
	} 

	xmlHttp.onreadystatechange=function()
		{
			if(xmlHttp.readyState==4 && xmlHttp.status == 200)
			{
				if (process == "AddToCart" || process == "RemoveFromCart") {
					document.getElementById("cartcount").innerHTML=xmlHttp.responseText;
					StoreProcess('ViewCart','');
				}
				
				if (process == "ViewCart") {
					document.getElementById("viewcart").innerHTML=xmlHttp.responseText;
				}

				if (process == "ProductInfo") {
					var inforeturn = new Array
					inforeturn = xmlHttp.responseText.split(";");
					document.getElementById("prodtitle").innerHTML = inforeturn[0];
					document.getElementById("proddesc").innerHTML = inforeturn[1];
				}

			}
		}
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}




function ViewCart() {
	StoreProcess('ViewCart','');
	var description = document.getElementById("store_reviews").style;
	var bestsellers = document.getElementById("store_bestsellers").style;
	var cartarea = document.getElementById("cartarea").style;
	document.getElementById("cartlink").innerHTML = '<a class="pagelinks" href="javascript:HideCart()">hide cart</a>';
	description.display = "none";
	bestsellers.display = "none";
	cartarea.display = "block";
}

function HideCart() {
	var description = document.getElementById("store_reviews").style;
	var bestsellers = document.getElementById("store_bestsellers").style;
	var cartarea = document.getElementById("cartarea").style;
	document.getElementById("cartlink").innerHTML = '<a class="pagelinks" href="javascript:ViewCart()">view cart</a>';
	description.display = "block";
	bestsellers.display = "block";
	cartarea.display = "none";
}
	


function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

function cleanEntry(item){
	cleanitem = item.replace(/(<([^>]+)>)/ig,""); 
	return cleanitem;
}

function browserCheck() {
	var browseWidth=document.body.clientWidth;
	alert (browseWidth);
	//alert ("OK");
}

function checkPassword(user,pass) {
	var userpass = document.getElementById(user).value;
	var checkpass = document.getElementById(pass).value;

	if (userpass != checkpass)
	{
		alert("Passwords do not match.  Please try again");
		return false;
	} else {
		return true;
	}
}

function checkRequired(fields, fieldnames) {
	//Check required fields
	var err = "";
	var fieldlist = new Array
	var fieldname = new Array
	fieldlist = fields.split(",");
	fieldname = fieldnames.split(",");
	rad_val = "";
	for (var i = 0; i < fieldlist.length; i++){
		var obj = document.getElementById(fieldlist[i]);
		if (obj) {
			var output = fieldname[i] + "=" + obj.type;
			//alert(output);
			switch(obj.type){
				case "select-one":
					if (obj.selectedIndex == 0 || obj.options[obj.selectedIndex].text == ""){
							err += "\n\n--Your " + fieldname[i] + " is required to continue.";
						}
				break;
				case "radio":
					if (fieldlist[i] == "payoption")
					{
						var cart = document.Cart.payoption
						for (k=0; k<cart.length; k++) {
						   if (cart[k].checked == true)
						   {
								var rad_val = cart[k].value;
								if (cart[k].value == "intuit") {
									var ccnum = document.getElementById("acctnum").value;
									var mm = document.getElementById("expmonth").value;
									var yy = document.getElementById("expyear").value;
									var holder = document.getElementById("cardholder").value;
									if (ccnum == "")
									{
										err += "\n\n--Your Credit Card Number is required to continue.";
									}

									if (mm == "" || mm == "mm")
									{
										err += "\n\n--Your Expiration Month is required to continue.";
									}

									if (yy == "" || yy == "yy")
									{
										err += "\n\n--Your Expiration Year is required to continue.";
									}

									if (holder == "")
									{
										err += "\n\n--The Card Holder's Name is required to continue.";
									}
								}
						   }
						  
						}
					}

					if (fieldlist[i] == "shipping")
					{
						var ischecked = "";
						var cart = document.Cart.shipping
						for (s=0; s<cart.length; s++) {
						   if (cart[s].checked == true)
						   {
							   //err += "\n\n--Your " + fieldname[i] + " is required to continue.";
							   ischecked = cart[s].value;
						   }
						}
						alert(ischecked);

						if (ischecked == "")
						{
							err += "\n\n--Your " + fieldname[i] + " is required to continue.";
						}
						

					}
					
										
					if (rad_val == "" || rad_val == undefined)
					{
						err += "\n\n--Your " + fieldname[i] + " is required to continue.";
					}
				break;
				case "select-multiple":
					if (obj.selectedIndex == 0){
							err += "\n\n--Your " + fieldname[i] + " is required to continue.";
						}
				break;
				case "text":
					if (obj.value == "" || obj.value == null){
						err += "\n\n--Your " + fieldname[i] + " is required to continue";
					}
				break;
				case "hidden":
					if (obj.value == "" || obj.value == null){
						err += "\n\n--Your " + fieldname[i] + " is required to continue";
					}
				break;
				case "textarea":
					if (obj.value == "" || obj.value == null){
						err += "\n\n--Your " + fieldname[i] + " is required to continue";
					}
				break;
				default:
			}
		}
	}

	if (err != "")
	{
		note = "Please note the following:\n";
		msg = note + err;
		alert(msg);
		return false;
	} else {	
		return true;
	}
}

function showInfo(url,process)
{
	
	document.getElementById("load").innerHTML="<p align='center'>Processing...<br/><img src='images/loading.gif' width='32' height='32'/></p>";
	var xmlHttp;
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
	alert ("Your browser does not support AJAX!");
	return;
	} 

	xmlHttp.onreadystatechange=function()
		{
			if(xmlHttp.readyState==4 && xmlHttp.status == 200)
			{
				/*document.getElementById("element").innerHTML="";
				document.getElementById("load").innerHTML="";*/
				
				if (process == 'viewinfo') {
					viewArea = document.getElementById("facebox").style;
					viewArea.display = "block";
					document.getElementById("facebox").innerHTML=xmlHttp.responseText;
				}
				if (process == 'calendar') {
					loadMenu = document.getElementById("load").style;
					siteMenu = document.getElementById("element").style;
					loadMenu.display = "none";
					siteMenu.display = "block";
					document.getElementById("element").innerHTML=xmlHttp.responseText;
				}

			}
		}
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
} 


function closeCalendar() {
	viewArea = document.getElementById("facebox").style;
	viewArea.display = "none";
}


function changeCat(id,item) {
	//alert(id);
	window.location = "?ID=" + id + "&catID=" + item;
}


function changeAuthor(id,item) {
	window.location = "?ID=" + id + "&authorID=" + item;
}

function fillinfo(object,items,fill) {
	var original = new Array
	var copyto = new Array
	original = items.split(",");
	copyto = fill.split(",");
	rad_val = "";
		for (var i = 0; i < original.length; i++){
			var obj = document.getElementById(copyto[i]);
			var orgobj = document.getElementById(original[i]);
			if (obj) {
				switch(obj.type){
					case "select-one":
						if (object.checked) {
							obj.selectedIndex = orgobj.selectedIndex;
						} else {
							obj.selectedIndex = 0;
						}
					break;
					case "radio":
						for (var k=0; k < obj.length; k++)
							{
							
								if (obj[k].checked)
							{
								var rad_val = obj[k].value;
							}
						}
					
						if (rad_val == "" || rad_val == undefined)
						{
							err += "\n\n--Your " + fieldname[i] + " is required to continue.";
						}
					break;
					case "select-multiple":
						if (object.checked) {
							obj.selectedIndex = orgobj.selectedIndex;
						} else {
							obj.selectedIndex = 0;
						}
					break;
					case "text":
						if (object.checked) {
							obj.value = orgobj.value;
						} else {
							obj.value = "";
						}
					break;
					case "hidden":
						if (object.checked) {
							obj.value = orgobj.value;
						} else {
							obj.value = "";
						}
					break;
					case "textarea":
						if (object.checked) {
							obj.value = orgobj.value;
						} else {
							obj.value = "";
						}
					break;
					default:
				}
			}
		}
	
	
}
