/******************** EW CUSTOM JAVASCRIPT LIBRARY *********************************/
/************ NOTES START *******************************************************************************************
* 
* Date: 01/09/2009
* Purpose: EW Custom JavaScript functions
* Instructions:
* Prerequisites: (note required versions on top of the page)
*   none
************* NOTES END *********************************************************************************************/

/**
 *
 */
function openMiniCart() {
  document.getElementById('cart_expanded').style.display = '';
  document.getElementById('cart_summary').style.display = 'none';
}
/**
 *
 */
function closeMiniCart() {
  document.getElementById('cart_expanded').style.display = 'none';
  document.getElementById('cart_summary').style.display = '';
}
/**
 *
 */
function setMCBehavior (opener, closer) {
	opener.onclick = function() {
		openMiniCart();
	}
	
	closer = closer.getElementsByTagName('table')[0];
	closer.onclick = function () {
		closeMiniCart();
	}
}
/**
 *
 */
//function openPopup(href, name, w, h) {
//  window.open(href, name, 'fullscreen=no,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes,directories=no,location=no,width=' + w + ',height=' + h + '')
//}

/**
* EW custom popup stuff from Aaron
*/
var IFrameObj;

function initPopUpIframe() {
	document.getElementById('middle').innerHTML ="<iframe align=\"top\" frameborder=\"0\" scrolling=\"auto\" width=\"100%\" height=\"400\" name=\"ifr\" id=\"ifr\" ></iframe>"
	IFrameObj = frames['ifr'];
}

function openpopup(url,w,h,heading){
	if(!IFrameObj) {
		initPopUpIframe();
	}
	document.getElementById('popoverlay').style.display ='block';
	document.getElementById('popcontent').style.display ='block';
	document.getElementById('top').style.width = w +8+"px"
	document.getElementById('middle').style.width = w+"px"
	document.getElementById('middle').style.height = h+"px"
	document.getElementById('ifr').style.height = h+"px"
	document.getElementById('info').innerHTML = heading;
	IFrameObj.location.href=(url);
}

function closeme(){
	document.getElementById('popoverlay').style.display ='none';
	document.getElementById('popcontent').style.display ='none';
}
/*
function openpopup(url,w,h,heading){
window.open(url,heading,
"menubar=no,width="+w+",height="+h+",toolbar=no, titlebar=no, scrollbars=yes, resizable=yes");
}
*/




function flagSelectedComponent() {
	if (typeof (cmparray) != "undefined") {
	var radioGrp = $$('input:[type="radio"][name="selecteditemcompid"]');
	for (var k = 0; k < cmparray.length; k++) {
		for (var i = 0; i < radioGrp.length; i++) {
			if (radioGrp[i].value == cmparray[k]) {
				for (var j = 0; j < radioGrp.length; j++) {
					radioGrp[j].checked = false;
				}
				radioGrp[i].checked = true;
				break;
			}
		}
	}

}
}



function clearSelectedMiscComponents()
{
	
	var chkbox = $$('input:[type="checkbox"][name="selecteditemcompid"]');
	if (typeof (chkbox) != "undefined") {
		for (var ii = 0; ii < chkbox.length; ii++) {
			chkbox[ii].checked ==  false;
			
		}
	}
}

function flagSelectedMiscComponent()
{
	//misc kit
	if (typeof (cmparray) != "undefined") {
	var chkbox = $$('input:[type="checkbox"][name="selecteditemcompid"]');
	
	if (typeof (chkbox) != "undefined") {
		for (var k = 0; k < cmparray.length && k > -1; k++) {
		for (var ii = 0; ii < chkbox.length; ii++) {
			if (chkbox[ii].value == cmparray[k]) {
			if(chkbox[ii].checked ==  false)
				chkbox[ii].checked =true;
				 toggleOptionalItemComponent(chkbox[ii]);
			}
		}
	}
	}
	}
}

