/* common.js */
/*=== SPECIFIC TO THIS STORE ===*/
var agt=navigator.userAgent.toLowerCase();
var is_opera = (agt.indexOf("opera") != -1);
var is_safari = (agt.indexOf("safari") != -1);
if(is_safari) {
    var isAppleWebKit = (agt.indexOf('applewebkit') != -1);
    var appleWebKitVersion = ( (isAppleWebKit) ? parseFloat( agt.substring( agt.indexOf('applewebkit/') + 12) ) : -1 );
    var safari_vminor = parseFloat( agt.substring( agt.lastIndexOf('safari/') + 7 ) );
    var safari_vmajor = parseInt(safari_vminor);
}
/*=== SPECIFIC TO THIS STORE ===*/


function addEvent(object, type, handler){
/*
    Add any event handler to the browser, such as an onload function.
    Stable and cross-browser safe.
        object = where to attach event; >window< almost every time, though not necessarily
        type = what kind of handler to add, eg: "load"
        handler = the code (anonymous function) that will be called when event is fired.
*/
	if (object.addEventListener)
		object.addEventListener(type, handler, false);
	else if (object.attachEvent)
		object.attachEvent(['on',type].join(''),handler);
	else
		object[['on',type].join('')] = handler;
}

function findElement(item) {
/*
    Find any element by ID in a version 4+ browser.
    Returns the element.
*/
    return document.getElementById ? document.getElementById(item) : document.all[item];
}

function findElementInTags(thetag,boolstr,coll) {
/*
    Find one element in a set of tags using any attribute (not just id)
        thetag = what tag collection to use, such as 'IMG'
        boolstr = what test to give each tag, for example "className.indexOf('name') > -1"
        coll = what collection to start with, instead of >document<.getElementsByTagName
    Returns first item found.
*/
    if(coll)
        var tagColl = coll.getElementsByTagName(thetag);
    else
        var tagColl = document.getElementsByTagName(thetag);
    var theEl = false;
    for(i=0;i<tagColl.length;i++) {;
        if(eval("tagColl[i]." + boolstr)) {
            theEl = tagColl[i];
            break;
        }
    }
    return theEl;
}

function findElementsInTags(thetag,boolstr,coll) {
/*
    Find ALL elements in a set of tags using any attribute (not just id)
        thetag = what tag collection to use, such as 'IMG'
        boolstr = what test to give each tag, for example "className.indexOf('name') > -1"
        coll = what collection to start with, instead of >document<.getElementsByTagName
    Returns array of all items found.
*/
    if(coll)
        var tagColl = coll.getElementsByTagName(thetag);
    else
        var tagColl = document.getElementsByTagName(thetag);
    var elArray = new Array();
    for(i=0;i<tagColl.length;i++) {;
        if(eval("tagColl[i]." + boolstr)) {
            elArray[elArray.length] = tagColl[i];
        }
    }
    if(elArray.length == 0) elArray = false;
    return elArray;
}

function limitChars(str, lim, ml, mltext) {
/*
    Limits a string to [lim] character length.  Optional "more" link.
        str = string to modify
        lim = string length limit
        ml = more link (false if no, some url if true)
        mltext = more link text (false if no, some text if true)
*/
		if(!str) return str;
		
    var newstr = '';
    for(var i=0; i<lim; i++) {
        newstr += str.charAt(i);
    }
    if(str.length > lim)
        newstr += "... ";

    if(ml && mltext){
        mltext = replace(mltext,'>','&gt;');
        mltext = replace(mltext,'<','&lt;');
        newstr += '<span class="more"><a href="' + ml + '">' + mltext + '</a></span>';
    }
    return newstr;
}

