function TV_openLargeImageWindow(link){
	window.open(link, "Image", "height=340,width=340");
}

function TV_openLargeImageWindowSello(link){
	window.open(link, "Image", "height=618,width=500");
}

function TV_openLargeImageWindowSecurity(link){
	window.open(link, "Image", "height=500,width=550");
}

function TV_openLargeImageWindowBanamex(link){
	window.open(link, "Image", "height=800,width=700,scrollbars=yes");
}

function ChequearBox( chkbox ) {
	//alert ( document.EditCartForm.elements.length );
	
	//recorre todos los checkbox
	for ( var i = 0; i < document.EditCartForm.elements.length; i++ ) {
	
		if ( chkbox.name == document.EditCartForm.elements[i].name 
			&& chkbox.name.split( "." )[1] == "saveForLater"
			&& document.EditCartForm.elements[ i + 1 ].checked == true )
			document.EditCartForm.elements[ i + 1 ].checked = false;

		if ( chkbox.name == document.EditCartForm.elements[i].name 
			&& chkbox.name.split( "." )[1] == "remove"
			&& document.EditCartForm.elements[ i - 1 ].checked == true )
			document.EditCartForm.elements[ i - 1 ].checked = false;
	}
}

// Flash Player Version Detection - Rev 1.5
// Detect Client Browser type
// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;			
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
			var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
    var str = '';
    if (isIE && isWin && !isOpera)
    {
  		str += '<object ';
  		for (var i in objAttrs)
  			str += i + '="' + objAttrs[i] + '" ';
  		for (var i in params)
  			str += '><param name="' + i + '" value="' + params[i] + '" /> ';
  		str += '></object>';
    } else {
  		str += '<embed ';
  		for (var i in embedAttrs)
  			str += i + '="' + embedAttrs[i] + '" ';
  		str += '> </embed>';
    }

    document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

function MM_openIconWindow(){
	window.open("/catalog/iconlegend.jsp", "Icon","height=700,width=500");
}
function MM_openfurnitureWindow(){
	window.open("/promo/pages/fds.jsp", "Furniture","height=900,width=590,scrollbars=yes");
}
function MM_openSorpWindow(){
	window.open("/renderStaticPage.do?file=/customerservice/specialOrderPop.jsp&template=promo", "Icon","height=525,width=600,scrollbars=auto");
}

function openCIDWindow(){
	window.open("/help/cid.jsp","CID","height=580,width=800");
}

function openStoreWindow(){
	window.open("/stores/input.do","Stores","width=670,height=500,scrollbars=yes,toolbar=yes,menubar=yes");
}

function openMapWindow(storeId,city,state){
	window.open("/stores/viewMap.do?storeId=" + storeId + "&city=" + city + "&state=" + state,"StoresMap","width=650,height=520,scrollbars=yes,toolbar=yes,menubar=yes");
}

function popOpenWindow(link,params){
	window.open(link,"PopUp",params);
}

function MM_openBrWindow(theURL,winName,features) 
{ 
  window.open(theURL,winName,features);
}

function clickclear(thisfield, defaulttext) {
	if (thisfield.value == defaulttext) {
		thisfield.value = "";
	}
}

function clickrecall(thisfield, defaulttext) {
	if (thisfield.value == "") {
		thisfield.value = defaulttext;
	}
}

function submitOnEnter(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
   {
   myfield.form.submit();
   return false;
   }
else
   return true;
}

var itemNum = 10;
function addMoreItems() {
	try {	
		var o = document.getElementById("enterItemNumbers");
		var s = "";
		s += '<TABLE border="0" height="32px" width="600px" cellpadding="5" cellspacing="2" bgcolor="#DDD9CE">';
		for (var i=0;i<11;i++) {
			var line = i + itemNum;
			s += '<tr><td width="310" height="23"><input type="text" name="item['+ line +'].sku" maxlength="9" value="" class="tbl"></td><td height="23"><input type="text" name="item['+ line +'].quantity" maxlength="4" value="" class="tb"></td></tr>';
		}
		s += '</table>';
		itemNum += 10;
		o.innerHTML = o.innerHTML + s; 
	} catch(e) {
		alert(e.description);
	}
}