function toggleItemComponents(thisField) {
	var thisName = thisField.name;
	var thisValue = thisField.value;
	var thisForm = thisField.form;
	var pznComps = thisForm.elements;
	//alert('traditional');
	var optPZNDivID = 'opt_pzn_div';
	var optPZNDiv = document.getElementById(optPZNDivID);
	var pznCompDivFoundEnabled = false;
	if(optPZNDiv) {
		optPZNDiv.style.display = 'none';
	}
	
	for(var x=0; x<pznComps.length; x++) {
		var tempComp = pznComps[x];
		if(tempComp.name == thisName) {
			var tempValue = tempComp.value;
			var compDivId = 'pzn_div_' + tempValue;
			var compDiv = document.getElementById(compDivId);
			//alert('compDivId : '+compDivId+' tempValue : '+tempValue);
			//alert($(compDivId));
			//alert(document.getElementById(compDivId));
			if(compDiv) {
				if(tempValue == thisValue) {
					compDiv.style.display = '';
					pznCompDivFoundEnabled = true;
					if(optPZNDiv) {
					optPZNDiv.style.display = '';
					flagSelectedMiscComponent();
			
					}
				} else {
					
					compDiv.style.display = 'none';
				//	clearSelectedMiscComponents();
				}
			}
			
		}
	}
	
	//if(pznCompDivFoundEnabled && optPZNDiv) {
	//	optPZNDiv.style.display = '';
	//	flagSelectedMiscComponent();
//	}
}


/**********
 * monogram component toggle
 * @param thisField
 * @return
 */
var monogramvalues = new Array;
var monogramTextValues = new Array;
var monoFormat;
function toggleMonogramItemComponents(thisField) {
	var thisName = thisField.name;
	var thisValue = thisField.value;
	var thisForm = thisField.form;
	var pznComps = thisForm.elements;
	toggleItemComponents(thisField);
	monogramvalues.size = 0;
	monogramTextValues.size = 0;
	monoFormat = '';
	var monogramcounter = 0;
	var monogramtextcounter = 0;
	var compDivId = 'pzn_div_' + thisValue;
	var compDiv = document.getElementById(compDivId);

	if (compDiv) {
		for ( var x = 0; x < pznComps.length; x++) {
		//	alert("6666666666");
			var tempComp = pznComps[x];

			if (tempComp.name.startsWith(thisValue)) {
				if (tempComp.type == "select-one") {

					monogramvalues[monogramcounter] = tempComp.options[tempComp.selectedIndex].text;
					monogramcounter++;
				} else if (tempComp.type == "radio"	|| tempComp.type == "checkbox") {

					for (y = 0; y < tempComp.length; y++) {
						if (tempComp[y].checked) {
							monogramvalues[monogramcounter] = tempComp[y].text;
							monogramcounter++;
						}
					}
				} else if (tempComp.type == "text") {
					monogramTextValues[monogramtextcounter] = tempComp.value;
					monogramtextcounter++;
				} else if (tempComp.type == "hidden") {
			//		alert("tempComp.value   : "+ tempComp.value);
					monoFormat = tempComp.value;
				//	alert("monoFormat :"+ monoFormat);

				}
			}
		}
		if (typeof (monogramFormat) != "undefined" && monoFormat != ""	&& monoFormat == monogramFormat	&& typeof (monogramurl) != "undefined") {
			substitutemonogramurl = monogramurl;

		} else if (monoFormat != "" && monoFormat == "Standard" && typeof(Standard) != "undefined") {
			substitutemonogramurl = Standard;
			hasmonogram = true;
		} else if (monoFormat != "" && monoFormat == "A-Traditional"  && typeof(Traditional) != "undefined") {
			substitutemonogramurl = Traditional;
			hasmonogram = true;
		} else if (monoFormat != "" && monoFormat == "1stNameInit" && typeof(stNameInit) != "undefined") {
			var re = /Ctext.*?Rtext/;
			f = "Ctext=" + "\\\'20\\\'26\\\'20" + "&$Rtext";
			stNameInit = stNameInit.replace(re, f);
			substitutemonogramurl = stNameInit;
			hasmonogram = true;
		} else if (monoFormat != "" && monoFormat == "1stNames" && typeof(stNames) != "undefined") {
			var re = /Ctext.*?Rtext/;
			f = "Ctext=" + "\\\'20\\\'26\\\'20" + "&$Rtext";
			stNames = stNames.replace(re, f);
			substitutemonogramurl = stNames;
			hasmonogram = true;
		} else if (monoFormat != "" && monoFormat == "SingleInit" && typeof(SingleInit) != "undefined") {
			substitutemonogramurl = SingleInit;
			hasmonogram = true;
		}
		else if (monoFormat != "" && monoFormat == "BurgInit" && typeof(BurgInit) != "undefined") {
			substitutemonogramurl = BurgInit;
			hasmonogram = true;
		}
		else if (monoFormat != "" && monoFormat == "DotFlourish" && typeof(dotFlourish) != "undefined") {
			var re = /Ctext.*?Rtext/;
			f = "Ctext=" + "\\\'20\\\'26\\\'20" + "&$Rtext";
			dotFlourish = dotFlourish.replace(re, f);
			substitutemonogramurl = dotFlourish;
			hasmonogram = true;
		} 
		
	}
	else
	{
	//selected no monogram option	
		substitutemonogramurl ="";
		hasmonogram = false;
		 changeCurrentUrlOnMotifAndMonogramChanges();
	}
	
}