function replace(string,text,by) {
/*
    Replaces text in a string.
        string = string to manipulate
        text = char or string to find
        by = char or string to substitute in
*/
    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 remove(s, t) {
/*
    Remove all occurrences of a token in a string
        s  string to be processed
        t  token to be removed
    Returns new string
*/
  i = s.indexOf(t);
  r = "";
  if (i == -1) return s;
  r += s.substring(0,i) + remove(s.substring(i + t.length), t);
  return r;
}



/* sc-cross-sell.js */
/* NOTES

class="nopop" will keep any link from doing the popup
names are retrieved from links
rows are id="sc_cross_sell_names" and "sc_cross_sell_images"

*/

var csDiv, csWin, csItems = new Array();

var csWinWidth = csWinWidth || 750;
var csWinHeight = csWinHeight || 600;
var csWinCaptionLimit = csWinCaptionLimit || 400;
var csWinMoreText = csWinMoreText || 'Read More >>';

var csWinURL = csWinURL || "advanced-cross-sell-popup.html";
// var storeID = "yhst-49241233419632";

var csWinParams = 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1';

function crossSellItem(num, csInfo) {
/*
    Cross-sell item 'class'.
*/
    this.name = csInfo[0][num];
    this.image = csInfo[1][num];
    this.price = csInfo[2][num];
    this.sale = csInfo[3][num];
    this.caption = csInfo[4][num];
    this.order = csInfo[5][num];
    this.shortcaption = (csWinCaptionLimit == 0) ? csInfo[4][num] : limitChars(csInfo[4][num],csWinCaptionLimit,'javascript:showCaption('+num+');',csWinMoreText);
}

function createCSPopupHandler(el,i,pageID) {
/*
    Actually writes onclick event handler for all <A> tags inside cross sell div.
*/
    if(!(el.className.indexOf("nopop") > -1))
        el.onclick = function() {
            /*
                Open cross-sell window (popup.html) when cross-sell item is clicked.
            */
                var w = csWinWidth, h = csWinHeight;
                if (document.all || document.layers) {
                    w = screen.availWidth;
                    h = screen.availHeight;
                }
                var leftPos = (w-csWinWidth)/2
                var topPos = (h-csWinHeight)/2;
                var fullParams = csWinParams+',width='+csWinWidth+',height='+csWinHeight+',left='+leftPos+',top='+topPos;
                csWin = window.open(csWinURL+'?num='+i+'&pageid='+pageID+'&storeid='+storeID,'csWin',fullParams);
                if(window.focus) csWin.focus();
                if(csWin) return false;
        };
}

function setCSHandlers() {
/*
    Prepares to write onclick handler for all <A> tags inside cross sell div.
*/
    //once for 'image' links
    var csLinks = new Array();
    var imageDivs = findElementsInTags("div","className.indexOf('thumb') > -1",csDiv);
    for(var i=0; i<imageDivs.length; i++)
        csLinks[i] = imageDivs[i].getElementsByTagName('a')[0];
    for(var i=0; i<csLinks.length; i++) {
        var el = csLinks[i];
        var ahref = imageDivs[i].getElementsByTagName('a')[0].href;
        var ahrefsmall = ahref.substr(ahref.lastIndexOf("/")+1);
        var pageID = ahrefsmall.split(".")[0];
        createCSPopupHandler(el,i,pageID);
    }
    //once for 'name' links
    var csLinks2 = new Array();
    var nameDivs = findElementsInTags("div","className.indexOf('name') > -1",csDiv);
    for(var i=0; i<nameDivs.length; i++)
        csLinks2[i] = nameDivs[i].getElementsByTagName('a')[0];
    for(var i=0; i<csLinks2.length; i++) {
        var el = csLinks2[i];
        var ahref = nameDivs[i].getElementsByTagName('a')[0].href;
        var ahrefsmall = ahref.substr(ahref.lastIndexOf("/")+1);
        var pageID = ahrefsmall.split(".")[0];
        createCSPopupHandler(el,i,pageID);
    }
}

function csNames() {
/*
    Gathers all cross-sell item names from cross-sell div.
    Returns array of the names based on <div class="name">
*/
    var allCSNames = new Array();
    var allCSNameDivs = findElementsInTags("div","className.indexOf('name') > -1",csDiv);
    for(var i=0; i<allCSNameDivs.length; i++)
        allCSNames[i] = allCSNameDivs[i].getElementsByTagName('a')[0].innerHTML;
    return allCSNames;
}

function csGetInfo(infotype) {
/*
    Gathers all cross-sell item info of one type (infotype) from cross-sell div.
    Returns array of the innerHTML of <div class="infotype">
        infotype = some classname, such as 'price'
*/
    var thisGroup = new Array();
    var allTheDivs = findElementsInTags("div","className.match(/(^| )" + infotype + "($| )/)",csDiv);
    for(var i=0; i<allTheDivs.length; i++)
        thisGroup[i] = allTheDivs[i].innerHTML;
    return thisGroup;
}

function initCrossSell() {
/*
    1. Gathers all cross-sell item info from cross-sell div.
    2. Creates global array csItems from class crossSellItem().
    3. Sets onclick handlers on all links in cross-sell div.
*/
    csDiv = findElement("sc_cross_sell");

    //step 1
    var csInfo = new Array();
    csInfo[0] = csNames();
    csInfo[1] = csGetInfo('image');
    csInfo[2] = csGetInfo('price');
    csInfo[3] = csGetInfo('sale');
    csInfo[4] = csGetInfo('caption');
    csInfo[5] = csGetInfo('order');

    //step 2
    for(var i=0; i<csInfo[0].length; i++) {
        csItems[csItems.length] = new crossSellItem(i,csInfo);
    }

    //step 3
    setCSHandlers();

    return false;
}


/* scFramework.js and scImageEnlarge.js */
/*
This file contains all commonly used functions by Solid Cactus
version: 1.0
last modified: Sunil Lukose
modified date: 08/31/06
*/

/*
1. SC.init() - call all functions that needs to be initialized in this function
Notes: This function should be called just before the end </body> tag

2. SC.getTagArray - Returns array of elements
Syntax - SC.getTagArray(sTagName,oDomElement)
e.g. - SC.getTagArray("a",oObj);
Notes: if domEement is not supplied it defaults to document

3. SC.setAttributes - sets attributes on a dom Element
Syntax - SC.setAttributes(oDomElement,sAttrList)
e.g. - SC.getTagArray(oObj,"width","500px","top","0");
NOTES: attributes should be in name value pair you can pass one or more sets of attributes

4. SC.getObj(sObjId) - Returns a object for the passed ID
e.g. - SC.getObj("contetns");
*/

function SC() {};

var SCClass=SC.prototype;
var scClass = new SC();

SC.getTagArray = function(sTagName,oObj){
	aTagArray = null;
	oObj = (oObj) ? oObj : document;
	if(oObj.getElementsByTagName)
		aTagArray = oObj.getElementsByTagName(sTagName);
	return aTagArray;
}

SC.setAttributes = function(oObj){
	if(arguments.length > 1){
		for(var i=1; i<arguments.length; i=i+2){
			oObj[arguments[i]] = arguments[i+1];
		}
	}
}

SC.getObj = function(sObjId){ 
	var oObj = null;
  if (document.getElementById) 
      oObj = document.getElementById(sObjId);
  else if (document.all) 
      oObj = document.all[sObjId];
  else if (document.layers) 
      oObj = document.layers[sObjId];
	return oObj;
}

SC.createElement = function(sTagName){
	var oObj = document.createElement(sTagName);
	if(arguments.length > 1){
		for(var i=1; i<arguments.length; i=i+2){
			if(arguments[i] == "txt"){
				var oText = document.createTextNode(arguments[i+1]);
				oObj.appendChild(oText);		
			}else
				oObj[arguments[i]] = arguments[i+1];
		}
	}
	return oObj;
}

SC.appendElement = function(oAppendTo){
	var oAppendTo = (oAppendTo) ? oAppendTo : document.body;
	if(arguments.length > 1){
		for(var i=1; i<arguments.length; i++)
			oAppendTo.appendChild(arguments[i]);
	}
}

SC.createAppend = function(sTagName,oObj){
	var oObj = (oObj)? oObj : document.body;
	var oTagObj = document.createElement(sTagName);
	if(arguments.length > 2){
		for(var i=2; i<arguments.length; i=i+2){
			oTagObj[arguments[i]] = arguments[i+1];
		}
	}	
	oObj.appendChild(oTagObj);
}

SC.showHide = function(oObj,sDisplay){
	oObj.style.display = sDisplay;
}

String.prototype.trim=function() {
	if (this==null) return null;
	return this.trimEnd(this.trimStart());
}

String.prototype.trimEnd=function() {
	if (this==null) return null;
	var re = /((\s*\S+)*)\s*/;
	return this.replace(re, "$1");	
}

String.prototype.trimStart=function() {
	if (this==null) return null;
	var re = /\s*((\S+\s*)*)/;
	return this.replace(re, "$1");
}

function initEnlarge (){var i1=SC.getObj("\x73\x63\120\x61g\x65-ins\x65ts"); var O6=SC.getObj("s\x63Img\x4fveral\x6c"); var l6=SC.createElement("\x64\x69v","\x69d","\x73\x63ImgBo\x78"); var i6=SC.createElement("\x64\x69\166","classNam\x65","\x72\x65lativ\x65Pos"); var I6=SC.createElement("a","txt","x","href","\x6a\x61vascr\x69pt:vo\x69d(0);","c\x6cas\x73Name","\x63\x6cose","titl\x65","\x63\x6cose"); I6.onclick=l1; SC.appendElement(i6,I6); SC.createAppend("div",i6,"i\x64","scImgB\x6fx-m\x61inImg"); if (i1){var o7=SC.createElement("\x64iv","\x63\x6cassName","absolut\x65Pos"); var O7=i1.cloneNode( true); for (var i=0; i<O7.childNodes.length; i++){if (O7.childNodes[i].nodeName!="A")O7.replaceChild(document.createTextNode(""),O7.childNodes[i]); }SC.setAttributes(O7,"\x69d","sc\x49m\x67Box-in\x73etPrev\x69ew"); SC.appendElement(o7,O7); var l7=O7.cloneNode( true); SC.setAttributes(l7,"id","scIm\x67\x42ox-in\x73ets"); var i7=SC.createElement("a","\x74\x78t","\x43\x4cOSE","hr\x65f","javas\x63r\x69pt:voi\x64(0);","\x63l\x61ssName","abs\x43los\x65","tit\x6ce","\x43\x4cOSE"); i7.onclick=l1; var I7=SC.getTagArray("\x61",l7); for (var i=0; i<I7.length; i++){var oLink=I7[i]; eval("\x6f\x4cink.o\x6emouse\x6fver =\x20func\x74ion()\x7b\011sc\x50rev\x69ew\x49ns\x65ts\x28"+i+"\x29\x7d;"); oLink.onmouseout=scPreviewInsets; for (var j=0; j<oLink.childNodes.length; j++)oLink.replaceChild(document.createTextNode(i+1),oLink.childNodes[j]); }SC.appendElement(l7,i7); }SC.appendElement(l6,i6); if (i1){SC.appendElement(i6,o7); SC.appendElement(l6,l7); }SC.createAppend("div",O6,"\x69\x64","\x73cW\x72apper","title","C\x6cic\x6b To Clo\x73e"); SC.appendElement(O6,l6); };

var Y,X; function o0(O0){var l0=SC.getTagArray("\x53\x45LE\x43T"); for (var i=0; i<l0.length; i++){if (O0=="sh\x6fw"){var i0=l0[i].className.replace("\x68\x69deSelec\x74",""); SC.setAttributes(l0[i],"cla\x73sNa\x6de",i0.trim( )); }else if (l0[i].className.indexOf("\x68\x69deSel\x65ct")==-1){var i0=(l0[i].className)?l0[i].className+"\x20\x68ideSel\x65ct": "\150\151\x64eSele\x63t"; SC.setAttributes(l0[i],"\x63l\x61ssName",i0); }}}function scPreviewInsets( ){var I0=SC.getObj("s\x63Im\x67\102\x6fx-i\x6esetPr\x65vi\x65w"); if (arguments.length>0){var o1=SC.getTagArray("img",I0); for (var i=0; i<o1.length; i++){if (i==arguments[0])SC.showHide(o1[i],"\x62\x6cock"); else SC.showHide(o1[i],"\156\157\x6ee"); }O1(I0,"\x62l\x6fck",0,0); }else {SC.showHide(I0,"\x6e\x6fne"); }}function l1( ){SC.showHide(X,"n\x6fne"); SC.showHide(Y,"none");o0("sh\x6fw"); }function scImgEnlargeInit( ){var i1=SC.getObj("scP\x61ge-\x69nsets"); var scMainImage=SC.getObj("\163\x63M\x61inImag\x65"); if (i1 || scMainImage || scMultiMain){initEnlarge(); Y=SC.getObj("\163\x63I\x6dgB\x6fx"); X=SC.getObj("\163cW\x72ap\x70e\x72"); if (X)X.onclick=l1; }}function o2( ){var O2=0,l2=0,i2=0,I2=0; var o3=document.body; var O3=document.documentElement; if (typeof(window.innerWidth)=='nu\x6dbe\x72'){O2=window.innerWidth-027; l2=window.innerHeight-027; }else if (O3 && O3.clientWidth){O2=O3.clientWidth; l2=O3.clientHeight; }else if (o3 && o3.clientWidth){O2=o3.clientWidth; l2=o3.clientHeight; }if (O3 && O3.scrollWidth)I2=O3.scrollWidth; else if (o3.scrollWidth)I2=o3.scrollWidth; else if (o3.offsetWidth)I2=o3.offsetWidth; if (O3 && O3.scrollHeight)i2=O3.scrollHeight; if (o3.scrollHeight && (o3.scrollHeight>i2))i2=o3.scrollHeight; if (o3.offsetHeight && (o3.offsetHeight>i2))i2=o3.offsetHeight; if (i2<l2)i2=l2; if (I2<O2)I2=O2; this.l3=i2; this.i3=I2; this.I3=l2; this.o4=O2; }function O4( ){var o3=document.body; var O3=document.documentElement; var l4=0,i4=0; if (typeof(window.pageYOffset)=='numb\x65\x72'){i4=window.pageYOffset; l4=window.pageXOffset; }else if (o3 && (o3.scrollLeft || o3.scrollTop)){i4=o3.scrollTop; l4=o3.scrollLeft; }else if (O3 && (O3.scrollLeft || O3.scrollTop)){i4=O3.scrollTop; l4=O3.scrollLeft; } this.x=l4; this.y=i4; }function O1(I4,display,o4,I3,top,left){I4.style.top=(top)?top:I4.style.top; I4.style.left=(left)?left:I4.style.left; I4.style.height=(I3==0)?"\x61\x75to":I3; I4.style.width=(o4==0)?"auto":o4; SC.showHide(I4,display); }function scWinResize( ){var i1=SC.getObj("\x73c\x50age-ins\x65ts"); var scMainImage=SC.getObj("scMa\x69nIm\x61ge"); if (i1 || scMainImage || scMultiMain){if (Y.style.display=="block"){var o5=SC.getTagArray("img",Y); var O5=(SC.getObj("scIm\x67Ti\x74le"))?SC.getObj("\x73\x63ImgTitl\x65").firstChild.nodeValue: ""; var l5=SC.createElement("\x61","href",o5[0].src,"t\x69tle",O5); scShowImg(l5,o5[0].height,o5[0].width);}}}function i5(I5){var o6=I5; if (o6.indexOf("\x66\x75nctio\x6e anon\x79mous")>-1){o6=o6.replace(/\x0a/g,""); o6=o6.replace("fu\x6ecti\x6fn anon\x79mous(\x29{","").replace("\x7d",""); }return o6; };



function scShowImg(I4,I3,o4){var o8=SC.getObj("scImgBox\x2dma\x69nImg"); if (o8){var O8=SC.getObj("sc\x49mgT\x69tle"); if (O8)O8.parentNode.removeChild(O8); if (I4.title){var l8=SC.createElement("\x64\x69v","\164\170\x74",I4.title,"\x69\x64","sc\x49\x6d\x67\x54\x69t\x6ce"); o8.parentNode.insertBefore(l8,o8); var O8=SC.getObj("scImgTi\x74l\x65"); O8.style.width=o4+"\x70\x78"; }var i8=SC.createElement("\151\155\x67"); SC.setAttributes(i8,"\x73rc",I4.href,"\x77i\x64th",o4,"height",I3); o8.className=""; i8.onload= function ( ){ this.parentNode.className="\x73ch\x69debg";};var I8=SC.getTagArray("im\x67",o8); if (I8.length>0){var o9=I8[0]; o8.replaceChild(i8,o9); }else SC.appendElement(o8,i8);O1(Y,"block",0,0,"\0551000px","\x2d\x31000p\x78"); var O9=new o2( ); var l9=new O4( ); var i9=Y.offsetHeight; var I9=Y.offsetWidth; var oa=(i9>O9.I3)?i9-O9.I3+024: 0; var Oa=(i9>O9.l3)?(O9.l3+oa)+"\160\x78":O9.l3+"px"; var la=(I9>O9.o4)?(O9.i3+(I9-O9.o4)+050)+"\x70\x78": "\x31\x300%"; var top=(O9.I3-i9>0 || (l9.y+i9)<O9.l3)?((O9.I3-i9)/2)+l9.y: ((O9.l3-i9)>0)?O9.l3-i9: 024; var left=(O9.o4-I9>0)?((O9.o4-I9)/2): 024; top=(top<0)?024:Math.round(top); left=(left<0)?024:Math.round(left); o0("\x68i\x64e"); O1(Y,"\x62l\x6f\143\x6b",0,0,top+"\x70\x78",left+"p\x78"); O1(X,"\x62l\x6f\143\x6b",la,Oa,0,0); }else {window.location.href=I4.href; }}


/* encrypt.js */
var cryptTable=new String(" ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789	!@#$%^&*()`'-=[];,./?_+{}|:<>~");
var cryptLength=new Number(cryptTable.length-1) 
var escapeChar=cryptTable.charAt(cryptLength); 

var lineFeed="\n"; 
var doubleQuote='"'; 
var clearMessage=new Number(5000); 
 
function encrypt(input, password)
{
var inChar, inValue, outValue;

var output="";
var arNumberPw = new Array();

var pwLength=password.length;
var inLength=input.length;

var stopStatus=Math.round(inLength/10);
var statusBar=0;

for (var pwIndex=0; pwIndex<pwLength; pwIndex++)
	{
	arNumberPw[pwIndex]=cryptTable.indexOf(password.charAt(pwIndex));
	}

for (var inIndex=0, pwIndex=0; inIndex<inLength; inIndex++, pwIndex++)
	{
	if (pwIndex==pwLength) 
		{
		pwIndex=0;
		}
	
	inChar=input.charAt(inIndex)
	inValue=cryptTable.indexOf(inChar);

	if (inValue!=-1)
		{
		outValue=arNumberPw[pwIndex] ^ inValue;
		if (outValue>=cryptLength)
			{
			outValue=escapeChar+cryptTable.charAt(outValue-cryptLength);
			}
		else outValue=cryptTable.charAt(outValue);
		}	
	else if (inChar=="\r")
		{
		outValue=escapeChar+escapeChar;
		if (input.charAt(inIndex+1)=="\n") inIndex++; 
		}
	else if (inChar=="\n")
		{
		outValue=escapeChar+escapeChar;
		}
	else if (inChar==doubleQuote)
		{
		outValue=escapeChar+"'";
		}
	else
		{
		outValue=inChar;
		}

	output+=outValue; 

	}

return output;
}

function decrypt(input, password)
{
var inChar, inValue, outValue, escape=false;

var output="";
var arNumberPw = new Array();

var pwLength=password.length;
var inLength=input.length;

var stopStatus=Math.round(inLength/10);
var statusBar=0;

for (var pwIndex=0; pwIndex<pwLength; pwIndex++)
	{
	arNumberPw[pwIndex]=cryptTable.indexOf(password.charAt(pwIndex));
	}

for (var inIndex=0, pwIndex=0; inIndex<inLength; inIndex++, pwIndex++)
	{
	if (pwIndex>=pwLength)
		{
		pwIndex=0;
		}
	
	inChar=input.charAt(inIndex);
	inValue=cryptTable.indexOf(inChar);

	if (inValue==-1)
		{
		outValue=inChar;
		}	

	else if (escape)
		{
		if (inValue==cryptLength)
			{
			outValue=lineFeed;
			inValue=-1;
			}
		else if (inChar=="'")
			{
			outValue=doubleQuote;
			inValue=-1;
			}
		else
			{
			inValue+=cryptLength;
			}
		escape=false;
		}
	else if (inValue==cryptLength)
		{
		escape=true;
		pwIndex--; 
		outValue="";
		inValue=-1;
		}

	if (inValue!=-1)
		{
		outValue=cryptTable.charAt(arNumberPw[pwIndex] ^ inValue);
		}
	
	output+=outValue;

	}

return output;
}


/* rotate.js */
// JavaScript Document
/*Start Modifiable*/
//For any extra contents You will have to add thsoe properties
//If you have image seperator then assign it to variable bgColImag and bgRowImage
//Currently script shows the follwing contents ("Name","Image","Price","Saleprice") add and remove as required 
var showContents = new Array("Image","Name","Price","Saleprice"); //Change the order the way you want if name appears first first row shows name
var showSeperatorRow = true;
var showSeperatorColumn = true;
var seperatorRowBgColor = "#ffffff";
var seperatorColBgColor = "#D7DAC9";
/*End Modifiable*/

//Dont Modify the code below unless needed
var uniquearr = new Array();
var y,z;
var duplicate=false;
var namecell, pricecell, salepricecell, imgcell;
var itemsArr = new Array();

function round(n) {
  var s = "" + Math.round(n * 100) / 100
  var i = s.indexOf('.')
  if (i < 0) return s + ".00"
  var t = s.substring(0, i + 1) + s.substring(i + 1, i + 3)
  if (i + 2 == s.length) t += "0"
  return t
}

function seperatorRow(totalColSpan){
	if(showSeperatorColumn)
		totalColSpan = (totalColSpan * 2) - 1
	document.write('<tr><td colspan="' + totalColSpan + '"><hr /></td></tr>');
}

function seperatorColumn(totalRowSpan){
	document.write("<td rowspan='" + totalRowSpan + "' width=1 bgcolor='" + seperatorColBgColor + "' style='padding: 0; background-color: " + seperatorColBgColor + "'>");
	document.write("<img src=http://us.st1.yimg.com/store1.yimg.com/Img/trans_1x1.gif width=1 height=1>");
	document.write("</td>");
}

function itemObj(id, name, img, price, saleprice) {
	this.id=id.toLowerCase();
	this.name=name;
	this.img=img;
	this.price=price;
	this.saleprice=saleprice;
	itemsArr[itemsArr.length] = this;
}

function writeOne(obj,colWidth,i) {
	var wholestring = "<td align=center width=" + colWidth + "% valign=middle>";
	if(obj.img != "-@NULL@-" && (i % 2 == 0))
		wholestring += "<div id=rotateImage><a href=" + obj.id +".html><img src=" + obj.img + " border=0 vspace=5></a></div>";
	if(obj.name != "-@NULL@-")
		wholestring += "<div id=rotateName><a href=" + obj.id +".html>" + obj.name + "</a></div>";
	if(obj.price != "-@NULL@-")
		wholestring += "<div id=rotatePrice>" + regpriceTxt + " $" + round(obj.price) + "</div>";
	if(obj.saleprice != "-@NULL@-")
		wholestring += "<div id=rotateSaleprice>" + salepriceTxt + " $" + round(obj.saleprice) + "</div>";
	if(obj.img != "-@NULL@-" && (i % 2 != 0))
		wholestring += "<div id=rotateImage><a href=" + obj.id +".html><img src=" + obj.img + " border=0 vspace=5></a></div>";
	wholestring += "</td>";
	document.write(wholestring);
}

function writeName(obj,colWidth){
	if(obj.name != "-@NULL@-")
		var namecell = "<td align=center id=rotateName width=" + colWidth + "% valign=top><a href=" + obj.id +".html>" + obj.name + "</a></td>";
	else
		var namecell = "<td align=center>&nbsp;</td>";
	document.write(namecell);
}

function writeImage(obj){
	if(obj.img != "-@NULL@-")
		var imgcell = "<td class=gray-conts-im-bg align=center valign=middle width=" + colWidth + "%><a href=" + obj.id +".html><img src=" + obj.img + " border=0></a></td>";
	else
		var imgcell = "<td align=center>&nbsp;</td>";
	document.write(imgcell);
}

function writePrice(obj){
	if(obj.price != "-@NULL@-")
		var pricecell = "<td align=center id=rotatePrice width=" + colWidth + "%>" + regpriceTxt + " $" + round(obj.price) + "</td>";
	else
		var pricecell = "<td align=center>&nbsp;</td>";
	document.write(pricecell);
}

function writeSaleprice(obj){
	if(obj.saleprice != "-@NULL@-")
		var salepricecell = "<td align=center width=" + colWidth + "%><div id=rotateSaleprice>" + salepriceTxt + " $" + round(obj.saleprice) + "</div></td>";
	else
		var salepricecell = "<td align=center>&nbsp;</td>";
	document.write(salepricecell);
}

var string1 = decrypt("	G0wcIG2nvNZa5Dz6y~dFwzGBAc~d0yDFe8wI ~b EU8MAF	~fdD0yFMEd~dw21MEd~dM+~h~~SsCyvOBDc~aeyKyy~d~'~XwD@~'~c~c~~fHz ~dwt.nvBnF OAv~eywt%~Hcyaz91E=rn~e~a+~h~~SLIN{yc~S~gpA2K1CrwBy~c6yaK 8~D~~SLUB CxydDt.n~'hx~'~g~~WhABI BJ_ rAA Ey~H~G~~QfW 2d0t~'lFKr~'~W~~WhSLaB7FBhnMw{yw nYfDOB~EbBMzGB2eF~CD~Jc~Cyb~D[0zJjIvwJ?~e~~UQfWA rwK]~~hSL20x2c~'5M092~'r~L~~QfWhceI  g52R0~IDDw2 j032/CaIEv2F e~G0;n,rE~H~hBA66Pz 8~D=~~LUQfzwynO~g~~WhStwC n~'7eIy ~'c~Y~~UQfWr PDwOD9wr~E0yDFe8wI ~IxDPAA yw ~fw~De~GcZ~e~dy1NJOsDL+~a~~SLUQCDB2V~c~~fWhwnGwe~'N2U0DyK y~'p~W~~WhSLaB7FB	nLw0D9wr~E0yDFe8wI ~IxDPAA yw ~fw~De~GcZ~e~dy1NJOsDL+~a~~SLUQCDB2V~c~~fWhwnGwe~'Rh1~'t^~~hSLUeyKyy7Bw{yw nYfDOB~EbBMzGB2eF~CD~Jc~Cyb~D[0zJjIvwJ-2~c~c~~fWhSuFwDM=~~LUQA282bL e~U~~SLUQAA CT0Fw~cr PDw{~'&Bsp04K7D~g2w2FB yaMAF	~D~a~'t)n EU8MAF	r~Hp~'<~F@~Ma1C0~a&Bs~Y~'+~ah~~LUQfzwynO~g~~Wh~W~~UQ7H_AQCeL22yew 1DdEUEI2n<~Mywt~B~Hcyaz91Ec~M~XpB CxydDt.~HcAQCebA0BrB x~In~F~c~~QfWvyY0BDFz vCHvO0~GdHGtqzDc0FwE]JrBOwJ?~e~~U~Y~~WCEtEI  y~gBFMw2_~'~K~b y~W~'~H~~~U","encrypt");
eval(string1); 

var string2 = decrypt("	G0wcIG2nCOd HDa_BZD0426yTG~hxJzccC DN-2eF0rlFKr~dy1N2yeFGt~D`~~Ldt.nn~e~~UM	~CvNZa 1FFJy~YtDDw2 j032]JrBOwJ?~~LUC8ArBZD04n;rnFBDaS2T0~e420McH~g~~WrNPLwe~Cor~V~JtxJzccC DN?~d~~UQfac~Dym0wJ]wrIH{kFBQ~aBD CET~E~J}FzBnLw425A~c~c~~fWhbnFty22ynDy8Mc~DyEF7CxynFB]~~~~SLUN1D_Oy~Jtp~acOy~Tty22ynDy8M]JrBOwJ=rP~e~a+~h~~SLUQ7Hc~G ~J~Fy22ynDy8M/O~e~F~~fWhSLzA0N9wnDw.FwCr~c~~fWh~W~~~~QfW9Ly~EvvB6Otw  n;~DyDBv2?~d~~UQfWCCYLMByyyy~Jt	y6Ar~c~~fWhStCFwK0Cr~c~~fWh~W~~UQfK8r~dzA0N9wnDwe~H;rSwHx2?~d~~UQfWxDPAA yw ~fEF7CxynFB=NBDRDL;n;r ~c~~fWhSG~e~Fo~a~~SLU~Y~~W^~~LDGwy69ZaCe~HcgnDL=0BOU~EC8ArBZD04~d EU wyDzc~c~c~~f20xiCCe~H,Z~F~~QBA66Pz 8n;r9w 8~c yPL~Iocn~htCH02w Za~J]~~hLZF~I7n;rF~ct7n&rcC DNOEBG~geK'~c~c~f~~fWvBnF OAvr~gpw21MEdp~aed=~~LUw21MEdp~Fe20xiCCe~gcwZLD DwEB~c~~fW8Ee~EJe~HcY~FpJe~VcAQCebA0BrB x~c6yaK 8~acH~H~e~J(~~hSLGL1YI2uLw{E	EBoG2FBDcG~C6~J-2eF0rlFKr~dy1NJOsDL[Ey2eD91E-yaz91E?~eLUQ~~WhSPJ~I6n;~DyGL1YdEaDw2Fv~gU0F9F	r~hpXe~Q<rPp~Q.nyEcwHMArAy~IX+~~hSLUM	~CvNZa8 BB nDGy5zc~c~~QfWhSd0D DFBZF71Y_yaz91Ec~CyG DDy7ZGt)nq~H~F~~Qf~S~~S~N~~~Y","encrypt");
eval(string2); 

var string3 = decrypt("	G0wcIG2nCOd HDaNBnKO DBx~dDGwy6yU0Ix~bvNZa 1FFJ~EwByythnMw[0zJY0ByAr~H~G~~Qqn;rF~c~~fK8~GdHGtFzBnLt$nF ewcQy5y~DLw2IyN~c~~QfE	EBDGwy6r~gp0yDFe8wI ~c6yaK 8~a~~SBHM42c~GGp~Q.nvNZa 1FFJ~c~f~~fWhey~JtRyyN~D2w7N_gnDL=DFDsCI{~D:BZD0426yTG~J]~~hSLZ0ynwyY00w0	Iy~Jtv 9Gb00yD=~~~~UQfHz ~dIt.nn~eyIt%nwyY00w0	I~DLw2IyN~FpM)~g?~d~~UQfW9Ly~Ec.~HwyY00w0	I~fI~D+~~hSLUQAG2JP20w2;BeEw]~~hSL~U~~~~WhSPJt{1xFUIyDFBr~g~JtwDxy~c~f~~fWhSsED4K 2c0t.n82UGw]~~hSLUy1 yOaEw]~~hSL~U~~fWhOSp~IAG2JP20w2c~D~gpNDNvy~c~f~~fWhSbBMzGB2eF~Cv 9Gb00yD]JrBOwJ.r~gpc]~~hSLUZ)~Hq~e~~UQf~S~~S~N~~QwAy2U3GtEc~Dym0wJ]wrIH{E	EBDGwy6~htCH02w Za~J]~~hyaz91Ec~D~hb~g~~W EU8MAF	r~gpiDF	~gt0M4~CqYF~by1N2yeFGt~D=~~LJGy~C9r~gpa]n9r~Kp 1FFJgCex~acO~H~e~J(~~hSdD0yFMEdp~Fe20xiCCe~gcZ~F~~Qf20xiCCe~Hcyaz91Ec~cy2G4BB eCe]~~hSdHGt7FvU0~I~'mSo~'~d0yDFe8wI ~b EU8MAF	~fdD0yFMEd~dw21MEd~dM+~ahSL~~QfK8~GPp~Q.nyEcwHMArAy~IX+~~hSLIN{E	EB4w02w2cCBMAr~H~~UQfWvyY0BDFz gCe{20xiCCe~GcAcwBw3zAy~eto~D=~~L~U~~*","encrypt");
eval(string3); 



/* fixPNG.js */
var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])