var itemNumBSD = 10;
function addMoreItemsBSD() {
	try {	
		var o = document.getElementById("enterItemNumbers");
		var s = "";
		s += '<TABLE border="0" height="32px" width="600px" cellpadding="5" cellspacing="2" bgcolor="#DDD9CE">';
		for (var i=0;i<11;i++) {
			var line = i + itemNumBSD;
			s += '<tr><td width="310" height="23"><input type="text" name="quickOrderItem['+ line +'].sku" onkeypress="return handleKeystroke(event);" maxlength="9" value="" class="tbl"></td><td height="23"><input type="text" name="quickOrderItem['+ line +'].quantity" onkeypress="return handleKeystroke(event);" maxlength="4" value="" class="tb"></td></tr>';
		}
		s += '</table>';
		itemNumBSD += 10;
		o.innerHTML = o.innerHTML + s; 
	} catch(e) {
		alert(e.description);
	}
}


loaded=false;
var isInternetExplorer = (document.all) ? true : false;

function init() {
	try {
	menuArray=new Array();
	for (var i=0;i<5;i++) { //nav menus
		menuArray[i] = document.getElementById("navDrop"+i); 
		cleanWhiteSpace(menuArray[i]);
		var n = menuArray[i].childNodes[1];//menu 
		if (i==4) break;
		for (j=0;j<n.childNodes.length;j++) { 
			n.childNodes[j].className ="navMenuItemOff";  
			n.childNodes[j].childNodes[0].className ="navMenuItemLinkOff";  
			n.childNodes[j].makeRollObj = makeRollObj;
            n.childNodes[j].makeRollObj(n.childNodes[j]); 
		} 
	} 
	
	var imgArray = new Array('nav_view_cart','nav_checkout','btn_search');
	imgRollArray = new Array();
	for (var i=0;i<imgArray.length;i++){
		imgRollArray[i] = new Array();
		imgRollArray[i][0] = new Image();
		imgRollArray[i][0].src = "/OnlineStore/images/" + imgArray[i] + ".gif";
		imgRollArray[i][1] = new Image();
		imgRollArray[i][1].src = "/OnlineStore/images/" + imgArray[i] + "_on.gif";
		imgRollArray[i][2] = new Image();
		imgRollArray[i][2].src = "/OnlineStore/images/" + imgArray[i] + ".gif";
		imgRollArray[i][3] = new Image();
		imgRollArray[i][3].src = "/OnlineStore/images/" + imgArray[i] + "_on.gif";	
	} 
	
	loaded=true; 
	} catch(e) {
		loaded=false;
	}
} 

function makeRollObj(s) {
	this.onmouseover = function(){
		this.className = "navMenuItemOn"; 
		this.childNodes[0].className = "navMenuItemLinkOn";
	}
	this.onmouseout = function(){
		this.className = "navMenuItemOff";
		this.childNodes[0].className = "navMenuItemLinkOff";
	}
	this.onclick = function() {
		// For openning a new window in Main Drop Down Menu use name instead of href (no nice but useful)
		if( this.childNodes[0].attributes["name"].value.substring(0,7) == "http://" )
			window.open( this.childNodes[0].attributes["name"].value, "", "resizable=1,width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes" );
		else
			window.location.href = this.childNodes[0].attributes["href"].value;
	}
} 

function showMenu(mn,st){
	if (loaded) { 
		if (st==1) {
			for (var i=0;i<menuArray.length;i++) {
				menuArray[i].style.visibility  = "hidden";
			}
			if(isInternetExplorer) {
				hideObjects();
			}
		} else {
			if(isInternetExplorer) {
				showObjects();
			}
		}
		menuArray[mn].style.visibility  = (st==1) ? "visible" : "hidden";
	}
}  


