/*  ================================
     Sitewide JavaScript
    ================================ */
	
thunder.client.project.colorChanged = function(s)
{
	document.getElementById('scene7imgsrc').src=s;
}

thunder.client.project.readMore = function()
{
	$('.read-more-zone').css('display','block');
	$('.read-less-zone').css('display','none');
	$('.read-less-button').css('display','block');
	$('.read-more-button').css('display','none');
}

thunder.client.project.readLess = function()
{
	$('.read-less-zone').css('display','block');
	$('.read-more-zone').css('display','none');
	$('.read-less-button').css('display','none');
	$('.read-more-button').css('display','block');
}

thunder.client.project.continueShopping = function()
{
	$('.popup').css('display','none');
}

function showAddToCartPopUp(s)
{
	thunder.client.project.showPopup(s);
}

var shoppingCartWarningPopupStatus = 0; 
var showKRWDialog = function(popupName, popupWidth, itemsRemaining, ele) {
	$(ele).val(itemsRemaining);
	var windowWidth = document.documentElement.clientWidth;  
	var windowHeight = document.documentElement.clientHeight;  
	var popupHeight = $('#'+popupName).height();  
	var popupWidth = $('#'+popupName).width();  
	//centering  
	$('#'+popupName).css({  
	"position": "absolute",  
	"top": windowHeight/2-popupHeight/2,  
	"left": windowWidth/2-popupWidth/2,
	"width":popupWidth
	});  
	//only need force for IE6  
	$('#'+popupName+'BackgroundPopup').css({  
	"height": windowHeight  
	});  
	var msg = "WOW, that is a popular item. You deserve a FULL order, and we only have " + itemsRemaining + " left. Please update your order in the cart to proceed.";
	$('.'+popupName+'_bd').html(msg);
	if(shoppingCartWarningPopupStatus==0){ 
		$('#'+popupName).css('display','block');  
		shoppingCartWarningPopupStatus = 1;  
		}  
}

function disableKRWDialog(popupName){  
	// disables popup only if it is enabled  
	if(shoppingCartWarningPopupStatus==1){  
		$('#'+popupName).css('display','none');  
		shoppingCartWarningPopupStatus = 0;  
	}  
}  

var showKRWPopup = function(popupName, popupWidth, m) {
	var wd = "400px";
	if(popupWidth) {
		wd = popupWidth + "px"; 			
	}
	var modalMode = false;
	if(m) {
		modalMode = m;
	}
	
	var maskHeight = $(document).height();    
	var maskWidth = $(window).width();  
    var popupTop =  (maskHeight/2) - ($('#'+popupName).height()/2);    
    var popupLeft = (maskWidth/2) - ($('#'+popupName).width()/2);
    topPosition = 10 - ($('#'+popupName).height());
	$('#'+popupName).css({top:popupTop, left:popupLeft}).show(); 
}

function displayAddToCartPopUp(msg, shipmentMsg, topPosition)
{
	var maskHeight = $(document).height();    
	var maskWidth = $(window).width();  
    var dialogTop =  (maskHeight) - ($('#dialog-box').height()/2);    
    var dialogLeft = (maskWidth/2) - ($('#dialog-box').width()/2);
    topPosition = topPosition - ($('#dialog-box').height());
    $('#dialog-box').css({top:topPosition, left:dialogLeft}).show();  
    $('#dialog-message').html(msg);
    $('#dialog-shipmentMessage').html(shipmentMsg);
}
thunder.client.project.showPopup = function(s)
{
	$('.popup').children('strong')[0].innerHTML = s;
	$('.popup').css('display','block');
}

function validateSelection(formId) { 
	var result = true;
	var refinementSelectedVal = $("#"+formId+"_refinement").val();
	if(refinementSelectedVal == 'noSkuSelected')	{
		if(!$("#"+formId+"_refinement").parent().parent().hasClass("selectRef"))	{
			$("#"+formId+"_refinement").parent().parent().toggleClass("selectRef");
		}
		result = false;
	}	else	{
		$("#"+formId+"_refinement").parent().parent().toggleClass("selectRef", false);
	}
    return result; 
} 
 
function updateQuantity(selectEle)	{
	var selectionId = $(selectEle).attr('id');
	var selectedSku = selectionId.toString().substring(0, selectionId.toString().indexOf('_'));
	var refinementCtlId = selectedSku+"_refinement";
	var quantityCtlId = selectedSku+"_quantity";

	var str = "";
	$('#'+quantityCtlId).empty();
	$('#'+refinementCtlId+' option:selected').each(function()	{
		str += $(this).attr("id").toString();
	});
	if(str != null && str.length > 0)	{
		var slcount = str.valueOf();
		for(i = 1; i <= slcount; i++ )	{
			$('#'+quantityCtlId).append("<option value='" + i + "'>" + i + "</option>");
		}
	}
}