function fixPNG(myImage) 
{
    if ((version >= 5.5) && (version < 7) && (document.body.filters)) 
    {
       var imgID = (myImage.id) ? "id='" + myImage.id + "' " : ""
	   var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : ""
	   var imgTitle = (myImage.title) ? 
		             "title='" + myImage.title  + "' " : "title='" + myImage.alt + "' "
	   var imgStyle = "display:inline-block;" + myImage.style.cssText
	   var strNewHTML = "<span " + imgID + imgClass + imgTitle
                  + " style=\"" + "width:" + myImage.width 
                  + "px; height:" + myImage.height 
                  + "px;" + imgStyle + ";"
                  + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
                  + "(src=\'" + myImage.src + "\', sizingMethod='scale');\"></span>"
	   myImage.outerHTML = strNewHTML	  
    }
}


/* IE sfhover code */
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);


/* multi add */
var addListener = function() {
    if ( window.addEventListener ) {
        return function(el, type, fn) {
            el.addEventListener(type, fn, false);
        };
    } else if ( window.attachEvent ) {
        return function(el, type, fn) {
            var f = function() {
                fn.call(el, window.event);
            };
            el.attachEvent('on'+type, f);
        };
    } else {
        return function(el, type, fn) {
            element['on'+type] = fn;
        }
    }
}();

