SC.activateMenu = function(sId) {
	var oObj = SC.getObj(sId);
	var aLiList = SC.getTagArray("li",oObj);
	for (var i=0; i<aLiList.length; i++) {
		aLiList[i].onmouseover=function(){
			if(this.className != "" && this.className.indexOf("schover") == -1 )
				this.className = this.className + " schover";
			else if(this.className == ""){
				this.className = "schover";
			}
		}
		aLiList[i].onmouseout=function() {
			var scClass = this.className;
			if(scClass == "schover")
				this.className = "";
			else if(scClass.indexOf("schover") > -1)
				this.className = scClass.replace("schover","").trim();
		}
	}
}

function swatch(name){
	var select=document.getElementById("me");
	select.value = name;
}

function setCookie(name, price) {
    document.cookie = "\"" + name + "=" + price + ";\"";
}

function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf(";");
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }else
        begin += 2;

    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
        end = dc.length;
    return unescape(dc.substring(prefix.length, end));
}

function swatch(name){
	var select=document.getElementById("me");
	select.value = name;
}

function realtimePricing(base,id,value) {
    var here=document.getElementById("rprice");
    pr = value;
    pri = pr.split("$");
    price = pri[1].split(")");
    price = price[0];
    price = parseFloat(price);
    base = parseFloat(base);
    var def = getCookie(id);
    var mulla = parseFloat(def);
    if ((isNaN(mulla))||(mulla < 0)){
        var startPrice = document.createTextNode("$" + base );
        here.appendChild(startPrice);
        mulla = parseFloat("0"); 
	}
	mulla = formatCurrency(price + base);
    here.style.display="block";
    here.value == mulla;
    var newPrice = document.createTextNode(mulla);
    here.appendChild(newPrice);
    here.replaceChild(newPrice, startPrice);
}

/* engraving scripts */
function processOnBlur() {
	var f=document.getElementById("main_form");
	if (f) {
		var i1=document.getElementById("eng_Initials");
		var x=document.getElementById("eng_initials1");
		var y=document.getElementById("eng_initials2");
		var z=document.getElementById("eng_initials3");
		if (i1 && x && y && z)
			i1.value=x.value + y.value + z.value;
	}
}

var globalMonoStr1, globalMonoStr2, globalMonoStr3 = "";

function processOnBlurM(obj) {
	var f=document.getElementById("main_form");
	if (f) {
		var i1=document.getElementById("eng_Mono");
		if(obj.id == "eng_mono1")
			globalMonoStr1 = obj.value;
		if(obj.id == "eng_mono2")
			globalMonoStr2 = obj.value;
		if(obj.id == "eng_mono3")
			globalMonoStr3 = obj.value;

		if (i1 && globalMonoStr1 != "" && globalMonoStr2 != "" && globalMonoStr3 != "") {
			i1.value= globalMonoStr1 + globalMonoStr2 + globalMonoStr3;
		}
	}
}

function windowPopup(winPage, ht, wid){
	ww = wid + 25;
	wh = ht + 50;
	window.open(winPage,'cobbleCourtPopup','width='+ww+',height='+wh+',status=no,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars=yes');
}

/*Swatch Script*/
var fsetnum = "";
var fchtype = ""
var cset = "";
/* filter price */
function optionFilter(val){
	var regex = /\s*\((\+|-)\$*\d+\.*\d+\)/;
	var str = val.replace(regex,"");
	return str;
}
/* changes main image and popup image */
function swapImg(swapObj,interMediateImg){
   var mainimg = document.getElementById("scMainImage");
   if(mainimg){
    if(swapObj){
        var imgel = "<img src=" + interMediateImg + ">";
        var imgelg = swapObj.href;        
    }else{
		//alert(fabricSwatches[fchtype][fsetnum][3])
        var imgel = "<img src=" + fabricSwatches[fchtype][fsetnum][3] + ">";
        var imgelg = fabricSwatches[fchtype][fsetnum][4];
        //var imgel = "<img src=" + eval("fabricimg_" + fchtype + "[" + fsetnum + "]") + ">";
        //var imgelg = eval("fabriclgimg_" + fchtype + "[" + fsetnum + "]");
    }
    mainimg.innerHTML = imgel;
    mainimg.setAttribute("href", imgelg);
   }
}