function showRoll(s,w,st){
	if (loaded) {  
		s.src = imgRollArray[w][st].src;
	}
}  



function showAlphaItems(n) {
	var az = document.getElementById("alphaNumeric");
	cleanWhiteSpace(az);
	for (var i=0;i<az.childNodes.length;i++) {
		try {
			az.childNodes[i+1].style.border = "none";			
			document.getElementById("alpha"+i).style.visibility = "hidden";
		} catch(e) {}
	}
	 
	if (isInternetExplorer) {
		document.getElementById("allBrands").style.height = document.getElementById("alpha"+n).clientHeight;
	} else {
		document.getElementById("firefoxBug").innerHTML = '<p><img src="/images/spacer.gif" width=1 height='+document.getElementById("alpha"+n).clientHeight+'></p>';	
	}
	
	document.getElementById("alpha"+n).style.visibility = "visible";
	az.childNodes[(n+1)].style.border = "2px solid #CCCCCC";
	az.childNodes[(n+1)].style.borderBottom = "3px solid #ffffff";	
}

function showTab(n) {
	var tabs = document.getElementById("tabMenu");
	cleanWhiteSpace(tabs);
	for (var i=0;i<tabs.childNodes.length;i++) {
		try {
			tabs.childNodes[i].childNodes[0].src = replace(tabs.childNodes[i].childNodes[0].src,'_on.gif','.gif');
			document.getElementById("tab"+i).style.visibility = "hidden";
		} catch(e) {}
	}
	if (isInternetExplorer) {
		document.getElementById("allTabs").style.height = document.getElementById("tab"+n).clientHeight;
	} else {
		document.getElementById("firefoxBug").innerHTML = '<p><img src="/OnlineStore/images/spacer.gif" width=1 height='+document.getElementById("tab"+n).clientHeight+'></p>';	
	}	
	document.getElementById("tab"+n).style.visibility = "visible";
	tabs.childNodes[n].childNodes[0].src = replace(tabs.childNodes[n].childNodes[0].src,'.gif','_on.gif');
}

function toggleSubCat(o,n) {
	try {	
		var co = document.getElementById("manufacturer"+n);
		o.childNodes[0].src = (co.style.display=="block") ? toggleImg[0].src : toggleImg[1].src;
		co.style.display = (co.style.display=="block") ? "none" : "block";
	} catch(e) {
		alert(e.description);
	}
}

function replace(string,text,by) {
// Replaces text with by in string
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}
function cleanWhiteSpace(node) {  
	var notWhiteSpace = /\S/;
	
	for (var x = 0; x < node.childNodes.length; x++) {
		var childNode = node.childNodes[x]
		if ((childNode.nodeType==3)&&(!notWhiteSpace.test(childNode.nodeValue))) { //whitespace text node
			node.removeChild(node.childNodes[x]);
			x--;
	    }
		if (childNode.nodeType == 1) {// elements can have text child nodes of their own
			cleanWhiteSpace(childNode);
	    }
	} 
}

function hideObjects()
{
     var selCount = document.all.tags("select");
     for (i=0; i<selCount.length; i++)
          selCount[i].style.visibility = "hidden";

}

function showObjects() {
 selCount=document.all.tags("select")
     for (i=0;i<selCount.length;i++)
          selCount[i].style.visibility="visible"
}

if (window.attachEvent) {  
	window.attachEvent("onload",init);
} else {   
	window.addEventListener("load",init,false);
}

function LimitAttach(tField,iType) 
{
file=tField.value;
if (iType==1) { 
extArray = new Array(".gif");
}

allowSubmit = false;
if (!file) return;

while (file.indexOf("\\") != -1) file = file.slice(file.indexOf("\\") + 1);
ext = file.slice(file.indexOf(".")).toLowerCase();
for (var i = 0; i < extArray.length; i++) {
if (extArray[i] == ext) {
allowSubmit = true;
break;
}
} 

if (!allowSubmit) 
{
alert("Usted sólo puede subir archivos con extensiones " + (extArray.join(" ")) + "\nPor favor seleccione un nuevo archivo");
}
} 