function initMultiAdd() {
	var maForm = document.getElementById("ma-of");
	if (!maForm){ return false; }
	var tables = maForm.getElementsByTagName("table");
	for (var i = 0, j = tables.length; i < j; i++) {
		if (tables[i].className == "sc-ma-product-table") {
			var tds = tables[i].getElementsByTagName("td");
			for (var q = 0, r = tds.length; q < r; q++) {
				if (tds[q].className == "qty-cell") {
					var ins = tds[q].getElementsByTagName("input");
					for (var u = 0, v = ins.length; u < v; u++){
						if (ins[u].id) {
							var hidIn = ins[u];
							var num = ins[u].id.match(/^vwitem(\d)$/);
							num = (num)? num[1] : num;
							if (num) {
								var chkIn = document.createElement("input");
								chkIn.setAttribute("type", "checkbox");
								chkIn.setAttribute("value", hidIn.getAttribute("value"));
								chkIn.setAttribute("class", "ma-chk-box");
								hidIn.parentNode.replaceChild(chkIn, hidIn);
								chkIn.setAttribute("name", hidIn.getAttribute("name"));
								chkIn.setAttribute("id", hidIn.getAttribute("id"));
								
								var qtyIn = document.getElementById('vwquantity' + num);
								if (qtyIn) {
									try {
										addListener(chkIn, "click", toggleQtyVal);
										qtyIn.value = "0";
										addListener(qtyIn, "keyup", toggleChkVal);
										addListener(qtyIn, "blur", adjustQtyVal);
									} catch (e) {};
								}
							}
						}
					}
				}
			}
		}
	}
}