/**
*
*/
function toggleOptionalItemComponent(thisField) {
	var thisName = thisField.name;
	var thisValue = thisField.value;
	var compDivId = 'opt_pzn_div_' + thisValue;
	if(thisField.checked) {
		$(compDivId).show();
	} else {
		$(compDivId).hide();
	}
}

/**
*
*/
function toggleItemComponentsOld(thisField) {
	var thisName = thisField.name;
	var thisValue = thisField.value;
	var thisForm = thisField.form;
	var form = $(thisForm.id);
	var pznComps = form.getInputs('radio', thisName);
	
	for(var x=0; x<pznComps.length; x++) {
		var tempComp = pznComps[x];
		if(tempComp) {
			var tempValue = tempComp.value;
			var compDivId = 'pzn_div_' + tempValue;
			//alert('compDivId : '+compDivId+' tempValue : '+tempValue);
			//alert($(compDivId));
			//alert(document.getElementById(compDivId));
			if($(compDivId)) {
				if(tempValue == thisValue) {
					$(compDivId).show();
				} else {
					$(compDivId).hide();
				}
			}
			
		}
	}
}

function addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	} else if ( elm.attachEvent ) {
		var r = elm.attachEvent('on' + evType, fn);
		return r;	
	} else { 
		elm['on' + evType] = fn;
	}
}
function radioSelected(){

	if(document.pzn_form.selecteditemcompid && document.pzn_form) {
		for (var i=0; i<document.pzn_form.selecteditemcompid.length; i++)  {
			if (document.pzn_form.selecteditemcompid[i].checked)  {
				toggleItemComponents(document.pzn_form.selecteditemcompid[i]);
			}
		}
	}
}

/**function radioSelected(){
	if(document.pzn_form.selecteditemcompid && document.pzn_form) {
		for (var i=0; i<document.pzn_form.selecteditemcompid.length; i++)  {
			if (document.pzn_form.selecteditemcompid[i].checked)  {
				toggleItemComponents(document.pzn_form.selecteditemcompid[i]);
			}
		}
	}
}**/

function showDivForPreselectComponent(radioFields){
	if(radioFields) {
		var fieldLen = radioFields.length;
		
		flagSelectedComponent();
		for (var i=0; i<fieldLen; i++)  {
	//		alert("radioFields[i]     :"+ radioFields[i].type);
			if(radioFields[i].checked && radioFields[i].type == 'radio') {
			//	alert (fieldLen + ' ' + i);
				toggleItemComponents(radioFields[i]);
			//	toggleMonogramItemComponents(radioFields[i]);
			}
		}
	}
}

function showDivForPreselectWordingComponent(radioFields){
	if(radioFields) {
		var fieldLen = radioFields.length;
		
		flagSelectedComponent();
		for (var i=0; i<fieldLen; i++)  {
	//		alert("radioFields[i]     :"+ radioFields[i].type);
			if(radioFields[i].checked && radioFields[i].type == 'radio') {
			//	alert (fieldLen + ' ' + i);
		//		toggleItemComponents(radioFields[i]);
				toggleMonogramItemComponents(radioFields[i]);
			}
		}
	}
}


function preselectTemplate(thisField, selectedValueField){
	//alert(thisField);
	if(thisField && selectedValueField) {
		var selectedValue = selectedValueField.value;
		var fieldLen = thisField.length;
		//alert(fieldLen);
		for (var i=0; i<fieldLen; i++)  {
			//alert('thisField[i].value : '+thisField[i].value+' selectedValue :'+selectedValue);
			if(thisField[i].value == selectedValue) {
				thisField[i].checked = true;
				//toggleItemComponents(thisField[i]);
			} else {
				thisField[i].checked = false;
			}
		}
	}
}

function preselectComponent(thisField, selectedValue){
	//alert(thisField);
	if(thisField) {
		var fieldLen = thisField.length;
		//alert(fieldLen);
		for (var i=0; i<fieldLen; i++)  {
			//alert('thisField[i].value : '+thisField[i].value+' selectedValue :'+selectedValue);
			if(thisField[i].value == selectedValue) {
				thisField[i].checked = true;
				//toggleItemComponents(thisField[i]);
			}
		}
	}
}