function checkAllDays(){
	var x = document.getElementById("todosDias");
	if (x.checked==true){
		for (i=0; i<5;i++){
			var o = document.getElementById("puedeComprarLosDias["+i+"]");
			o.checked="true";
		}
	}
}

function messageDeleteOption(form){
	var flag = document.getElementById("flag");
	var flagw = document.getElementById("menuOptionsToDelete");
	var resp;
	var cont =0;
	if (flag.value=="actualizar"){
		if (form.menuOptionsToDelete!=undefined){
		    var checkboxes = form.menuOptionsToDelete;
		    var check = false;
		    
		    if (checkboxes.length==undefined){
		    	cont = 0;
		    	if (checkboxes.checked) {  
						 check=true; 
					}
		    }else{
		    	cont = checkboxes.length;
			    for (i=0; i<cont;i++){
					if (checkboxes[i].checked) {  
						 check=true; break; 
					}
				}
			}
			if (check==true){
				resp = confirm('Se procederá ha eliminar todos los clientes/usuarios que tienen ligado la opción');
				if (resp==false){
					for (i=0; i<cont;i++){
						checkboxes[i].checked=false;
					}
					if ((cont==0) && (resp==false))
						checkboxes.checked=false;
				}
			}
		}
	}
	return true;
}

//Habilitar e inhabilitar un select con un check
function check(checkbox,select){
var flag = document.getElementById(checkbox);
var selectUser = document.getElementById(select);
if(flag.checked==true)
	selectUser.disabled=false;
else
	selectUser.disabled=true; 
}

function multiple(checkbox,s_bday,s_bmonth,s_byear,s_eday,s_emonth,s_eyear){
var flag = document.getElementById(checkbox);
var select1 = document.getElementById(s_bday);
var select2 = document.getElementById(s_bmonth);
var select3 = document.getElementById(s_byear);
var select4 = document.getElementById(s_eday);
var select5 = document.getElementById(s_emonth);
var select6 = document.getElementById(s_eyear);
if(flag.checked==true){
	select1.disabled=false;
	select2.disabled=false;
	select3.disabled=false;
	select4.disabled=false;
	select5.disabled=false;
	select6.disabled=false;
}else{
	select1.disabled=true;
	select2.disabled=true;
	select3.disabled=true;
	select4.disabled=true;
	select5.disabled=true;
	select6.disabled=true;
	}
}

function checkTriple(checkbox,selectOne,selectTwo,selectThree){
var flag = document.getElementById(checkbox);
var selectUno = document.getElementById(selectOne);
var selectDos = document.getElementById(selectTwo);
var selectTres = document.getElementById(selectThree);
if(flag.checked==true){
	selectUno.disabled=false;
	selectDos.disabled=false;
	selectTres.disabled=false;
}else{
	selectUno.disabled=true;
	selectDos.disabled=true;
	selectTres.disabled=true;
	}
}

function selectSubmit(myform){
var flag = document.getElementById("start");
flag.value="select";
myform.submit();
}
function aceptarSubmit(myform){
var flag = document.getElementById("start");
flag.value="iniciar";
myform.submit();
}

//This function handles the onkeypress event.
//It prevents form submission when ENTER is hit
function handleKeystroke(e){
    var keyPressed;

    //Browser compatibility check
    if (document.all) {
        //Browser used: Internet Explorer 6
        keyPressed = e.keyCode;
    } else  {
        //Browser used: Firefox
        keyPressed = e.which;
    }
    
    var enterKey;
    //13 = ASCII code for Enter key
    if (keyPressed == 13) { 
       enterKey = false;
    } else {
        enterKey = true;
    }
    
    return enterKey;
}