function displayCenteredDiv(sDiv, bTop) {
	var el = $(sDiv);
	if (bTop == true) {
		var iTop = 150;
	} else {
		var iTop = yMousePos;
		if (iTop > 100) { iTop = iTop - 60 };
	}	
	el.style.top = 	iTop + 'px';	
	el.style.display = 'block';
	var iWidth1 = Math.round( getWinWidth()/2 );
	var iWidth2 = Math.round( el.offsetWidth/2 );
	var iWidth = iWidth1 - iWidth2;
	el.style.left=  iWidth + 'px';	
}

function ShowLogin() {
	new Ajax.Request('includes/login_input.php', {
		method: 'get',
		onSuccess: function(transport){
			$('LoginBox').innerHTML = transport.responseText;
			displayCenteredDiv('LoginBox',true);
			$('acct_no').focus();
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		
}
function HideLogin() {
	$('LoginBox').style.display = 'none';
	$('LoginBox').innerHTML = "";
}

function SendPasswordLink() {
	if (!SomethingEntered("account_no", "Please enter your Account #")) return false;	
	return true;
}
function UpdatePassword() {
	if (!SomethingEntered("account_no", "Please enter your Account #")) return false;	
	if (!SomethingEntered("password", "Please enter a password")) return false;	
	if (!SomethingEntered("password2", "Please re-key the password")) return false;	
	if ( $('password').value != $('password2').value ) {
		alert("Your passwords do not match.");
		$('password').focus();
		return false;
	}
	return true;	
}
function DoLogin() {
	if (!SomethingEntered("acct_no", "Please enter your Account #")) return false;
	if (!SomethingEntered("password", "Please enter your Password")) return false;

	new Ajax.Request('includes/login_validate.php', {
		method: 'get',
		parameters: {
			account_no: $('acct_no').value,
			password: $('password').value
		},		
		onSuccess: function(transport){
			if (transport.responseText != "failed") {
				HideLogin();
				alert('Thank you ' + transport.responseText + '. You are now signed in. Site will refresh.');
				window.location = "index.php";
			} else {
				alert('Invalid Account #/Password Combination.');
				$('acct_no').focus();
			}
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		
}

function Logout() {
	new Ajax.Request('includes/login_signoff.php', {
		method: 'get',
		onSuccess: function(transport){
			window.location = "index.php";
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		

}

function SearchSelectCategory() {
	$('subcatlist').innerHTML = '<span style="color: red; font-weight: bold;">Loading...</span>';
	$('txtProductSearch').value = "";
	new Ajax.Request('includes/load_subcategory_list.php', {
		method: 'get',
		parameters: {
			category_no: $('cat_no').value
		},		
		onSuccess: function(transport){
			$('subcatlist').innerHTML = transport.responseText;
			$('subcatlist').focus();
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		
	
}
function SearchSelectSubCategory() {
	if ( $('subcat_no').value == 0 ) return;
	$('txtProductSearch').value = "";
	ShowStatus("Loading Product List...");
	new Ajax.Request('includes/products.php', {
		method: 'get',
		parameters: {
			subcat_no: $('subcat_no').value,
			search_text: ""
		},		
		onSuccess: function(transport){
			$('content').innerHTML = transport.responseText;
			ShowStatus("");
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		
}
function SearchProductName() {
	if ( $('txtProductSearch').value == "" ) {
		alert("Please enter a product to search for...");
		$('txtProductSearch').focus();
		return;
	}
	$('subcat_no').value = 0;
	$('cat_no').value = 0;
	
	ShowStatus("Loading Product List...");
	new Ajax.Request('includes/products.php', {
		method: 'get',
		parameters: {
			subcat_no: 0,
			search_text: $('txtProductSearch').value
		},		
		onSuccess: function(transport){
			$('content').innerHTML = transport.responseText;
			ShowStatus("");
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		
}
function SearchFeaturedProducts() {
	ShowStatus("Loading Product List...");
	new Ajax.Request('includes/products.php', {
		method: 'get',
		parameters: {
			subcat_no: -1,
			search_text: ''
		},		
		onSuccess: function(transport){
			$('content').innerHTML = transport.responseText;
			ShowStatus("");
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		
	
}
function CartInput(product_no, bAdding) {
	new Ajax.Request('includes/cart_input.php', {
		method: 'get',
		parameters: { 
			product_no: product_no,
			adding: bAdding
		},
		onSuccess: function(transport){
			$('PopUp').innerHTML = transport.responseText;
			displayCenteredDiv('PopUp',false);
			$('qty').focus();
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		
}
function SaveCart() {
	if (!SomethingEntered("qty", "Please enter how many you would like to order.")) return false;	
	if (!IsNumeric( $('qty').value, false) ) {
		alert('Please enter a valid quantity.');
		return false;
	}
	bAdding = $('adding').value;
	new Ajax.Request('includes/cart_save.php', {
		method: 'get',
		parameters: {
			product_no: $('product_no').value,
			client_no: $('client_no').value,
			adding: $('adding').value,
			qty: $('qty').value
		},		
		onSuccess: function(transport){
			if (transport.responseText == "true") {
				UpdateCartItems();
				hidePopUp('PopUp');
				if ( bAdding == "false" ) {
					ViewCart();
				}
			} else {
				alert('Unable to save to your cart.');
			}
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		
}
function UpdateCartItems() {
		new Ajax.Request('includes/cart_update_items.php', {
		method: 'get',
		onSuccess: function(transport){
			$('cart_items').innerHTML = transport.responseText;
			UpdateCartLinks();
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		
}
function UpdateCartLinks() {
		new Ajax.Request('includes/cart_update_links.php', {
		method: 'get',
		onSuccess: function(transport){
			$('cart_links').innerHTML = transport.responseText;
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		
}
function EmptyCart() {
	if ( confirm("Do you really want to empty your cart?") == false ) return;

	new Ajax.Request('includes/cart_empty.php', {
		method: 'get',
		onSuccess: function(transport){
			alert('Your cart has been emptied.');
			UpdateCartItems();
			window.location="index.php";
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		
}
function DeleteCartItem(product_no) {
	if ( confirm("Do you really want to remove this item from your cart?") == false ) return;

	new Ajax.Request('includes/cart_delete_item.php', {
		method: 'get',
		parameters: {
			product_no: product_no
		},		
		onSuccess: function(transport){
			UpdateCartItems();
			ViewCart();
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		
}
function ViewCart() {
		ShowStatus("Loading Purchase Order Cart...");
	new Ajax.Request('includes/cart_view.php', {
		method: 'get',
		onSuccess: function(transport){
			$('content').innerHTML = transport.responseText;
			ShowStatus("");
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		
}
function EnterPO() {
	new Ajax.Request('includes/cart_po.php', {
		method: 'get',
		onSuccess: function(transport){			
			$('PopUp').innerHTML = transport.responseText;
			displayCenteredDiv('PopUp',true);
			$('po').focus();
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		
}
function PostCart() {
	if ( confirm("This will submit your Purchase Order, do you wish to continue?") == false ) return;
	ShowStatus("Submitting cart as purchase order, please wait...");
	new Ajax.Request('includes/cart_submit.php', {
		method: 'get',
		parameters: {
			po: $('po').value,
			notes: $('notes').value			
		},
		onSuccess: function(transport){
			$('content').innerHTML = transport.responseText;			
			UpdateCartItems();
			hidePopUp('PopUp');
			ShowStatus("");			
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});		
}

function ShowMoreProductInformation(product_no) {
	new Ajax.Request('includes/product_details.php', {
		method: 'get',
		parameters: { 
			product_no: product_no
		},
		onSuccess: function(transport){
			$('PopUp').innerHTML = transport.responseText;
			displayCenteredDiv('PopUp',false);
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});			
}
function ClientInput(client_no, task) {
	if (task == "password") { 
		url = "includes/client_password_input.php";
		fld = "password";
	}
	if (task == "profile") { 
		url = "includes/client_input.php";
		fld = "name";
	}
		
	new Ajax.Request(url, {
		method: 'get',
		parameters: { 
			client_no: client_no
		},
		onSuccess: function(transport){
			$('PopUp').innerHTML = transport.responseText;
			displayCenteredDiv('PopUp',true);
			if (fld != "") $(fld).focus();
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});	
}

function AccountUpdateContactSave() {
	var sMessage = "The fields indicated with blue labels are required.";
	if (!SomethingEntered("name", sMessage)) return false;	
	if (!SomethingEntered("email", sMessage)) return false;	
	if (!SomethingEntered("contact", sMessage)) return false;
	if (!SomethingEntered("phone", sMessage)) return false;
	if (!SomethingEntered("address1", sMessage)) return false;
	if (!SomethingEntered("city", sMessage)) return false;
	if (!SomethingEntered("state", sMessage)) return false;
	if (!SomethingEntered("zip", sMessage)) return false;
	if (!SomethingEntered("saddress1", sMessage)) return false;
	if (!SomethingEntered("scity", sMessage)) return false;
	if (!SomethingEntered("sstate", sMessage)) return false;
	if (!SomethingEntered("szip", sMessage)) return false;
	
	ShowStatus("Saving Client...");
	new Ajax.Request('includes/client_save.php', {
		method: 'get',
		parameters: {
			client_no: $('client_no').value,
			name: $('name').value,
			email: $('email').value,
			contact: $('contact').value,
			address1: $('address1').value,
			address2: $('address2').value,
			city: $('city').value,
			state: $('state').value,
			zip: $('zip').value,
			country: $('country').value,
			saddress1: $('saddress1').value,
			saddress2: $('saddress2').value,
			scity: $('scity').value,
			sstate: $('sstate').value,
			szip: $('szip').value,
			scountry: $('scountry').value,
			phone: $('phone').value,
			phone2: $('phone2').value,
			fax: $('fax').value,
			url: $('url').value
		},
		onSuccess: function(transport){
			if (transport.responseText == 'true') {
				hidePopUp('PopUp');
				window.location = "account.php";				
			} else {
				$('ErrorArea').innerHTML = transport.responseText;
			}
			ShowStatus("");
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});	
	
}
function AccountUpdatePasswordSave() {
	var sMessage = "The fields indicated with blue labels are required.";
	if (!SomethingEntered("password", sMessage)) return false;	
	if (!SomethingEntered("password2", sMessage)) return false;	
	if ( $('password').value != $('password2').value ) {
		alert("The passwords do not match.");
		return;
	}
	ShowStatus("Updating Password...");
	new Ajax.Request('includes/client_password_save.php', {
		method: 'get',
		parameters: {
			client_no: $('client_no').value,
			password: $('password').value
		},
		onSuccess: function(transport){
			if (transport.responseText == 'true') {
				hidePopUp('PopUp');
				$('ErrorArea').innerHTML = "Password Updated";
			} else {
				$('ErrorArea').innerHTML = transport.responseText;
			}
			ShowStatus("");
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});	
}
function ViewOrder(order_no) {
	new Ajax.Request('includes/client_order.php', {
		method: 'get',
		parameters: { 
			order_no: order_no
		},
		onSuccess: function(transport){
			$('PopUp').style.width = "800px";
			$('PopUp').innerHTML = transport.responseText;
			displayCenteredDiv('PopUp',true);
		},
		onFailure: function(transport){
			alert(transport.responseText);
		}
		});	
}
function PrintOrder() {
	var a = window.open('','','');
	a.document.open("text/html");
	a.document.write('<html><head><style type="text/css">body { background: white; font-size: 8px; font-family: Arial, Helvetica, sans-serif; color: black; }input { display: none; }</style></head><body>');	
//	a.document.write('<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />');
	a.document.write($('PopUp').innerHTML);
	a.document.write('</body></html>');
	a.document.close();
	a.print();
	a.close();
}
function LocateProduct(txtSearch) {
	$('txtProductSearch').value = txtSearch;
	$('btnSearch').click();
}