function updatePackageQty(thisField, itemHasPackageItems) {
	//alert("tempFiled Val : :");
	if(itemHasPackageItems && itemHasPackageItems == 'true') {
		var thisForm = thisField.form;
		var thisValue = thisField.value;
		var thisName = thisField.name;
		var fields = thisForm.elements;
		for(var x=0; x < fields.length; x++) {
			var tempField = fields[x];
			if(tempField.name == thisName && tempField != thisField) {
				tempField.value = thisValue;
	//			alert("tempFiled Val : :"+ tempField.value);
			}
		}
	}
}
var preSelectedCmpVal;
//function showMediumImageForPreselectComponent(radioFields){
function showMediumImageForPreselectComponent(){
//	alert("se;ectd cmp id on hte remplate");
	if(typeof(document.embellish_template) != "undefined")
	{
	var radioFields = document.embellish_template.selecteditemcompid;
//	alert("radioFields  :"+ radioFields.length);
	if(radioFields) {
		if(radioFields.length > 1)
		{
		var fieldLen = radioFields.length;
		for (var i=0; i<fieldLen; i++)  {
			if(radioFields[i].checked && radioFields[i].type == 'radio') {
	//			alert("radio value   " + radioFields[i].value);
				toggleShowMediumImageForSelectedComponent(radioFields[i]);
		//		break;
			}
		}
	
	}
	
	else
	{
		if(radioFields.checked && radioFields.type == 'radio') {
				toggleShowMediumImageForSelectedComponent(radioFields);
		}
	}
	
	}
	}
}

function toggleShowMediumImageForSelectedComponent(radioField){
	
	
var	radioFields = document.embellish_template.selecteditemcompid;
//	alert("radioFields  :"+ radioFields.length);
	if(radioFields) {
		if(radioFields.length > 1)
		{
		var fieldLen = radioFields.length;
		for (var i=0; i<fieldLen; i++)  {
	//		alert("gjkgfjgfjfgjjgf   " + radioFields[i].value+"      checked : " + radioFields[i].checked);
			if(radioFields[i].checked && radioFields[i].type == 'radio') {
				
		//		toggleShowMediumImageForSelectedComponent(radioFields[i]);
		//		break;
			}
		}
	
	}
	}
			if(radioField.checked && radioField.type == 'radio') {
				preSelectedCmpVal = radioField.value;
	//		alert(" preSelectedCmpVal   :  "  + preSelectedCmpVal);
				var med_img_div = "med_img_"+preSelectedCmpVal;
				var mediumImageElem  = $(med_img_div).getElementsByTagName("img")[0];
				 intItemImageElem  = $('embellishItemImage').getElementsByTagName("img")[0];
				 intItemImageElem.src = mediumImageElem.src;
				 if(typeof(intItemImageElem) != "undefined") {
					 var large_img_div="large_img_"+preSelectedCmpVal;
				
					 if(preSelectedCmpVal != null){
				
						Event.observe(intItemImageElem, 'mouseover',function(){ $("large_img_"+preSelectedCmpVal).style.display = "block"; });
					  	Event.observe(intItemImageElem, 'mouseout', function(){$("large_img_"+preSelectedCmpVal).style.display = "none";});  
					  	}
				 }
			}
}


function showPreselectedSubComponent(){

	radioFields = document.embellish_template.selecteditemsubcompid;
	if(radioFields) {
		var fieldLen = radioFields.length;
		
		for (var i=0; i<fieldLen; i++)  {
			if(radioFields[i].checked && radioFields[i].type == 'radio') {
				toggleMonogramItemComponents(radioFields[i]);
			}
		}
	}
}

/** Function to bring an element to focus **/
function bringToFocus(elementID) {
	var thisElem = document.getElementById(elementID);
	if(thisElem) {
		thisElem.scrollIntoView();
	}
}

/** Function for Misc Info div in Cart page **/
function ewMiscInfo() {
	var parent = document.getElementById('Misc_Info');
	var titles = getElementsByClassName(parent, 'title');
	var contents = getElementsByClassName(parent, 'content');
	if (titles.length > 1 && titles.length == contents.length) {
		for (i=0; i<titles.length; i++) {
			//		Onclick Function to Reveal different panels.
			titles[i].onclick = function() {
				var titleActive = getElementsByClassName(document.getElementById('Misc_Info'), 'active')[0];
				titleActive.className = titleActive.className.replace(/active/, '');
				
				titleActive = getElementsByClassName(titleActive, 'content')[0];
				Effect.BlindUp(titleActive, {duration: 0.25, queue: 'end'});
				
				var titleNew = this.parentNode;
				titleNew.className += ' active';

				titleNew = getElementsByClassName(titleNew, 'content')[0];
				Effect.BlindDown(titleNew, {duration: 0.25, queue: 'end'});
			}

			//		Initial Setup of 'Hidden' Panels
			contents[i].style.display = 'none';
		}

		//		Setting Initial 'Active' panel and parent container.
		contents[0].style.display = 'block';
		contents[0].parentNode.className += ' active';
		parent.className += ' jsActive';
	}
}