/* sets fabric type  */
function setFabric(settype, val){
	var el = document.getElementById("fabric_cart");
	if(el){
		var str = optionFilter(settype+"");		
		var chtype = str.toLowerCase();
		
		var swatchDiv = document.getElementById("sc-swatchimages");
		swatchDiv.innerHTML = "";
		var strSwatch = "";
		var curArray = fabricSwatches[chtype];		

		el.innerHTML = "";
		
		fchtype = chtype;
		
		for(var i=0, len = curArray.length; i < len; i++){
			var newopt = document.createElement("option");

			if(i == 0){
				var tmpOpt = document.createElement("option");
				tmpOpt.value = "-Select-";
				tmpOpt.text = "-Select-";
				if(ie || saf){
					var optObj = new Option("-Select-","-Select-");
					el.add(optObj,i);
				} else
					el.options.add(tmpOpt,i);
			}

			newopt.value = curArray[i][1];
			var temp = curArray[i][1];
			var strb = optionFilter(temp);
			newopt.text = strb;

			if(ie || saf){
				var optObj = new Option(strb,temp);
				el.add(optObj,(i + 1));
			} else
				el.options.add(newopt,(i + 1));
			
			strSwatch += "<a href=\"#\" onmouseover=\"showSwatchName('" + curArray[i][1] + "');\" onclick=\"fireSwatch(" + curArray[i][0] + "); return false;\">"
			strSwatch += "<img src=\"/lib/yhst-96324405060055/" + curArray[i][2] + "\">";
			strSwatch += "</a> ";

		}
		swatchDiv.innerHTML = strSwatch;	
		
		showSwatchName("");
		
		var el = document.getElementById("fabrictype");
		el.selectedIndex = val;
		fireSwatch(1);
	}
}
/* sets fabric type in product info table */
function setFabricType(settype){
	var el = document.getElementById("fabricset_cart");
	el.selectedIndex = settype;
	el.onchange();
}

/* changes swatch color in product info table when swatch is clicked & fires main image change */
function fireSwatch(val){
	var el = document.getElementById("fabric_cart");
	el.selectedIndex = val;
	fsetnum = parseInt(val) - 1;
	swapImg();
}
/* displays swatch name */
function showSwatchName(val){
	var el = document.getElementById("fabricname");
	if(el){
		cset = optionFilter(val);
		el.innerHTML = cset;
	}
}
/*End Swatch Script*/

/*Real Time Options*/
function FIND(item) {
	if (document.all) return(document.all[item]);
	if (document.getElementById) return(document.getElementById(item));
	return(false);
}

function round_decimals(original_number, decimals) {
    var result1 = original_number * Math.pow(10, decimals)
    var result2 = Math.round(result1)
    var result3 = result2 / Math.pow(10, decimals)
    return pad_with_zeros(result3, decimals)
}

function pad_with_zeros(rounded_value, decimal_places) {
    var value_string = rounded_value.toString()
    var decimal_location = value_string.indexOf(".")
    if (decimal_location == -1) {
        decimal_part_length = 0
        value_string += decimal_places > 0 ? "." : ""
    }
    else {
        decimal_part_length = value_string.length - decimal_location - 1
    }
    var pad_total = decimal_places - decimal_part_length
    if (pad_total > 0) {
        for (var counter = 1; counter <= pad_total; counter++)
            value_string += "0"
        }
    return value_string
}

function toDollarsAndCents(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num + '.' + cents);
}

