// JavaScript Document
var ResponseHold;
var LoadingMsg = "<!-- Loading Message --><div style=\"height: 373px\">&nbsp;<!-- Spacer --></div><div style=\"background-color: #D6D3D3; border-style: double; border-width: thin; border-color:#000; width: 400px; text-align:center; float: right; height: 100px; position: relative;\" align=\"center\"><h2>Please Wait...</h2><img src=\"images/loadingAnimation.gif\" style=\"text-align: center\" align=\"middle\" title=\"Loading Website...\" alt=\"Loading Website...\" /><h3 style=\"font-size: 14px; font-family: 'Arial Black', Gadget, sans-serif\">Our Website is Loading in the Background</h3><p class=\"content\" style=\"text-align: center;\"><b>(This Shouldn't Take Too Long)</b></p></div>";

// Create a maximum XML Objects
	try
	{
		xmlHTTP = new XMLHttpRequest();
	}
	catch(e)
	{
		try
		{
			xmlHTTP = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}

function ImageRollover(sButton, Mouse)
{
	if(Mouse == "over")
	{
		document.getElementById(sButton.id).src = "images/" + sButton.id + "_light.gif";
	}
	else if(Mouse == "out")
	{
		document.getElementById(sButton.id).src = "images/" + sButton.id + ".gif";
	}
}

function Ajax_GET(sURL, sReturn, sReturnDIV, bAsync)
{
	var xmlHTTP;
	try
	{
		xmlHTTP = new XMLHttpRequest();
	}
	catch(e)
	{
		try
		{
			xmlHTTP = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	
	xmlHTTP.onreadystatechange=function()
	{
		if(xmlHTTP.readyState == 4)
		{
			if(sReturn == "alert")
			{
				alert(xmlHTTP.responseText);
			}
			else if(sReturn == "div")
			{
				document.getElementById(sReturnDIV).innerHTML = xmlHTTP.responseText;
			}
			else if(sReturn == "xml")
			{
				//alert(xmlHTTP[use_XML].responseXML);
				ResponseHold = xmlHTTP.responseXML;
				eval(sReturnDIV + "()");
			}
			else
			{
				ResponseHold = xmlHTTP.responseText;
				eval(sReturnDIV + "()");
			}
			
			//return;
		}
	}	
	
	xmlHTTP.open('GET', sURL, true);
	xmlHTTP.send(null);	  
	
}

function Ajax_POST(sURL, sData, sReturn, sReturnDIV, bAsync)
{
	var xmlHTTP;
	try
	{
		xmlHTTP = new XMLHttpRequest();
	}
	catch(e)
	{
		try
		{
			xmlHTTP = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}

	xmlHTTP.onreadystatechange=function()
	{
		if(xmlHTTP.readyState == 4)
		{
			if(sReturn == "div")
			{
				document.getElementById(sReturnDIV).innerHTML = xmlHTTP.responseText;
			}
			else if(sReturn == "alert")
			{
				alert(xmlHTTP.responseText);
			}
			else if(sReturn == "xml")
			{
				ResponseHold = xmlHTTP.responseXML;
				eval(sReturnDIV + "()");
			}
			else
			{
				ResponseHold = xmlHTTP.responseText;
				eval(sReturnDIV+"()");
			}
		}
	}	
		
	xmlHTTP.open('POST', sURL, true);
	xmlHTTP.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHTTP.setRequestHeader("Content-length", sData.length);
	xmlHTTP.setRequestHeader("Connection", "close");
	xmlHTTP.send(sData);
	
	
}

function NewWindow(sURL, sX, sY)
{

	var left = 0.5 * (screen.width - parseInt(sX));
	var top = 0.5 * (screen.height - parseInt(sY));
	var RandomNo = Math.ceil(Math.random() * 10000)+"ABC"
	
	window.open(sURL, "NewPopupWindow" ,"status=no,toolbar=no,location=no,menubar=no,directories=no,resizeable=no,scrollbars=yes,height="+sY+",width="+sX+",left="+left+",top="+top);

}

function Superstore_Launch()
{
	alert("We are building an Online e-Superstore with more than 1500 Different Parts!\nWatch This Space For Latest Developments!\n\nThis Is Going To Be Big...");
}

function FetchPage(sFileName)
{
	document.getElementById("Page_Frame").innerHTML = LoadingMsg;
	
	Ajax_GET("static/" + sFileName, "div", "Page_Frame", true);
	CurrentPage = sFileName;
	
	// Additional Parameters to Call
	switch(sFileName)
	{

		case "contactus.php":
			//window.setTimeout("DrawMap()", 2000);
			break;
		
		case "promotions.php":	
			$().ready(function() { $("#MailingUser").jqm({modal: true}) });
			break;
		
		case "aboutus.php":
			/*
			$().ready(function() {
							   		$('.accordion .head').click(function() {
																		 		$(this).next().toggle('slow');
																				return false;
																		 }).next().hide();
							   });
			*/
			window.setTimeout("$().ready(function() { $(\"#accordion\").accordion({collapsible: true, active: false, fillSpace: true });  }); ", 2000);
			break;
			
		case "business.php":
			window.setTimeout("$().ready(Refresh_Grid());", 2000);
			break;
	}
		
}

function NewMailingUser()
{
	$("#MailingUser").jqmShow();
	document.getElementById("MailingUser").style.left = ((screen.width) * 0.5 + 70) + "px";
	document.getElementById("MailingUser").style.top = "130px";
}

function CloseMailingUser()
{
	if(confirm("Are You Sure You Want To Cancel Without Submitting?"))
	{
		$("#MailingUser").jqmHide();
	}
}

function SubmitMailingUser()
{
	var strData = "";
	
	if(document.getElementById("Mailing_Name").value.length < 4)
	{
		alert("Please Provide Your Full Name!");
		document.getElementById("Mailing_Name").focus();
		return;
	}
	
	if(document.getElementById("Mailing_Suburb").value.length < 3)
	{
		alert("Please Provide What Suburb/Town You Are From!");
		document.getElementById("Mailing_Suburb").focus();
		return;
	}
	
	if(document.getElementById("Mailing_Postcode").value.length != 4 || isNaN(document.getElementById("Mailing_Postcode").value))
	{
		alert("Please Provide You Postcode!");
		document.getElementById("Mailing_Postcode").focus();
		return;
	}
	
	if(document.getElementById("Mailing_Phone").value.length != 0)
	{
		if(document.getElementById("Mailing_Phone").value.length != 10 || isNaN(document.getElementById("Mailing_Phone").value))
		{
			alert("Please Enter Your Telephone Number including The Area Code!\nAlternativly, you may wish to clear this field");
			document.getElementById("Mailing_Phone").focus();
			return;
		}
	}
	
	if(document.getElementById("Mailing_Mobile").value.length != 0)
	{
		if(document.getElementById("Mailing_Mobile").value.length != 10 || isNaN(document.getElementById("Mailing_Mobile").value))
		{
			alert("Please Enter Your Mobile Number!\nAlternativly, you may wish to clear this field");
			document.getElementById("Mailing_Mobile").focus();
			return;
		}
	}
	
	if(document.getElementById("Mailing_Email").value.length < 4 || document.getElementById("Mailing_Email").value.indexOf("@") == -1 || document.getElementById("Mailing_Email").value.indexOf(".") == -1)
	{
		alert("Please Enter Your Valid Email Address!");
		document.getElementById("Mailing_Email").focus();
		return;
	}
	
	strData = "Name=" + document.getElementById("Mailing_Name").value.replace("&", "%26") + "&";
	strData += "Address1=" + document.getElementById("Mailing_Address1").value.replace("&", "%26") + "&";
	strData += "Address2=" + document.getElementById("Mailing_Address2").value.replace("&", "%26") + "&";
	strData += "Suburb=" + document.getElementById("Mailing_Suburb").value.replace("&", "%26") + "&";
	strData += "State=" + document.getElementById("Mailing_State").value.replace("&", "%26") + "&";
	strData += "Postcode=" + document.getElementById("Mailing_Postcode").value.replace("&", "%26") + "&";
	strData += "Phone=" + document.getElementById("Mailing_Phone").value.replace("&", "%26") + "&";
	strData += "Mobile=" + document.getElementById("Mailing_Mobile").value.replace("&", "%26") + "&";
	strData += "Email=" + document.getElementById("Mailing_Email").value.replace("&", "%26") + "&";
	strData += "PaymentMethod=Cash&";
	
	Ajax_POST("modules/mailing_list.php", encodeURI(strData), "", "MailingSubmit_Response", true);
}

function MailingSubmit_Response()
{
	alert(ResponseHold);
	
	if(ResponseHold.indexOf("Welcome to Active P. Computers!") != -1)
	{
		$("#MailingUser").jqmHide();
	}
}
// Page Loading Functions()


function RetrieveInvoice_GetDocument()
{
	
	if(document.getElementById("DocID").value == "")
	{
		alert("Please Enter Your Quote/Order/Invoice Number!");
		document.getElementById("DocID").focus();
		return;
	}
	
	var strData = "";
	
	strData += "DocID=" + document.getElementById("DocID").value.replace("&", "%26") + "&";
	strData += "CustIDType=" + document.getElementById("CustomerIDType").value.replace("&", "%26") + "&";
	strData += "CustID=" + document.getElementById("CustomerID").value.replace("&", "%26") + "&";
	
	Ajax_POST("modules/GetDocument.php", encodeURI(strData), "", "RetrieveInvoice_GetDocument_Response", true);
	
}

function RetrieveInvoice_GetDocument_Response()
{
	var Response = ResponseHold.split("|");
	
	if(Response[0] == "0")
	{
		alert(Response[1]);
	}
	else
	{
		NewWindow(Response[1], 1000, 760);
		RetrieveInvoice_Close();
	}
}

function RetrieveInvoice_Close()
{
	$("#RetrieveInvoice").jqmHide();
}

function Show_GetDocument()
{
	$("#RetrieveInvoice").jqmShow();
}

function AddToBookmarks()
{
	var BaseURL = "http://www.activep.com.au/public/index.php?landing=" + CurrentPage;
	try
	{
		// Internet Explorer
		window.external.AddFavorite(BaseURL, "Active P. Computers - Your One Stop I.T. Shop");
	}
	catch(e)
	{
		try
		{
		// Firefox
		window.sidebar.addPanel("Active P. Computers - Your One Stop I.T. Shop", BaseURL, "");
		}
		catch(e)
		{
			alert("Yor Browser Does Not Support Automatic Bookmarking!\nAlternativly, Please Try Pressing Ctrl + D");
		}
	}
}

function PaymentMethod(Method)
{
	Ajax_GET("static/payment_" + Method + ".txt", "div", "Payment_Method", true);
}

function Refresh_Grid()
{
	jQuery("#list").jqGrid({
				url: "modules/get_listing.php?Category=" + encodeURI(document.getElementById("Business_Categories").value),
				datatype: 'xml',
				mtype: 'GET',
				colNames:['Business Name', 'Location', 'Telephone', 'Email'],
				colModel: [
						   {name: 'Name', index: 'Name', width: 180, align: 'center'},
						   {name: 'Suburb', index: 'Suburb', width: 125, align: 'center'},
						   {name: 'Phone', index: 'Phone', width: 100, align: 'center'},
						   {name: 'Email', index: 'Email', width: 150, align: 'center'}
						   ],
				sortname: 'Suburb',
				sordorder: 'desc',
				viewrecords: true,
				rowNum:50,
				rowList:[10,20,30, 40, 50],
				width: 555,
				height: 200,
				pager: '#pager',
				caption: 'Active P. Computers - Business Directory'
						   });
}

function reload_Grid()
{
	//alert(document.getElementById("Business_Categories").value);
	//jQuery("#list").jqGrid('setGridParam', {url: "modules/get_listing.php?Category=" + encodeURI(document.getElementById("Business_Categories").value)}).trigger('reloadGrid');
	jQuery("#list").GridUnload();
	Refresh_Grid();

}

function MakePayment()
{
	FetchPage('payment.php');
}

function Payment_Validate()
{
	if(document.getElementById("txtInvoiceID").value == "")
	{
		alert("Please Enter a Quote/Order/Invoice Number!");
		document.getElementById("txtInvoiceID").focus();
		return;
	}
	
	if(document.getElementById("txtID").value == "")
	{
		alert("Please Enter Information to help Identify You");
		document.getElementById("txtID").focus();
		return;
	}
	
	var strData = "";
	
	strData = "ID=" + document.getElementById("txtInvoiceID").value.replace("&", "%26") + "&";
	strData += "VerifyBy=" + document.getElementById("txtIDType").value + "&";
	strData += "IDData=" + document.getElementById("txtID").value.replace("&", "%26");
	
	Ajax_POST("modules/validate_payment.php", encodeURI(strData), "xml", "Payment_Validate_Response", true);
}

function Payment_Validate_Response()
{
	var XMLResponse = ResponseHold.documentElement;
	
	if(rtrim(XMLResponse.getElementsByTagName("error")[0].childNodes[0].nodeValue) == "1")
	{
		alert(rtrim(XMLResponse.getElementsByTagName("errormsg")[0].childNodes[0].nodeValue));
		return;
	}
	
	document.getElementById("first_name").value = rtrim(XMLResponse.getElementsByTagName("firstname")[0].childNodes[0].nodeValue);
	document.getElementById("last_name").value = rtrim(XMLResponse.getElementsByTagName("lastname")[0].childNodes[0].nodeValue);
	document.getElementById("address1").value = rtrim(XMLResponse.getElementsByTagName("address1")[0].childNodes[0].nodeValue);
	document.getElementById("address2").value = rtrim(XMLResponse.getElementsByTagName("address2")[0].childNodes[0].nodeValue);
	document.getElementById("city").value = rtrim(XMLResponse.getElementsByTagName("city")[0].childNodes[0].nodeValue);
	document.getElementById("state").value = rtrim(XMLResponse.getElementsByTagName("state")[0].childNodes[0].nodeValue);
	document.getElementById("zip").value = rtrim(XMLResponse.getElementsByTagName("zip")[0].childNodes[0].nodeValue);
	document.getElementById("night_phone_a").value = rtrim(XMLResponse.getElementsByTagName("nightphonea")[0].childNodes[0].nodeValue);
	document.getElementById("night_phone_b").value = rtrim(XMLResponse.getElementsByTagName("nightphoneb")[0].childNodes[0].nodeValue);
	document.getElementById("email_buyers").value = rtrim(XMLResponse.getElementsByTagName("emailbuyers")[0].childNodes[0].nodeValue);
	document.getElementById("item_name_1").value = rtrim(XMLResponse.getElementsByTagName("item1")[0].childNodes[0].nodeValue);
	document.getElementById("item_name_2").value = rtrim(XMLResponse.getElementsByTagName("item2")[0].childNodes[0].nodeValue);
	document.getElementById("amount_1").value = rtrim(XMLResponse.getElementsByTagName("amount1")[0].childNodes[0].nodeValue);
	document.getElementById("amount_2").value = rtrim(XMLResponse.getElementsByTagName("amount2")[0].childNodes[0].nodeValue);
	
	// Format HTML Document with Response
	document.getElementById("Item1_Charge").innerHTML = "$" + rtrim(XMLResponse.getElementsByTagName("amount1")[0].childNodes[0].nodeValue);
	document.getElementById("Item2_Charge").innerHTML = "$" + rtrim(XMLResponse.getElementsByTagName("amount2")[0].childNodes[0].nodeValue);
	document.getElementById("Total").innerHTML = "<b>$" + rtrim(XMLResponse.getElementsByTagName("total")[0].childNodes[0].nodeValue) + "</b>";	
	document.getElementById("Item1_Description").innerHTML = rtrim(XMLResponse.getElementsByTagName("item1")[0].childNodes[0].nodeValue);
	document.getElementById("Item2_Description").innerHTML = rtrim(XMLResponse.getElementsByTagName("item2")[0].childNodes[0].nodeValue);
	
	document.getElementById("SubmitPayment").disabled = false;
	
}

function rtrim(str)
{
	if(str.length == 0)
	{
		return str;
	}
	
	if(str.charAt(str.length - 1) ==  " ")
	{
		//alert(str.substring(0, str.length - 1) + "|");
		return str.substring(0, str.length - 1);
	}
	else
	{
		//alert(str + "|");
		return str;
	}
	
	/*
	for(var j=str.length-1; j>=0 && isWhitespace(str.charAt(j)) ; j--) ;
	return str.substring(0,j+1);
	*/
}

function alert_SubmitPayment()
{
	alert("A New Window Will Now Appear, Where The Transaction Can Be Finalised.\n\nPLEASE NOTE:\n===========\n- Payments Made May Take Up To 24-48 Horus To Appear on Your Invoice\n- Transactions Will Appear as \"ACTIVE P AU\" on Your Credit Card Statement");
	
	document.getElementById("SubmitPayment").disabled = true;
}