$(document).ready(function() {

	if($("#content").hasClass("productDetailsPage")){
		triggerDocumentReady_PDP();
		triggerDocumentReady_PDP_Only();
	}
});

//this document ready trigger is PDP Page specific
function triggerDocumentReady_PDP_Only () {
	$("#nav").css("z-index","2003");
        
        $iframeSrc = $('.screen iframe').attr('src');
        $('.screen iframe').delay(1000).attr('src', $iframeSrc);
}

function triggerDocumentReady_PDP () {

	var url = "http://version1.filtermatch.com/embed/show_all?token=cc103a4a-ac97-11e0-bcb3-12313b08c8e2&item_key=undefined";
	$("#igodigital_read_reviews").load(url);
	
	// Color Switch
	
	$(".colorSwitch").each(function(i,el){
		new colorSwitch(el);
	});
	
	// Custom List
	
	new selectList($("#selectSizeList")[0]);
	
	//addToWishList
	
//	$("#addToWishListBtn").live("click",function(){
//
//	
//		$(".addToWish_successmsg").hide();
//		$(".addToWish_failmsg").hide();	
//		
//		
//		var pid = $("#addToWishListBtn").attr("pid");
//		var sid = $("#addToWishListBtn").attr("sid");
//
//
//		var $form = $("#globalAddToWishlistForm");
//		
//		$form.find('#wishProdId').val(pid);
//		$form.find('#wishSkuId').val(sid);
//		$form.find('#wishQty').val(1);
//
//		$form.jquerySubmitForm($form,$form, function(){
//			$(".addToWish_successmsg").show();
//		},function(){
//			$(".addToWish_failmsg").show();
//		});
//			
//	});	
//	
	$("#pdpFuncList #addToBasketButton").live("click",function(){

		var sid = $(this).attr("sid");
		var pid = $(this).attr("pid");
		var qty = $("#quantity").val();
		var pgName = $(this).attr("pgName");

		//alert("111: " + pid);
		var $form = $("#globalAddItemForm");
		
		$form.find('#globalAddItemFormProductId').val(pid);
		$form.find('#globalAddItemFormCatalogRefId').val(sid);
		$form.find('#globalAddItemFormQuantity').val(qty);
		$form.find('#globalAddItemFormPageName').val(pgName);
		
		$form.jquerySubmitForm($form,$form, function(){
			window.location = "/cc/cart/cart.jsp";
			//$(".addToWish_successmsg").show();
			//alert("success");
		},function(){
		//	alert("fail");
		//	$(".addToWish_failmsg").show();
		});
		
			
	});		
	
	$("#PDPImageSection li").live("click",function(){
		var thisImage = $(this).find("img");
		var imageType = thisImage.attr("iType");
		var skuId = thisImage.attr("skuId");
		
		var url = "/cc/product/include/imageSection.jsp";
		url += "?iType="+imageType;
		url += "&skuId="+skuId;

		//alert("start");
		$("#PDPImageSection").load(url, function(){
			init_allScene7($(this));
			//$(this).find(".screen").html($("#imageSpinSet").html());
			//alert("complete: " + $("#imageSpinSet").html());


			/*var spinUrl = "/cc/include/scene7/imageSpin.jsp";
			$(this).find(".screen").load(spinUrl,function(){
				alert("complete imageSpin");
			});*/
		});
		
		/*var mainImage = $(this).parents("#PDPImageSection").find(".screen img");
		mainImage.attr("iType",imageType);
		formScene7URL(mainImage);*/
		
	});
	
}

function change360Spin(imageData){
	document.getElementById("imageSpinSetIFrame").src = "/cc/include/scene7/imageSpin.html?imageData="+imageData;
}

function selectList(list){
	this.selectList = $(list);
	this.displayField = this.selectList.find("span").first();
	this.options = this.selectList.find(".option").first();
	this.dataSrc = this.selectList.parent().find("select").first();
	this.colour = this.selectList.find("#colour").first();
	this.pId = this.selectList.find("#pId").first();

	this.init();
}