/** Cake top initial item sku **/
function updateSelectedItem(thisField, hiddenFieldName, fieldIndex) {
	var hiddenField = getField(thisField.form, hiddenFieldName, fieldIndex);
	if(thisField.checked) {
		hiddenField.value = thisField.value;
	} else {
		hiddenField.value = "";
	}
}

//	Custom Add-To_Wishlist Response
function ajaxShopListAddItemResponse(req) {
	var success = req.responseXML.getElementsByTagName('success').item(0).firstChild.nodeValue;
	var linkType = req.responseXML.getElementsByTagName('linkType').item(0).firstChild.nodeValue;
	var itemId = req.responseXML.getElementsByTagName('itemId').item(0).firstChild.nodeValue;
	if (success === 'true') {
//		$('list_response_' + linkType + "_" + itemId).innerHTML='This item has been added to your wishlist';
		WishList.successModal();
	}
}

var WishList = {
	successModal: function () {
			var wlForm = document.getElementById('Product_Form') || document.getElementById('sampleform'),
				itemID = wlForm.IID.value,
				PCR = wlForm.PCR.value,
				parameters = 'iid=' + itemID + '&pcr=' + PCR + '&dsp=250300&dnXMLNodeName=Wish_List_Modal&linkType=400&seq=0',
				modalWindow = document.createElement('DIV');

			modalWindow.id = 'Modal';
			modalWindow.appendChild(document.createElement('DIV'));
			modalWindow.lastChild.className += 'modalOverlay';
			
			modalWindow.appendChild(document.createElement('DIV'));
			modalWindow.lastChild.className += 'modalContent';

			modalWindow.lastChild.appendChild(document.createElement('DIV'));
			modalWindow.lastChild.lastChild.id = 'Wish_List_Modal';
			
			document.getElementsByTagName('BODY')[0].appendChild(modalWindow);
			
			ajaxShop(parameters,'','WishList.modalResponse');
		},

	modalResponse: function (req) {
			if(req.responseXML) {	// If successful response
				//	Populate container div and display.
				ajaxShopResponse(req);
				document.getElementById('Modal').className += ' active';
			}
		},

	closeModal: function () {
			document.getElementById('Modal').parentNode.removeChild(document.getElementById('Modal'));
		}
}

function toggleShipSameAsContact(thisField) {
	var countryId = thisField.value;
	var thisForm = thisField.form;
	if(thisForm.shipsameascontact) {
		if(countryId != 229) {
			thisForm.shipsameascontact.checked = false;
			thisForm.shipsameascontact.disabled = true;
		} else {
			thisForm.shipsameascontact.disabled = false;
		}
	}
}

function checkoutbilling_toggleBillSameAsContact(thisField) {
	var tgValue = thisField.value;
	if(tgValue == 'billsameascontact') {
		if(document.getElementById('contact_address')) document.getElementById('contact_address').style.display = '';
		if(document.getElementById('new_bill_address')) document.getElementById('new_bill_address').style.display = 'none';
	} else {
		if(document.getElementById('contact_address')) document.getElementById('contact_address').style.display = 'none';
		if(document.getElementById('new_bill_address')) document.getElementById('new_bill_address').style.display = '';
	}
}

function checkoutshipping_toggleShipSameAddress(thisField) {
	var tgValue = thisField.value;
	if(tgValue == 'shipsameascontact') {
		if(document.getElementById('contact_address')) document.getElementById('contact_address').style.display = '';
		if(document.getElementById('billing_address')) document.getElementById('billing_address').style.display = 'none';
		if(document.getElementById('new_ship_address')) document.getElementById('new_ship_address').style.display = 'none';
	} else if(tgValue == 'shipsameasbill') {
		if(document.getElementById('contact_address')) document.getElementById('contact_address').style.display = 'none';
		if(document.getElementById('billing_address')) document.getElementById('billing_address').style.display = '';
		if(document.getElementById('new_ship_address')) document.getElementById('new_ship_address').style.display = 'none';
	} else {
		if(document.getElementById('contact_address')) document.getElementById('contact_address').style.display = 'none';
		if(document.getElementById('billing_address')) document.getElementById('billing_address').style.display = 'none';
		if(document.getElementById('new_ship_address')) document.getElementById('new_ship_address').style.display = '';
	}
}



