var popWindow = null;

function popwindow(url,width,height) {
	var midX = (screen.width/2)-(width/2);
	var midY = (screen.height/2)-(height/2);
	popWindow = window.open (''+[url]+'','popwin', "width="+[width]+",height="+[height]+",toolbar=no,menubar=no,scrollbars=yes,resizable=yes,top="+midY+",left="+midX+",screenX="+midX+",screenY="+midY+"");
	popWindow.focus();
}

function popwindowFixed(url,width,height) {
	var midX = (screen.width/2)-(width/2);
	var midY = (screen.height/2)-(height/2);
	popWindow = window.open (''+[url]+'','popwin', "width="+[width]+",height="+[height]+",toolbar=no,menubar=no,scrollbars=no,resizable=no,top="+midY+",left="+midX+",screenX="+midX+",screenY="+midY+"");
	popWindow.focus();
}


function setFavorite(productid, itemid, favimg) {

	var xmlHttpReq = null;

	var randomNum = Math.floor(Math.random()*1024000);
		
	if (window.XMLHttpRequest) { xmlHttpReq = new XMLHttpRequest(); }
	else if (window.ActiveXObject) { xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); }
		
	if(xmlHttpReq!=null) {

		if(itemid!="") {
			xmlHttpReq.open("GET", "/Favorites/?action=ajax+add+to+favorites&itemid="+escape(itemid)+"&rnd="+randomNum, true);	
		} else {
			xmlHttpReq.open("GET", "/Favorites/?action=ajax+add+to+favorites&productid="+escape(productid)+"&rnd="+randomNum, true);	
		}
		//xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xmlHttpReq.onreadystatechange = function() {
			if(xmlHttpReq.readyState == 4) {
				//xmlHttpReq.responseText;

				setFavIcon(favimg, xmlHttpReq.responseText);
			}
		}
		xmlHttpReq.send(null);
	}
}

function setFavIcon(favimg, httpResponse) {

	var favimgObj = document.images[favimg];
	var favimgSrc = favimgObj.src;

	if(favimgSrc.indexOf("_Y.")!=-1 && httpResponse=="delete") {
		favimgSrc = favimgSrc.replace("_Y.","_N.");
		favimgObj.src = favimgSrc;
	} else if(favimgSrc.indexOf("_N.")!=-1 && httpResponse=="add") {
		favimgSrc = favimgSrc.replace("_N.","_Y.");
		favimgObj.src = favimgSrc;
	}
}


function validateNumber(FNumber) {
	var pattern = /\D|^0/;
	if (pattern.test(FNumber.value)) {
		message = "This field accepts positive whole numbers only.\n\n"
		message += "Please try again.  Thank you."
		alert(message);
		FNumber.value = FNumber.defaultValue;
		FNumber.focus();
		return false;
	} else {
		return true;
	}
}

function validateDecimal(FNumber) {
var pattern = /[^\d\.]|\.{2,}/;
if (pattern.test(FNumber.value))
{
	message = "This field accepts positive numbers only.\n\n"
	message += "Please try again.  Thank you."
	alert(message);
	FNumber.value = FNumber.defaultValue;
	FNumber.focus();
	return false;
}
else
	return true;
}

function validateDate(FDate)
{
if (isWhitespace(FDate.value))
	return true;
if (isNaN(Date.parse(FDate.value)))
{
	text = "You have entered an invalid date.\n";
	text += "Please use the mm/dd/yyyy format.";
	alert(text);
	FDate.value = FDate.defaultValue;
	FDate.focus();
	return false;
}
else
	return true;
}

function validatePrice(FPrice)
{
if (validateDecimal(FPrice))
	FPrice.value = rectifyPrice(FPrice.value);
}

function validateEmail(FEmail)
{
FEmail.value = FEmail.value.replace(/\s/g,"");

var pattern = /^[\w-]+(\.[\w-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4})$/;
if (isWhitespace(FEmail.value))
	return true;
else if (pattern.test(FEmail.value))
	return true;
else
{
	message = "You have entered an invalid e-mail address.\n\n";
	message += "Please try again.  Thank you.";
	alert(message);
	FEmail.value = FEmail.defaultValue;
	FEmail.focus();
	return false;
}
}


function isURL(FValue)
{
var pattern = /^ht{2}ps?:\/{2}/i;
if (pattern.test(FValue))
	return true;
else
	return false;
}

function validateURL(FURL)
{
if (FURL.value == "")
	return true;
else if (isURL(FURL.value))
	return true;
else
{
	message = "This field must begin with http:// or https://.\n\n"
	message += "Please try again.  Thank you."
	alert(message);
	FURL.value = FURL.defaultValue;
	FURL.focus();
	return false;
}
}

function trim(FString)
{
return FString.replace(/^\s*|\s*$/g,"");
}


function isWhitespace(FValue)
{
var pattern = /^\s*$/;
if (pattern.test(FValue))
	return true;
else
	return false;
}