function updateOptionPrice(thisform,thisinput){
	var thedifference = 0;
	var pricevalAr = new Array();
	var direction = "add";
	var modPrice = "";
	var preOptName = "";
	var firstLoop = false;

	if(thisinput){
		var isMulti = thisinput.name.indexOf("vwattr");

		if(isMulti >= 0){
			var multiadd = false;
			underScorePos = thisinput.name.indexOf("_");
			preOptName = thisinput.name.substr(0,underScorePos + 1);
		}else
			var multiadd = true;
	}else
		var firstLoop = true;

	if(!firstLoop || !multiForm){
		var price = eval(preOptName + "basePrice");
		if(price != "")
			price = parseFloat(price);
		else
			price = 0;
	}

	for(i=0;i<thisform.elements.length;i++){
		priceval = 0;
		pricevalAr = 0;

		if(thisform.elements[i].type == "select-one" && (multiadd || thisform.elements[i].name.indexOf(preOptName) > -1)){
				priceval = thisform.elements[i].options[thisform.elements[i].selectedIndex].value

				if(priceval.indexOf("(+$") > -1) {
					pricevalAr = priceval.split("(+$");
					direction = "add";
				}else if(priceval.indexOf("(+") > -1) {
					pricevalAr = priceval.split("(+");
					direction = "add";
				}else if(priceval.indexOf("(-") > -1) {
					pricevalAr = priceval.split("(-");
					direction = "sub";
				}else if(priceval.indexOf("(-$") > -1) {
					pricevalAr = priceval.split("(-$");
					direction = "sub";
				}else if(priceval.indexOf("(*") > -1) {
					pricevalAr = priceval.split("(*");
					direction = "mult";
				}
				if(pricevalAr.length > 1){
					priceval = pricevalAr[1].split(")");
					priceval = parseFloat(priceval[0]);
				} else {
					priceval = 0;
				}

				if(multiForm && firstLoop){
					isMulti = thisform.elements[i].name.indexOf("vwattr");

					if(isMulti >= 0){
						underScorePos = thisform.elements[i].name.indexOf("_");
						preOptName = thisform.elements[i].name.substr(0,underScorePos + 1);
					}
					var price = eval(preOptName + "basePrice");
				}

				if(direction == "add")
					price = price + priceval
				else if(direction == "sub")
					price = price - priceval
				else {
					thedifference = (price * priceval) - price;
					price = price * priceval;
					if(thisinput) thisinput.value = "(+" + thedifference + ")";
				}
			} else {
				if(thisform.elements[i].type == "radio" && (multiadd || thisform.elements[i].name.indexOf(preOptName) > -1 || firstLoop)){
					if(thisform.elements[i].checked){
						priceval = thisform.elements[i].value;
						fullinput = priceval;
						if(priceval.indexOf("(+$") > -1) {
							pricevalAr = priceval.split("(+$");
							direction = "add";
						} else if(priceval.indexOf("(+") > -1) {
							pricevalAr = priceval.split("(+");
							direction = "add";
						} else if(priceval.indexOf("(-") > -1) {
							pricevalAr = priceval.split("(-");
							direction = "sub";
						}else if(priceval.indexOf("(-$") > -1) {
							pricevalAr = priceval.split("(-$");
							direction = "sub";
						}else if(priceval.indexOf("(*") > -1) {
							pricevalAr = priceval.split("(*");
							direction = "mult";
						}
						if(pricevalAr.length > 1){
							priceval = pricevalAr[1].split(")");
							priceval = parseFloat(priceval[0]);
						}else
							priceval = 0;

						if(multiForm && firstLoop){
							underScorePos = thisform.elements[i].name.indexOf("_");
							preOptName = thisform.elements[i].name.substr(0,underScorePos + 1);
							var price = eval(preOptName + "basePrice");
						}

						if(direction == "add")
							price = price + priceval
						else if(direction == "sub")
							price = price - priceval
						else {
							thedifference = (price * priceval) - price;
							price = price * priceval;
							if(thisinput) thisinput.value = "(+" + round_decimals(thedifference,2) + ")";
						}

						if(multiForm && firstLoop){
							modPrice = modPrice + "$" + toDollarsAndCents(price);
							if (document.getElementById)
								document.getElementById(preOptName + "dispprice").innerHTML = modPrice;
							modPrice = "";
						}
				}
			}
		}
	}
	if(thisinput || !firstLoop || !multiForm){
		modPrice = modPrice + "$" + toDollarsAndCents(price);
		if (document.getElementById)
			document.getElementById(preOptName + "dispprice").innerHTML = modPrice;
	}
}

/*End Real Time Options*/

