/*
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");
}


// Custom code begins below
function textInputClear(obj, text) {
	if (obj.value == text) obj.value = '';
	else if (obj.value == '') obj.value = text;
}

function getElementsByClassName(parentId, className) {
	var parentObj = document.getElementById(parentId);
	var a = new Array();
	var i;
	for (i = 0; i < parentObj.childNodes.length; i++)
		if (parentObj.childNodes[i].className && parentObj.childNodes[i].className.indexOf(className) > -1)
			a.push(parentObj.childNodes[i]);
	return a;
}

function featuredProductHover(obj, imageSrc, imageWidth, imageHeight, areaWidth) {
	var a = document.getElementById('featuredProducts').getElementsByTagName('td');
	var links = obj ? obj.getElementsByTagName('a') : null;
	var newHREF = links ? links[0].getAttribute('href') : null;
	var imgObj = document.getElementById('featuredProductPhoto');
	var marginLeft = Math.floor((areaWidth - imageWidth) / 2);
	for (var i = 0, j = a.length; i < j; i++)
		if (a[i].className.match(/\bfeaturedProduct\b/))
			a[i].style.backgroundColor = '#fff';
	obj.style.backgroundColor = "#f2f6f9";
	imgObj.src = imageSrc;
	imgObj.onload = function () {
		with (imgObj) {
			width = imageWidth;
			height = imageHeight;
			style.marginLeft = marginLeft + 'px';
			style.marginRight = (areaWidth - imageWidth - marginLeft) + 'px'; 
			if (newHREF) parentNode.setAttribute('href', newHREF);
		}
	}
}


function selectTab(obj, contentObj) {
	var a = document.getElementById('featuresTabs').getElementsByTagName('a');
	for (var i = 0, j = a.length; i < j; i++)
		a[i].className = a[i].className.replace(new RegExp(' ?selectedTab'), '');
	obj.className += ' selectedTab';
	obj.blur();

	a = getElementsByClassName('featuresContainer', 'featurePage');
	for (var i = 0, j = a.length; i < j; i++)
		a[i].style.display = 'none';

	document.getElementById(contentObj).style.display = '';
}

function displayAdditionalInfo() {
	var link = document.getElementById('additionalInfoToggle');
	var a = link ? link.getElementsByTagName('a') : null;
	a = a ? a[0] : null;
	var text = document.getElementById('additionalInfo');
	if (text && link && a)
		if (a.firstChild.nodeValue.match(/^more/)) {
			text.style.height = '';
			text.style.overflow = 'visible';
			a.innerHTML = (typeof hideDetailsText !== 'undefined') ? hideDetailsText : 'collapse&hellip;';
		} else {
			text.style.height = '1px';
			text.style.overflow = 'hidden';
			a.innerHTML = 'more&hellip;';
		}
}

function setTabHeights(tabNames) {
	var runTest = true;
	for (var i = 0, j = tabNames.length; i < j; i++)
		if (!document.getElementById(tabNames[i])) runTest = false;
	if (runTest) {
		var max = 0;
		for (var i = 0, j = tabNames.length; i < j; i++) {
			var obj = document.getElementById(tabNames[i]);
			obj.style.visibility = 'hidden';
			obj.style.display = '';
			max = obj.offsetHeight > max ? obj.offsetHeight : max;
			obj.style.display = 'none';
			obj.style.visibility = 'visible';
		}
		document.getElementById(tabNames[0]).style.display = '';
		for (var i = 0, j = tabNames.length; i < j; i++)
			document.getElementById(tabNames[i]).style.height = max + 'px';
		var tabs = document.getElementById('featuresTabs').getElementsByTagName('li');
		tabs[0].getElementsByTagName('a')[0].className = 'selectedTab';
		tabs[tabs.length - 1].style.borderWidth = '1px 1px 0 1px';
	}
}


/* Code for this store's existing multi-add checkboxes */
function checkQty(id, isChecked) {
	with (document.getElementById('vwquantity' + id))
		if (isChecked) value = parseInt(value) > 0 ? value : '1';
		  else value = '0';
}
function chkZero(id) {
	var quantityBox = document.getElementById('vwquantity' + id);
	var parsedInt = parseInt(quantityBox.value);
	quantityBox.value = parsedInt;
	with (document.getElementById('vwitem' + id))
		if (parsedInt > 0) checked = true;
		else {
			checked = false;
			quantityBox.value = '0';
		}
}
function Checkcheckbox(id, currentQuantity) {
	chkZero(id);
}
function selectAll() {
	var i = 0;
	while (document.getElementById('vwitem' + i)) {
		document.getElementById('vwitem' + i).checked = true;
		checkQty(i, true)
		i++;
	}
}
function multiaddResetAll() {
	var i = 0;
	while (document.getElementById('vwitem' + i)) {
		document.getElementById('vwitem' + i).checked = false;
		document.getElementById('vwquantity' + i).value = '0';
		i++;
	}
}

// scImageEnlarge.js
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){SC.I1( ); 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; }SC.I1= function ( ){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); };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; }}