selectList.prototype = {
	init: function(){
		
		var self = this;
		
		$.each(this.dataSrc.find("option"),function(i,val){
			var selectOption = this;
			self.options.append("<a href='' optionVal='" + $(selectOption).val() + "' name=" + i + ">" + $(val).html() + "</a>");
		})
		
		this.selectList.find("a").first().bind("click",function(o){
			return function(){
				o.show();
				return false;
			}
		}(this));
		
		this.selectList.find(".option").find("a").bind("click", function(o){
			return function(){
				o.select(this);
				o.load(this);
				o.loadBasket(this);
				o.loadImageSection(this);
				o.hide();
				return false;
			}
		}(this));
	},
	show: function(){
		this.options.show();
	},
	hide: function(){
		this.options.hide();
	},
	select: function(el){
		this.displayField.html($(el).html());
		this.dataSrc[0].selectedIndex = $(el).attr("name");
	},
	load: function(el){
		var size = $(el).html();
		var colour = this.colour.attr("colour");
		var pId = this.pId.attr("pId");
		var skuId = $(el).attr("optionval");
		
		var url_price = "/cc/product/include/showSalePrice.jsp?skuId="+skuId;
		var priceLocation = $("#priceLocation");
		
		
		priceLocation.html("");
		priceLocation.load(url_price, function(){
		});
		
		/*var url_func = "/cc/product/include/functionList.jsp?colour="+encodeURIComponent(colour)+"&product="+pId+"&size="+size;
		var pdpFuncList = globalPdp.getTaps().find("#pdpFuncList");
			

		pdpFuncList.html("");
		pdpFuncList.load(url_func, function(){
			
		});*/
			
	},
	loadBasket: function(el){
		var skuId = $(el).attr("optionval");
		$("#addToBasketButton").attr("sid",skuId);
	},
	loadImageSection: function(el){
		var skuId = $(el).attr("optionval");
		var imageSectionUrl = "/cc/product/include/imageSection.jsp";
		imageSectionUrl += "?skuId="+skuId;
		$("#PDPImageSection").load(imageSectionUrl, function(){
			init_allScene7($(this));
		});
	}	
	
};

var globalPdp = {
	
	getTaps: function(){
		
		return $("#bodyOfPdpJs");
	},
	
	addToBasket:function(){
		var pid = $("#addToBasketButton").attr("pid");
		var sid = $("#addToBasketButton").attr("sid");
		var qty = $("#quantity").val();
		var pgName = $("#addToBasketButton").attr("pgName");
		var isQuickView = true;
		var isRedirect = $("#addToBasketButton").attr("isRedirect");
//		alert(qty)

		var $form = $("#globalAddItemForm");
		
		$form.find('#globalAddItemFormProductId').val(pid);
		$form.find('#globalAddItemFormCatalogRefId').val(sid);
		$form.find('#globalAddItemFormQuantity').val(qty);
		$form.find('#globalAddItemFormPageName').val(pgName);
		$form.find('#globalAddItemFormIsQuickView').val(isQuickView);
		
		$form.jquerySubmitForm($form,$form, function(){
			if (isRedirect && isRedirect == "1") {
				window.location="/cc/cart/cart.jsp";
				return false;
			}
			else {
				var qty = $("#quantity").val();
				var sid = $("#addToBasketButton").attr("sid");
				var url = "/cc/include/footerBasket.jsp?justAddedQty="+qty+"&justAddedSku="+sid;
				$("#footerBasket").load(url, function(){
					triggerDocumentReady_FooterBasket();
					init_allScene7($(this));
					$("#footerAddToBasketConfirmBox").fadeIn().delay(2000).fadeOut();
				});
				
				globalDialogObject.closeGlobalDialog();
			}
		},function(){
		});
	},
	
	addToWishlist: function() {
		$(".addToWish_successmsg").hide();
		$(".addToWish_failmsg").hide();	
		
		
		var pid = $("#addToWishListBtn").attr("pid");
		var sid = $("#addToWishListBtn").attr("sid");


		var $form = $("#globalAddToWishlistForm");
		
		$form.find('#wishProdId').val(pid);
		$form.find('#wishSkuId').val(sid);
		$form.find('#wishQty').val(1);

		$form.jquerySubmitForm($form,$form, function(){
			$(".addToWish_successmsg").show();
		},function(){
			$(".addToWish_failmsg").show();
		});
	}
};