var getAddProductToCartParams = function(formId) {
	var formSelected = "#"+formId+"_addToCartForm";
	var refinementSelectedVal = $("#"+formId+"_refinement").val();
	var quantitySelectedVal = $("#"+formId+"_quantity").val();
 	var params = null;
	params = "productId=" + formId 
 			+ "&skuId=" + refinementSelectedVal 
 			+ "&qty=" + quantitySelectedVal
 			+ "&checkInventory=true";
	return params; 		
}

var updateShoppingCartSummary = function(secure) {
	var ajaxParams = "secure=" + secure;
	$.ajax({
		type: "POST",
		url: "/krw/common/cart_summary.jsp",
		data: ajaxParams,
		success: function(data) {
			$("#cart_summary").html(data);
		},
		error: function(r) {
		}
	});
}

thunder.client.project.pageLoaded = function()
{
	thunder.client.modify.selfLabelFields();
	thunder.client.modify.knapikMenu(true);
	thunder.client.modify.tabSet(thunder.client.project.colorChanged);
	$('.read-more-button').click(thunder.client.project.readMore);
	$('.read-less-button').click(thunder.client.project.readLess);
	
	$('.image-button-search').click(
			function(){
				if(validateSelection($(this).attr('id')))	{
					var formId = $(this).attr('id');
					var KRW_DELIM = "$+$";
//					 var res = [];
					var ajaxParams = getAddProductToCartParams(formId);
					var prdName = $("#"+formId+"_brand").html()+" "+$("#"+formId+"_name").html();
					var offset = $("#"+formId+"_addToCartForm").offset();
					$.ajax({
							type: "POST",
							url: "/krw/search/searchListAjaxAddToCart.jsp",
							data: ajaxParams,
							dataType: "text",
							success: function(data) {
									var resp = data.split(KRW_DELIM);
									var message = "";
									var shipmentMsg = "";
									if(resp[0]) {
										eval(resp[0]);
									}					
									if(resp[1]) {
										res = eval("(" + resp[1] + ")"); 
									}
									if(res && res["res"] && res["res"] == "true") {
										updateShoppingCartSummary(true);
										message = '<strong>'+prdName+'</strong> has been added to your cart';
										if(res["availabilityStatus"] && res["availabilityStatus"].length > 0 && '1000' == res["availabilityStatus"]  )	{
//											shipmentMsg = 'In Stock' 
										}	else if(res["availabilityStatus"] && res["availabilityStatus"].length > 0 && '1002' == res["availabilityStatus"]  )	{
											shipmentMsg = '<strong>'+'Ships on ';
											if(res["availabilityDate"] && res["availabilityDate"].length > 0 )	{
												shipmentMsg += res["availabilityDate"];
											}
											shipmentMsg += '</strong>'
										}
									} else {
										message = "An error occured while adding product to cart. <br />Please contact support.";
									}
									displayAddToCartPopUp(message, shipmentMsg, offset.top);
							},
						  	error: function(XMLHttpRequest, textStatus, errorThrown)	{
						  			alert('An error occured while adding product to cart. Please contact support');
						  	}
						});
				}
				return false;
			});
	
	$('select').change(
			function(){
				if(($(this).val() != 'noSkuSelected') && ($(this).parent().parent().hasClass("selectRef")))	{
					$(this).parent().parent().toggleClass("selectRef", false);
				}
			});

	if ($.browser.msie) {
		$('select.skuSelected')
		.bind('mouseover', function() { $(this).addClass('expand').removeClass('clicked'); })
		.bind('click', function() { $(this).toggleClass('clicked'); })
		.bind('mouseout', function() { if (!$(this).hasClass('clicked')) { $(this).removeClass('expand'); }})
		.bind('change blur', function() { $(this).removeClass('expand clicked'); });
	}

	$('.productRefinements').change(function()	{
		var str = "";
		$('#qtySelected').empty();
		$('.productRefinements option:selected').each(function()	{
			str += $(this).attr("id");
		});
		if(str != null && str.length > 0 && str.indexOf(":") != -1)	{
			var pdSl = str.split(":", 2);
			var pomsg = pdSl[0].toString();
			var slcount = pdSl[1].valueOf();
			if(pomsg != null && pomsg.length > 0)	{
				$('.preOrderMessage').text("Ships on "+pomsg );
			}	else	{
				$('.preOrderMessage').text("");
			}
			for(i = 1; i <= slcount; i++ )	{
				$('#qtySelected').append("<option value='" + i + "'>" + i + "</option>");
			}
		}
	}).change();

	// Change these -
	$('.continue-shopping').click(thunder.client.project.continueShopping);
	$('.d-continue-shopping').click(function(){
		$('#dialog-box').hide();
		return false;
	});

	//Press Escape event!  
	$(document).keypress(function(e){  
		if(e.keyCode==27 && shoppingCartWarningPopupStatus==1){  
			disableKRWDialog('ShoppingCartWarning');  
		}  
	});  
		
	//	$('.add-to-cart').click(function() { thunder.client.project.showPopup('Women\'s New Balance&reg; 993'); });
}

$(document).ready(thunder.client.project.pageLoaded);
