function LoadVarians(CtrlDesc, CtrlToLoad, StockCtrl, hiddenCtrl)
{
	Ctrl=document.getElementById(CtrlToLoad);
	Ctrl_d = document.getElementById(CtrlDesc);
	if (Ctrl_d.options.selectedIndex!=null)
	{
		setOptionText(Ctrl, Ctrl_d.options[Ctrl_d.options.selectedIndex].value, hiddenCtrl);
		//LoadStock(Ctrl.options[0].value, StockCtrl);
		DefineStock(Ctrl,StockCtrl, hiddenCtrl);
	}																			
}

function setOptionText(the_select, seloption, hiddenCtrl)
{
	var the_array = eval(seloption);
	the_select.options.length = the_array.length; 
	for (loop=0; loop < the_select.options.length; loop++)
	{
		the_select.options[loop] = the_array[loop];
	}
	//fill hidden prdcode control with selected varient sku
	prdcode = document.getElementById(hiddenCtrl);
	if (the_select.options[0]!=null)
		prdcode.value=the_select.options[0].value;
}

function LoadStock(option,CtrlToLoad, hiddenCtrl)
{
	//get option sku
	val = option.value;
	val = val.substring(0,val.indexOf("#"));
	//if not 'out of stock'
	if (val!=""){
		//get stock info for option
		stock = eval('var'+val);
		temp = stock.substring(stock.indexOf("#")+1,stock.length);
		isBackordered = temp.substring(0,temp.indexOf("#"));
		isBackorderedDate = temp.substring(temp.indexOf("#")+1,temp.length);
		stock = stock.substring(0,stock.indexOf("#"));
		Ctrl=document.getElementById(CtrlToLoad);
		MCtrl = document.getElementById("boMessage");		
		
		if (stock<1)
			option.style.color='gray';		
		
		if (option.selected)
		{
			if (stock<1)
			{
				if (isBackordered==1)
				{
					Ctrl.src="/img/btnAdd2BagBackorderoff.gif";	
					if(MCtrl != null)
					{
						if(isBackorderedDate != "")
						{
							isBackorderedDate = " until approximately " + isBackorderedDate + " " ;
						}
						MCtrl.innerHTML = "<SPAN class=error>This product will not be available to ship " +
							isBackorderedDate + "and will ship seperately from any other items you may have ordered.</SPAN>" ;	
						
					}
				}
				if (isBackordered==2)
				{
					Ctrl.src="/img/btnAdd2BagPreOrderoff.gif";	
					if(MCtrl != null)
					{
						if(isBackorderedDate != "")
						{
							isBackorderedDate = " until approximately " + isBackorderedDate + " " ;
						}
						MCtrl.innerHTML = "<SPAN class=error>This product will not be available to ship " +
							isBackorderedDate + "and will ship seperately from any other items you may have ordered.</SPAN>" ;							
					}
				}
			}
			else
			{
			
				Ctrl.src="/img/btnadd2bagoff.gif";
				if(MCtrl != null)
				{
					MCtrl.innerHTML = "" ;
				}
			}
				
		//fill hidden prdcode control with selected varient sku
		prdcode = document.getElementById(hiddenCtrl);
		prdcode.value=option.value;
		}
	}
	else
	{
		//hide the add to bag button if the item is out of stock
		//alert(val.length);
		addToBagButton = document.getElementById(CtrlToLoad);
		addToBagButton.className = "hidden";
	}
	//MM_setTextOfLayer(CtrlToLoad,'',stock); - for text change	
}

function DefineStock(Ctrl,CtrlToLoad, hiddenCtrl)
{
	for (i=0;i < Ctrl.options.length;i++)
	{
		LoadStock(Ctrl.options[i],CtrlToLoad, hiddenCtrl);
	}
}

function SwapImage(ctrl)
{
	image = ctrl.src;

	if (image.toLowerCase().indexOf("off.")>0)
		image=image.replace(/off/gi,'on'); //image.replace(/off\./gi,'on.');
	else
		image=image.replace(/on/gi,'off'); //image.replace(/on\./gi,'off.');
	ctrl.src=image;
}
//--------------------------------------------------------------------------//
//Function Name	:	setCookie												//
//Argument(s)	:	name (String name of cookie)							//
//Description	:	This function is used to set value from the cookie.		//
//					It's expires time is set to 1 day						//
//Author		:															//
//Date			:	05/25/2005												//
//--------------------------------------------------------------------------//

function setCookie (name) {
var expires = new Date ();
expires.setTime (expires.getTime() + (1000 * 60 * 60 * 24 * 1));
    
document.cookie = name + "=" + escape (location.href) +     
"; expires=" + expires.toGMTString() +  "; path=/"; 
}

function setEmailCookie (name,value) {
var expires = new Date ();
expires.setTime (expires.getTime() + (1000 * 60 * 60 * 24 * 364));
    
document.cookie = name + "=" + escape (value) +     
"; expires=" + expires.toGMTString() +  "; path=/"; 
}

//--------------------------------------------------------------------------//
//Function Name	:	getCookie												//
//Argument(s)	:	name (String name of cookie)							//
//Description	:	This function is used to get value from the cookie.		//
//Author		:															//
//Date			:	05/25/2005												//
//--------------------------------------------------------------------------//

function getCookie (name) 
{
    var dcookie = document.cookie; 
    var cname = name + "=";
    var clen = dcookie.length;
    var cbegin = 0;
        while (cbegin < clen) 
        {
        var vbegin = cbegin + cname.length;
            if (dcookie.substring(cbegin, vbegin) == cname) 
            { 
            var vend = dcookie.indexOf (";", vbegin);
                if (vend == -1) vend = clen;
            return unescape(dcookie.substring(vbegin, vend));
            }
        cbegin = dcookie.indexOf(" ", cbegin) + 1;
            if (cbegin == 0) break;
        }
    return document.referrer;
   }
   
function getEmailCookie (name) 
{
    var dcookie = document.cookie; 
    var cname = name + "=";
    var clen = dcookie.length;
    var cbegin = 0;
        while (cbegin < clen) 
        {
        var vbegin = cbegin + cname.length;
            if (dcookie.substring(cbegin, vbegin) == cname) 
            { 
            var vend = dcookie.indexOf (";", vbegin);
                if (vend == -1) vend = clen;
            return unescape(dcookie.substring(vbegin, vend));
            }
        cbegin = dcookie.indexOf(" ", cbegin) + 1;
            if (cbegin == 0) break;
        }
    return "";
   }
