var ns4 = document.layers;
var op5 = (navigator.userAgent.indexOf("Opera 5")!=-1)||(navigator.userAgent.indexOf("Opera/5")!=-1);
var op6 = (navigator.userAgent.indexOf("Opera 6")!=-1)||(navigator.userAgent.indexOf("Opera/6")!=-1);
var agt=navigator.userAgent.toLowerCase();
var mac = (agt.indexOf("mac")!=-1);
var ie = (agt.indexOf("msie") != -1); 
var mac_ie = mac && ie;

function tidyImageWin() {
  if (imageWin && !imageWin.closed) { imageWin.close(); }
}

function getRealLeft(el) {
    xPos = el.offsetLeft;
    tempEl = el.offsetParent;
    while (tempEl != null) {
        xPos += tempEl.offsetLeft;
        tempEl = tempEl.offsetParent;
    }
    return xPos;
}

function getRealTop(el) {
    yPos = el.offsetTop;
    tempEl = el.offsetParent;
    while(tempEl != null){
        yPos += tempEl.offsetTop;
        tempEl = tempEl.offsetParent;
    }
    return yPos;
}

function showHideMenuNode(node_id, image_id){
	n = document.getElementById(node_id);
	i = document.getElementById(image_id);
	if(n){
		n.style.display = n.style.display == "none" ? "block" : "none";
		if(i){
			i.src = n.style.display == "none" ? skin_images + "/menu_tree_plus.gif" : skin_images + "/menu_tree_minus.gif";
		}
	}
}


function getElementHeight(Elem) {
	if(ns4){
		var elem = document.getElementById(Elem);
		return elem.clip.height;
	} else {
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) { 
			xPos = elem.style.pixelHeight;
		} else {
			xPos = elem.offsetHeight;
		}
		return xPos;
	} 
}

function getElementWidth(Elem) {
	if (ns4) {
		var elem = document.getElementById(Elem);
		return elem.clip.width;
	} else {
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) {
			xPos = elem.style.pixelWidth;
		} else {
			xPos = elem.offsetWidth;
		}
		return xPos;
	}
}


if(document.layers){
	_browser = "nn";
}
if(document.all){
	_browser = "ie";
}
if(navigator.userAgent.toLowerCase().match("gecko")){
	_browser= "gecko";
}
function isEmail(entry){
	var rex= /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/	
	return rex.test(entry);
}

function delay(gap){ /* gap is in millisecs */
	var then, now; 
	then = new Date().getTime();
	now = then;
	while((now-then) < gap){
		now=new Date().getTime();
	}
}

var imageWin = null;

var popupWindowImg = null;

function showImage(image_url, image_width, image_height){
	image_width = image_width == "" ? 400 : image_width;
	image_height = image_height == "" ? 400 : image_height;

	var w = screen.width;
	var h = screen.height;
	var ww = image_width * 1 + 30;
	var wh = image_height * 1 + 45;
	var wx = (w - ww)/2;
	var wy = (h - wh)/2;
	
	popupWindowImg = {
	 "url":image_url,
	 "width":ww,
	 "height":wh
  };
	
	imageWin = window.open(
		"", 
		"ProductImageWindow", 
		"titlebar=yes, toolbar=no, menubar=no, status=no, directories=no, resizable=yes, scrollbars=yes, top=" + wy.toString() + ", left=" + wx.toString() + ", width=" + ww.toString() + ", height=" + wh.toString() + ""
	);
	while(imageWin==null);
  
  refreshImageWindow();
}

function refreshImageWindow()
{
  if (imageWin == null || imageWin.document == null) return;
  
  imageWin.document.body.innerHTML = "";
  
	imageWin.focus();
	
	imageWin.document.write('<body style="padding:5px;margin:0px">');
	imageWin.document.write('<div align="center"><img hspace="0" vspace="0" src="' + popupWindowImg.url + '"></div><br/>');
	imageWin.document.write('<div align="center" style="font-family:arial;font-color:black;font-size:11px;"><a href="#" onClick="javascript:window.close(); return false;" style="color:#0000AA;">Close Window</a></div>');
	imageWin.document.write('</body>');
	imageWin.document.close();
	imageWin.width = popupWindowImg.width;
	imageWin.height = popupWindowImg.height;
}

function showPrinterPage(url){
	var prWin = null;
	prWin = window.open(
		url,
		"PrintVer", 
		"titlebar=yes, toolbar=no, menubar=yes, status=yes, directories=no, resizable=yes, scrollbars=yes, top=20, left=20, width=810, height=600"
	);
	while(prWin==null);
	prWin.focus();
}

function OnButton(bt){
	document.images[bt].src = skin_images + bt + "_on.gif";
	
}
function OffButton(bt){
	document.images[bt].src = skin_images + bt + "_off.gif";
}

function OnMenu(cid){
	document.images["menul_" + cid].src = skin_images + "catl_bg_on.gif";
	document.all["menur_" + cid].background = skin_images + "catr_bg_on.gif";
}
function OffMenu(cid){
	document.images["menul_" + cid].src = skin_images + "catl_bg_off.gif";
	document.all["menur_" + cid].background = skin_images + "catr_bg_off.gif";
}
var RecentTimeOut, CartTimeOut;