function colorSwitch(list){
	this.colorList = $(list);
	this.dataField = this.colorList.parent().find("input[type=hidden]").first();
	this.selectedClassName = "selected";
	
	this.init();
	
}

colorSwitch.prototype = {
	init: function(){
		this.colorList.find("a").bind("click",function(o){
			return function(){
				o.reset();
				o.select(this);
				o.loadSize(this);
				o.loadPriceAndBTn(this);
				o.loadBasket(this);
				o.loadImageSection(this);
				return false;
			}
		}(this));
	},
	select: function(el){
		$(el).addClass(this.selectedClassName);
		this.dataField.val($(el).parent().attr("class"));
	},
	reset: function(){
		this.colorList.find("a").removeClass(this.selectedClassName);
	},
	loadSize: function(el){

		var selectedColor = this.dataField.val();
		
		var productId = this.dataField.attr("productId");
		
		var url = "/cc/include/includeSize.jsp?colour="+encodeURIComponent(selectedColor)+"&productId="+productId;
		var sizeSelect = $("#sizeSelect");
		
		sizeSelect.html("");
		sizeSelect.load(url, function(){
			
			new selectList($("#selectSizeList")[0]);
		});
	},
	loadPriceAndBTn: function(el){
		var skuId = $(el).attr("sid");
		var url = "/cc/product/include/showSalePrice.jsp?skuId="+skuId;
		var priceLocation = $("#priceLocation");
		
		priceLocation.html("");
		priceLocation.load(url, function(){
		});
		
		/*var urll = "/cc/product/include/functionList.jsp?sId="+sid;
		var pdpFuncList = globalPdp.getTaps().find("#pdpFuncList");
			
		pdpFuncList.html("");
		pdpFuncList.load(urll, function(){
		});*/
		
	},
	loadBasket: function(el){
		var skuId = $(el).attr("sid");
		$("#addToBasketButton").attr("sid",skuId);
	},
	loadImageSection: function(el){
		/*var skuId = $(el).attr("sid");
		var imageSectionUrl = "/cc/product/include/imageSection.jsp";
		imageSectionUrl += "?skuId="+skuId;
		$("#PDPImageSection").load(imageSectionUrl, function(){
			init_allScene7($(this));
		});
		
		var QVImageSectionUrl = "/cc/product/include/QVImageSection.jsp";
		QVImageSectionUrl += "?skuId="+skuId;
		$("#QVImageSection").load(QVImageSectionUrl, function(){
			init_allScene7($(this));
		});*/
		
			
		var skuImageData= $(el).attr("skuImageData");
		skuImageData += "_IS";
		//For flash
		var imageUrl = "/cc/include/scene7/imageZoom.html?imageData="+skuImageData;
		var QVImageUrl = "/cc/include/scene7/qvImage.html?imageData="+skuImageData;
		//For DHTML
        //var imageUrl = "/cc/include/scene7/viewerDHTML.html?imageData="+skuImageData;
		
		if(is_iOS()) {
			var imageData = $(el).attr("skuImageData");
			var skuId = $(el).attr("sid");
			var imageSec = '<img class="getScene7 iOSStaticImg" skuId="'+skuId+'" iData="'+imageData+'" iType="MAIN" iSize="pdd" src="" />';
			$("#PDPImageSection").html(imageSec);
			$("#QVImageSection").html(imageSec);					
			init_allScene7($("#PDPImageSection"));
			init_allScene7($("#QVImageSection"));
		}
		
		$("#PDPImageSection #scene7Frame").attr("src",imageUrl );
		$("#QVImageSection #scene7Frame").attr("src",QVImageUrl );
				
	}
	
};

 function iframeBig(){
        
            $('#PDPImageSection iframe').attr('width', 775);
   
        }
        
        function iframeSmall(){
        
            $('#PDPImageSection iframe').attr('width', 305);
   
        }