/*Add engrave options*/
function showHideEngrave(obj){
	if(obj.value == "true") {
		document.getElementById("engravebtn").style.display = "block";
		if (document.getElementById("perscharge"))
			document.getElementById("perscharge").style.display = "block";
	}
	else{
		if (document.getElementById("perscharge"))
			document.getElementById("perscharge").style.display = "none";
		document.getElementById("engravebtn").style.display = "none";
		if(document.getElementById("engrave-step-2").style.display == "block"){
			document.getElementById("hidden-engraving").innerHTML = "";
			document.getElementById("engrave-step-2").style.display = "none";
			document.getElementById("engrave-step-1").style.display = "block";
		}
	}
}

function flipPage(str){
	window.location	= "http://www.cobblecourt.com/item-engraving.html?" + str;
}

function URLDecode(str){
   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   var encoded = str;
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				plaintext += "%[ERROR]";
				i++;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	} 
   return plaintext;
};

function addEngraveOptions(){
	var querystring = window.location.href;
	var itemCount = 0;
	if(document.engraveform.itemcount)
		itemCount = document.engraveform.itemcount.value;

	var formOptions = "";
	
	if(querystring.indexOf(".html?") > -1){
		var radioBtns = document.engraveform.personalize;
		var radioLen = radioBtns.length;
		var outPutData = "";
		for(var i=0; i < radioLen; i++){
			if(radioBtns[i].value == "true"){
				radioBtns[i].checked = true;
				break;
			}
		}
		querystring = querystring.split(".html?");
		querystring = querystring[1];
		querystring = querystring.split("&");
		var engraveStep1 = document.getElementById("engrave-step-1");
		var engraveStep2 = document.getElementById("engrave-step-2");
		engraveStep1.style.display = "none";
		engraveStep2.style.display = "block";
		
		for(var i = 0; i < querystring.length; i++){
			var nvp = querystring[i].split("=");
			if(nvp[0].indexOf("vwattr") > -1){
				var cleanNames = nvp[0].replace("vwattr1_","");
				cleanNames = cleanNames.replace("vw-inscription-","");
				if(nvp[1] != ""){
					if(itemCount > 0){
						for(var j=0; j < itemCount; j++)
							formOptions += "<input type=\"hidden\" name=\"vwattr" + j + "_" + URLDecode(cleanNames) + "\" value=\"" + URLDecode(nvp[1]) + "\">";
					}
					else if(itemCount == 0){
						formOptions += "<input type=\"hidden\" name=\"" + URLDecode(cleanNames) + "\" value=\"" + URLDecode(nvp[1]) + "\">";
					}
					outPutData += "<div class=\"engravedata\">" + URLDecode(cleanNames) + ": <span>" + URLDecode(nvp[1]) + "</span></div>";
				}
			}
		}
		document.getElementById("hidden-engraving").innerHTML = formOptions;
		document.getElementById("engraveinfo").innerHTML = outPutData;
		if (document.getElementById("perscharge"))
			document.getElementById("perscharge").style.display = "block";
	}else{
		var radioBtns = document.engraveform.personalize;
		var radioLen = radioBtns.length;
		for(var i=0; i < radioLen; i++){
			if(radioBtns[i].checked && radioBtns[i].value == "true"){
				engravebtn.style.display = "block";
				break;
			}
		}
	}
}

function scValidateForm(obj){
	var aInputTags = obj.getElementsByTagName("INPUT");
	var aSelectTags = obj.getElementsByTagName("SELECT");
	var aSelArray = new Array();
	var aSelArray;
	for(var i=0, len=aInputTags.length; i<len; i++){
			if(aInputTags[i].name.indexOf("vwquantity")>-1 && aInputTags[i].value > 0){
				aLen = aSelArray.length;
				aSelArray[aLen] = aInputTags[i].name.replace("vwquantity","vwattr") + "_";
			}
	}
	
	for(var i=0, len=aSelArray.length; i<len; i++){
		for(var j=0, newlen=aSelectTags.length; j<newlen; j++){
			if(aSelectTags[j].name.indexOf(aSelArray[i]) > -1 && aSelectTags[j].selectedIndex == 0){
				alert("Please select " + aSelectTags[j].value);
				aSelectTags[j].focus();
				return false;
			}
		}
	}
}