function ShowCart(){
	window.clearTimeout(CartTimeOut);
	if(_browser == "ie"){
		cartDiv.style.visibility = 
			cartDiv.style.visibility == "hidden"?"visible":"hidden";
			document.images["cartImage"].src =
				cartDiv.style.visibility == "hidden"?
				(skin_images + "ic_expand.gif"):
				(skin_images + "ic_collapse.gif");
	}
	else if(_browser == "gecko"){
		document.getElementById('cartDiv').style.visibility = 
			document.getElementById('cartDiv').style.visibility == "hidden"?"visible":"hidden";
		document.images["cartImage"].src =
			document.getElementById('cartDiv').style.visibility == "hidden"?
			(skin_images + "ic_expand.gif"):
			(skin_images + "ic_collapse.gif");
	}
	else{
		document.cartDiv.visibility = document.cartDiv.visibility  == "hidden"?"visible":"hidden";
	}
}


function ShowRecent(){
	window.clearTimeout(RecentTimeOut);
	if(_browser == "ie"){
		recentDiv.style.visibility = 
			recentDiv.style.visibility == "hidden"?"visible":"hidden";
		document.images["recentImage"].src =
			recentDiv.style.visibility == "hidden"?
			(skin_images + "ic_expand.gif"):
			(skin_images + "ic_collapse.gif");
	}
	else if(_browser == "gecko"){
		document.getElementById('recentDiv').style.visibility = 
			document.getElementById('recentDiv').style.visibility == "hidden"?"visible":"hidden";
		document.images["recentImage"].src =
			document.getElementById('recentDiv').style.visibility == "hidden"?
			(skin_images + "ic_expand.gif"):
			(skin_images + "ic_collapse.gif");
	}
	else{
		document.recentDiv.visibility = document.recentDiv.visibility  == "hidden"?"visible":"hidden";
	}
}

function PopUpCart(){
	CartTimeOut = window.setTimeout('ShowCart();', 1000);
}

function PopUpRecent(){
	RecentTimeOut = window.setTimeout('ShowRecent();', 1000);
}

function OnMenu(img){
	document.images[img].src = skin_images + "menu_arrow_on.gif";
}
function OffMenu(img){
	document.images[img].src = skin_images + "menu_arrow.gif";
}

function ShowPopup(src){
	var bWin = null;
	bWin = window.open(
		src, 
		"PopupWind", 
		"titlebar=no, toolbar=no, menubar=no, status=no, directories=no, resizable=no, scrollbars=no, top=20, left=20, width=320, height=240"
	);
	while(bWin==null);
	bWin.focus();
}

function PopUpImage(image_source, image_width, image_height){
	var bWin = null;
	bWin = window.open(
		image_source, 
		"ImageWind", 
		"titlebar=no, toolbar=no, menubar=no, status=no, directories=no, resizable=no, scrollbars=no, top=20, left=20, width=" + (image_width + 20) + ", height=" + (image_height + 20)
	);
	while(bWin==null);
	bWin.focus();
}

function ConfirmLogout(){
	if(orderItemsCount > 0){
		if(!confirm("You have items in your cart. Logging out will empty your cart\nAre you sure want to continue?")){
		  return false;
		}
	}
}

function CartConfirmDeleteItem(ocid){
	if(confirm(msg_confirm_delete_item)){
		document.location = CartDeleteItemUrl + '&ocid=' + ocid;
	}
}
function CartConfirmEmpty(){
	if(confirm(msg_confirm_empty_cart)){
		document.location = CartEmptyUrl;
	}
}

function PopupTellAFriend(element, page_name, url)
{ 
  element = $(element);
  
  if (!Element.visible('emailPopup')) {
  
   var popupAnchor = GetPopupAnchor('emailPopup', element, {x: Element.getWidth(element) - Element.getWidth('emailPopup'), y: Element.getHeight(element) - 1}, {x: 5, y: 5});
  
   $('emailPopupFrame').src = "";
   $('emailPopupFrame').src = "/ajax_tellafriend?page_name="+escape(page_name)+"&url="+escape(url);
    
  	Element.setStyle('emailPopup', {  
							  top: popupAnchor.y + "px",
							  left: popupAnchor.x + "px"
							});
		
		new Effect.SlideDown($('emailPopup'), {afterFinish: function () {$('emailPopupFrame').show()}});
  } else {
    $('emailPopupFrame').hide();
		new Effect.SlideUp($('emailPopup'));
  }
}

function CheckTellAFriend()
{
  if(!CheckInputField($('tell_a_friend_send_from_email'), "Please enter a valid 'from' email address.", 1, 0, /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4})$/)) return false;
  if(!CheckInputField($('tell_a_friend_send_to_email'), "Please enter a valid 'to' email address.", 1, 0, /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4})$/)) return false;
}

function CheckInputField(felement, fmessage, fminlength, fmaxlength, fregex){
  if (felement) {
    var value = $F(felement).strip();
  	if((fminlength && value.length < fminlength) || (fmaxlength && value.length > fmaxlength) || (fregex && !fregex.test(value))){
  		alert(fmessage);
  		felement.focus();
  		return false;
  	}
  	else{
  		return true;
  	}
  } else {
    return false;
  }
}
