function showProductWindow(url,name) {
	w = 830;
	h = 650;
	// Fudge factors for window decoration space.
	// In my tests these work well on all platforms & browsers.
	w += 32;
	h += 96;
	wleft = (screen.width - w) / 2;
	wtop = (screen.height - h) / 2;
	// IE5 and other old browsers might allow a window that is
	// partially offscreen or wider than the screen. Fix that.
	// (Newer browsers fix this for us, but let's be thorough.)
	if (wleft < 0) {
	w = screen.width;
	wleft = 0;
	}
	if (wtop < 0) {
	h = screen.height;
	wtop = 0;
	}
	var win = window.open(url,
	name,
	'width=' + w + ', height=' + h + ', ' +
	'left=' + wleft + ', top=' + wtop + ', ' +
	'location=yes, menubar=no, ' +
	'status=no, toolbar=no, scrollbars=yes, resizable=yes');
	// Just in case width and height are ignored
	win.resizeTo(w, h);
	// Just in case left and top are ignored
	win.moveTo(wleft, wtop);
	win.focus();
}

function validateCart(oForm) {
	
	var vMsg = "";
	var c = oForm.elements['productcount'].value;
	var i = 1;
	var s_selectedindex;
	var q_selected; 
	var q_avail;
	var q_arr;
	var q_temp;
	
	while (i <= c) {
		// trim the qty
		q_selected = oForm.elements['qty' + i].value.replace(/^\s+|\s+$/g, '');

		// get rid of any decimals, and replace form field qty
		q_temp = q_selected.split('.');
		q_selected = q_temp[0];
		oForm.elements['qty' + i].value = q_selected;
	
		// get qty available for selected size
		q_arr = oForm.elements['qtyAvail' + i].value.split(',');
		s_selectedindex = oForm.elements['sizes' + i].selectedIndex;
		q_avail = q_arr[s_selectedindex];
		q_avail = parseInt(q_avail);

		if (q_selected = parseFloat(q_selected)) {	
			if (q_selected = parseInt(q_selected)) {		
				oForm.elements['qty' + i].value = q_selected;
				if (q_selected > q_avail) {
					vMsg = "I'm sorry, your order exceeds the number of available products.\n";
					vMsg += "Product: " + oForm.elements['product' + i + '[]'][0].value + "\n";
					vMsg += "Size: " + oForm.elements['sizes' + i][s_selectedindex].label + ".\n";
					vMsg += "We have " + q_avail + " left in stock";
/*					
					vMsg += "Please try ordering a smaller quantity."
					
					vMsg += "\n\nQty ordered: " + q_selected + "\n";				
					vMsg += "Qty available: " + q_avail;
*/					
					alert(vMsg);
					oForm.elements['qty' + i].focus();
					return false;
				} //else {
					// all good. return true
					//alert('order good. qty_selected: "' + q_selected + '". qty_avail: "' + q_avail + '"');
				//}
			} else {
				// do care. return false
				alert('Please enter a whole number.');
				oForm.elements['qty' + i].focus();
				return false;
			}
		} //else {
			// don't care. return true
			//alert('not a number, but dont care');
		//}
		i ++;
	}
	
//	return false;
}

function writeName_EmailToFriend() {
	document.getElementById('lbl_friends_name').innerHTML = document.getElementsByName('friends_name')[0].value;
	if (document.getElementsByName('friends_name')[0].value == "") { 
		document.getElementById('lbl_friends_name').innerHTML = "**Name**"; 
	};

	document.getElementById('lbl_name').innerHTML = document.getElementsByName('name')[0].value;
	if (document.getElementsByName('name')[0].value == "") { 
		document.getElementById('lbl_name').innerHTML = "**Name**"; 
	};
}

function validateEmailToFriend() {
//	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
//	Valid email chars: See: http://en.wikipedia.org/wiki/E-mail_address
//	A-Z a-z 0-9 _ ! # $ % & ' * + - / = ? ^ ` { | } ~

//	The characters !$*+ ^  . ?    : = ( ) [ ] { } | \ must be escaped??? See: http://www.explainth.at/en/re/specat.shtml

	// This one escapes everything, but doesn't seem to be necessary
//	var reg = /^([A-Za-z0-9\_\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

	// This one works ok, but not sure why. None of the below characters have been escaped, except /
	var reg = /^([A-Za-z0-9_!#$%&'*+-\/=?^`{|}~.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	

	var f_email = document.getElementsByName('friends_email')[0].value;
	var email = document.getElementsByName('email')[0].value;
	
	if (document.getElementsByName('friends_name')[0].value == "") { 
		alert('Please enter your friends name.'); 
		return false;
	};
	if (document.getElementsByName('name')[0].value == "") { 
		alert('Please enter your name.'); 
		return false;
	};
	if(reg.test(f_email) == false) {
		alert('Please enter a valid email address for your friend.');
		return false;
	}
	if(reg.test(email) == false) {
		alert('Please enter a valid email address for yourself.');
		return false;
	}
}

function validateContactForm() {
	var reg = /^([A-Za-z0-9_!#$%&'*+-\/=?^`{|}~.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var address = document.getElementById('e').value;
	if (document.getElementById('n').value == "") {
		alert("Please enter your name");
		return false;
	}
	if(reg.test(address) == false) {
		alert('Please enter a valid email address');
		return false;
	}
	if (document.getElementById('q').value == "") {
		alert("Please enter your query");
		return false;
	}
}

function buttonedContactForm() {
	// Button clicked. Arbitrary number checked in contact_confirm.php
	document.getElementById('b').value = "500";
}