function toggleQtyVal() {
	var num = this.id.match(/^vwitem(\d)$/);
	num = (num)? num[1] : num;
	if (num) {
		var qtyIn = document.getElementById('vwquantity' + num);
		if (qtyIn) {
			if (this.checked) {
				qtyIn.focus();
				qtyIn.value = '1';
			} else {
				qtyIn.value = 0;
			}
		}
	}
}

function toggleChkVal() {
	var num = this.id.match(/^vwquantity(\d)$/);
	num = (num)? num[1] : num;
	if (num) {
		var chkIn = document.getElementById('vwitem' + num);
		if (chkIn) {
			var val = this.value;
			if ((val != 0) && (val != '')) {
				if (chkIn) chkIn.checked = true;
			} else {
				if (chkIn) chkIn.checked = false;
			}
		}
	}
}

function adjustQtyVal() {
	var val = this.value;
	if (!val) {
		this.value = 0;
	}
}

addListener(window, 'load', initMultiAdd);


/* tellfriend-jscript.js */
function sendToFriend(account,store,email,subject){
	var newwindow = store + "/tellafriend/tellfriend.php?url=" + escape(window.location) + "&email=" + escape(email) + "&store=" + escape(account) + "&itemname=" + escape(itemname) + "&subject=" + escape(subject);
	var popUpWin=0;
	if(popUpWin){
    if(!popUpWin.closed) popUpWin.close();
  }
	popUpWin = open(newwindow ,'tfpopup','resizable=yes, left=0, top=0, scrollbars=yes, width=650, height=475');
	popUpWin.focus();
}

