/* ========================================================
 *  JS used on productDetail.aspx 
 * ======================================================== */
	 
	 
	var timer;
    window.productdetails_jso = {
        AjaxOnLoad: function() {
        },

        OnLoad: function() {
         
            try { Sys.Application.add_load(window.productdetails_jso.AjaxOnLoad); } catch (e) { };
            try { window.productdetails_jso.showsizes();} catch (e) { };
           
        },
        addtoCart: function(bo) 
        {

            WebServicesShared.AddtoCart.GO(bo,
              window.productdetails_jso._postprocessbtnclick,
              window.productdetails_jso._pagemethods_errors, bo
              ); // call PageMethod  

        },
        _postprocessbtnclick: function(result, o) 
        {
            var r; eval("r = " + result);

            if (r && r.status == "added") {
                addedToCart(r);
            }
            else {
                didNotaddedToCart();
            }
        },
        _pagemethods_errors: function(result) // capture page method errors
        {
            try { Sys.Debug.trace(result); } catch (e) { };
        },
	   colorsizeselectorchange: function(c){
           $('.color_'+ window.productdetails_jso.activecolor ).removeClass('colorpicked');
           $('#sizepicked').html('');
           window.productdetails_jso.activecolor = c;
           $('#mainImage').load('popups/pdMainImage.aspx?modelcolor=' + window.selectorBoxObj_jso.model + '-' + window.selectorBoxObj_jso.colors[c].colorcode  + '&alt=' + escape(window.selectorBoxObj_jso.colors[c].fullcolorname));
           window.productdetails_jso.showsizes();
           
           $('.color_'+ c ).addClass('colorpicked');
           var colorname = window.selectorBoxObj_jso.colors[c].fullcolorname.toLowerCase();
			  $('.colorPickedClass').html( colorname);
			 
           
           
       },
		updatequantity: function(a){
		
			 
			$('#quantitypicked').html(a.replace(/^0/,""));
		
		},
        sizeselectorchange: function(j){
			var sizepicked = window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].sizes[j].size.replace(/^0/,"");
			var s = $('.size_'+ window.productdetails_jso.activesize );
			s.removeClass('sizepicked');
			if(s.hasClass('backorderpicked')){
				s.removeClass('backorderpicked');
				s.addClass('backorder');
			}
			window.productdetails_jso.activesize = j;
			$('.size_'+ j ).addClass('sizepicked');
			$('#sizeadded').html(sizepicked);
			$('#sizepicked').html(sizepicked);
			$('#bopopinfo').html("");
			if(window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].sizes[j].nad != "null"){
				$('#sizecont').highlightFade();


				$('#sizepicked, #bopopinfo').html(" <span class='warning'> Size "+sizepicked+" is on backorder untill "+window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].sizes[j].nad+"</span>")
			
			
			}
			
			
        },
       activecolor:0,
       activesize:null,
       showsizes: function(){
		   //shows sizes
		   //resets the sizes to none or it will add the next ones sizes
		   $('#sizesSelector').html('');
		  // try { var currsize = window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].sizes[window.productdetails_jso.activesize].size;} catch (e) { };
		  
		   
			//this removes sizing if it is handbags or care product
			var siza = window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].sizes[0].size.toLowerCase(); ;
			if(siza == "o/s" ||siza == "hb" || siza == "na" || siza == "rg" || siza == "plw"  || siza == "os"){
				$('.nosizes').css('display', 'none');
				$('#fittab').css('display', 'none');
				window.productdetails_jso.activesize = 0;
			}else{
				 window.productdetails_jso.activesize = null;
			}
			 
			   
			   for(var j = 0 ; j < window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].sizes.length; j++)
				{
					
					//if(window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].sizes[j].size  == currsize) window.productdetails_jso.activesize = j;
					//this loades the first set of sizes
					if(window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].sizes[j].nad != "null"){
						$('<li class="size_'+ j + ' backorder" xbackorder="'+window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].sizes[j].nad +'" onclick="window.productdetails_jso.sizeselectorchange('+ j +')">'+ window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].sizes[j].size.replace(/^0/,"")  + '</li>').appendTo('ul#sizesSelector');
						$('#backordertext').css("display","block");

					}else{
						$('<li class="size_'+ j + '" onclick="window.productdetails_jso.sizeselectorchange('+ j +')">'+ window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].sizes[j].size.replace(/^0/,"")  + '</li>').appendTo('ul#sizesSelector');
					}
					
				}
			 
	     
       }
       
        
    };
    function addtocartnow() {

        if (window.productdetails_jso.activesize == null) {
            $('#sizecont').highlightFade();


            $('#sizepicked').html(" <span class='warning'>Attention: You need to select a size.</span>")
        } else {

            $('#addtocart').attr({ src: "/images/buttons/addtocartn_processing.gif" });
            $("#itemadded").attr({ src: "/images/products/prodListMini/" + window.selectorBoxObj_jso.model + "-" + window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].colorcode + "-pl_m.jpg", alt: window.selectorBoxObj_jso.model });

            window.productdetails_jso.addtoCart(window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].sizes[window.productdetails_jso.activesize].sku + "-" + document.getElementById('qty').value);
        }
    }
    function BuildPage()
        {
        
			
			
			if(GetCookie('colorShow') && window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor]){
				
         		window.productdetails_jso.activecolor = GetCookie('colorShow');
         	} else{
         		window.productdetails_jso.activecolor = 0;
         	}
         	
         	
         	if(GetCookie('colorShow') && window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor]){
				 
         		window.productdetails_jso.activecolor = GetCookie('colorShow');
         		//this is here to make sure the murchandising dosent break the page.  When international dosent cary the merchandised product
         		if(window.productdetails_jso.activecolor == "undefined"){
         			window.productdetails_jso.activecolor = 0;
         		}
         	} else{
         	 
         		window.productdetails_jso.activecolor = 0;
         	}
         	
         	 
         	 if(!window.selectorBoxObj_jso || !window.selectorBoxObj_jso.colors){
				//this checks to see if there 
				//turns error on
				document.getElementById("errorMessage").style.display = "block";
				document.getElementById("content").style.display = "none";
				return;
			}else{
			
				$('#content').fadeIn('slow');
				
			}
         	//loads in first main image
         	$('#mainImage').load('popups/pdMainImage.aspx?modelcolor=' + window.selectorBoxObj_jso.model + '-' + window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].colorcode + '&alt=' + escape(window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].fullcolorname));

         	//adds the color name
         	var colornamefirst = window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].fullcolorname.toLowerCase();
         	if(colornamefirst == "care product"){
			
				$('#colorName').css('display', 'none');
           
			}else{
			   
     			$('.colorPickedClass').html(colornamefirst);
     		}
          
         	//this turns on the more info button if there is more details
         	if($('#morecontent').html() != ""){
         	
         		$('.more').css("display","inline");

         	}
         	
         
				//builds selection to choose
				var s = document.getElementById("colorSelector");
				if(window.selectorBoxObj_jso.colors.length == 1){
				$('.nocolor').css('display', 'none')
				$('#clrselected').css('display', 'none')
				}
				for(var i = 0 ; i < window.selectorBoxObj_jso.colors.length ; i++)
				{
					 
					//this loads all the colors into a ul item
					$('<li id="'+ window.selectorBoxObj_jso.colors[i].colorcode+'" class=color_'+ i + ' onclick="window.productdetails_jso.colorsizeselectorchange(' + i + ');"><img src="/images/products/thumb/' + window.selectorBoxObj_jso.model + '-' + window.selectorBoxObj_jso.colors[i].colorcode +'-thb.jpg"/></li>').appendTo('ul#colorSelector');
					
					 
				} 
				
			
			
			//this sets the first color to picked
			$('.color_'+window.productdetails_jso.activecolor).addClass('colorpicked')
			//this section does backorder stuff
			// this is  here to remove .00
			var qualforShip = $('#freeshipAmount').html().replace(".00","");
			var modelCost = $('#litPriceofModel').html().replace(".00","");
			var modcost2 = modelCost.replace("$","");
			$('#qualFreShip').html(qualforShip);
			$('#litPriceModel').html(modelCost);
			if(parseFloat(qualforShip) <= parseFloat(modcost2)){
			 
				$('#freeShippingQal').css("display","block");
				
			}
			//calls onload
			window.productdetails_jso.OnLoad();
			
			
        
        }
    function addedToCart(result, o) { 
		
		var result_jso = [];
		var colorname = window.selectorBoxObj_jso.colors[window.productdetails_jso.activecolor].fullcolorname;
           
		result_jso = result; 
		
 
		//builds up the shoping cart
		$('#totalcart').html(result_jso.currencysymbolunicode + result_jso.totalorder);
		if(result_jso.totalitemsincart < 2)$('#morethan0ne').css("display", "none");
		$('#nameofitem').html(window.selectorBoxObj_jso.name);
		$('#colornameofitem').html(colorname.toLowerCase());
		$('#numcartitems').html(result_jso.totalitemsincart);
		$('#cartresponse').slideDown('slow');
		  timer = setTimeout(function() { $('#cartresponse').slideUp('slow'); }, 5000);
		$('#proceed').fadeIn('slow');
		$('#addtocart').attr({ src: "/images/buttons/addtocartn.gif" });

		//Omniture - Do not touch
		s.linkTrackVars = "products,events";
		s.linkTrackEvents = "scOpen,scAdd";
		eval(result_jso.omnitureParams);
		s.tl($('#addtocart'), 'o', 'addtocart'); 
    
    } // designer to build out.
    function didNotaddedToCart() { alert("add failed"); } // designer to build out.


	//this is for the tabs in the description
	
			$(function() {

                $('#tabs').tabs({ fxFade: true, fxSpeed: 'fast' });


            });
	//function to get querysting
	
	function getQuerystring(key, default_)
	{
	  if (default_==null) default_="";
	  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
	  var qs = regex.exec(window.location.href);
	  if(qs == null)
		return default_;
	  else
		return qs[1];
	} 
	Array.prototype.remove = function(from, to) {
	  var rest = this.slice((to || from) + 1 || this.length);
	  this.length = from < 0 ? this.length + from : from;
	  return this.push.apply(this, rest);
	};
	
	function setupbackorder(){
		var oldcontent;
		var bot; 
		
		$(".backorder").hover(
		  function () {
			oldcontent  = $('#sizepicked').html()
		    var who = this;
		    bot = " <span class='warning'>Size " + $(who).html() +" is on backorder until "+$(who).attr('xbackorder')+"</span>"
		    if($('#sizepicked').html() != bot ){
				
				$('#sizepicked').html(bot)
			}
		  }, 
		  function () {
			  if($('#sizepicked').html() != bot){
				$('#sizepicked').html(oldcontent)
				}
				
			  }
			);
			//this is to remove timer of cart response pop up
			$("#cartresponse").hover(
			  function () {
				  clearTimeout(timer);
			  }, 
			  function () {
				  
				   timer = setTimeout(function() { $('#cartresponse').slideUp('slow'); }, 2000);

				});
				
			$(".backorder").click(function () { 
			  oldcontent  = $('#sizepicked').html();
			  $(this).removeClass('backorder');
			  $(this).addClass('backorderpicked');
			});

		
	};
	function ready(){
	
		$('.relatedgear .gender').html($('#gender').html())
		eraseCookie('colorShow');
		setupbackorder();
		$(".more").toggle(
		  function () {
			 $("span#morecontent").show("slow", function () {
				 $("span#morecontent").css('display','block')
			});
			 $(this).html(" Close <span class='close'>X</span>");
		  }, 
		  function () {
			  $('#morecontent').hide('slow');
			  $(this).html(" More Details...");
			  
			});
			 
		//load in sizing chart
			
			if(window.selectorBoxObj_jso.colors){
				$('#loadsizingchart').load('popups/sizingchart.aspx?charttype='+window.selectorBoxObj_jso.colors[0].salesproductlinekey + '&gID='+getQuerystring('gID'));
			}
		// hides sizing:
			if($('#sizing span').html() != ""){
				$('#sizing').css('display','block');
			
			}
			//this is to animate the reviews back to anchors
			$(".pr-nav-back-to-top a").click(function (ev) { 
				ev.preventDefault();

				$('html, body').animate({
					scrollTop: $("#container").offset().top}, 2000);
					
			});
			//this is to animate  to the reviews  anchors
			$(".pr-snippet-link").click(function (ev) { 
				ev.preventDefault();

				$('html, body').animate({
					scrollTop: $("#reviews").offset().top}, 2000);
					
			});
			//this is a second link to open the sizing tab
			$("#secSize").click(function (event) { 
				event.preventDefault();
				$('#size').click();
				 
					
			});
			//this is a close pop up addedto cart panel
			$(".closecart").click(function (event) { 
				event.preventDefault();
				$('#cartresponse').fadeOut('slow');
			});
			//growing shoe click
			$("#whiteBg").click(function (event) { 
				$('#mainImageprod').click();
			});
		$("a.detailsShip").fancybox({ 'frameWidth': 800, 'frameHeight': 650, 'overlayShow': true,'hideOnContentClick': true }); 
		$("a.detailsShipca").fancybox({ 'frameWidth': 420, 'frameHeight': 300, 'overlayShow': true,'hideOnContentClick': true }); 
		$("a#additionalview").fancybox({ 'frameWidth': 400, 'frameHeight': 480, 'overlayShow': true,'hideOnContentClick': true });
		 
		 //this function gets the query string paramaters


		if (getQuerystring('ES') == "Y") {
		    $('#emailfriendtab').click();

		}
		if (GetCookie('emlWin') == "open") {
		    $('#emailfriendtab').click();
		    eraseCookie('emlWin');
		}
			/*this is for omniture tracking ///////////////////////////////////*/
			$("#size").click(function (event) { 
					event.preventDefault(); 
					s.linkTrackVars='prop11'; 
					s.prop11="pdp: sizing info";
					s.tl(this,'o', 'sizingcharttop'); 
					 
			});	
			$("#destab").click(function (event) { 
					event.preventDefault(); 
					s.linkTrackVars='prop11'; 
					s.prop11="pdp: description";
					s.tl(this,'o', 'destab'); 
					 
			});		
	 
			 $("#warrtab").click(function (event) { 
					event.preventDefault(); 
					s.linkTrackVars='prop11'; 
					s.prop11="pdp: care and fit";
					s.tl(this,'o', 'warrtab'); 
					 
			});		
			 $("#emailfriendtab").click(function (event) { 
					event.preventDefault(); 
					s.linkTrackVars='prop11'; 
					s.prop11="pdp: email a friend";
					s.tl(this,'o', 'emailfriendtab'); 
					 
			});	 
			$(".detailsShip").click(function (event) { 
					event.preventDefault(); 
					s.linkTrackVars='prop11'; 
					s.prop11="pdp: shipping info";
					s.tl(this,'o', 'shipopingpopup'); 
					 
			});			 
			$(".relatedgear").click(function (event) { 
					s.linkTrackVars='eVar3,eVar16,eVar17'; 
					linkTrackEvents="None"
					s.eVar3="cross-sell";
					s.eVar16= getQuerystring('productID');;
					s.eVar17="Product Detail Page";
					s.tl(this,'o', 'relatedgear'); 
					 
			});			 
			/*END this is for omniture tracking ////////////////////////////////*/
	}
	// this is ran on page load
	if (window.addEventListener) window.addEventListener ("load",function(event) {ready()},false);
	else if (window.attachEvent) window.attachEvent ("onload",function(event) {ready()});
	
	 //this is for the growing shoe effect
	 //GROWING SHOE//////////////////////////////
	 function getWidth(targetDiv){

			/*************************************************************************
			 Determine current width of a DIV

				Getting div's width like: document.getElementById("myDiv").style.width
					only works if the style was set inline-- not embedded or external.

				It also works after javascript sets the div's width

				This procedure tries style.width which fails on first run.
				It then looks for width using browser-specific alternatives
			*************************************************************************/

			var el = document.getElementById(targetDiv);

			var styleValue = el.style.width; // 1st run: value is 'NULL'
			
			if(!styleValue){ // retrieve div width another way
			
				if(document.defaultView){

					// Get inital width for Firefox, Chrome, Opera, Safari, Konqeror
					styleValue = document.defaultView.getComputedStyle(el, "").width;
			
				}else if(el.currentStyle){

					// Get initial width for Internet Explorer
					styleValue = el.currentStyle.width;
			
				}

			}// end first run stuff
			
			return styleValue; // e.g. "350px"
		}

		function toggleDiv(){
			
			/*************************************************************************
			  Toggle dimensions for a specific DIV

				Function is called from SWF to resize it's container div

				Requires: function getWidth(targetDiv)
			*************************************************************************/
			
			// Config
			var originalWidth = 350;    // Required 350 since current SWF is 350x425
			var originalHeight = 427;   // Required 425
			var zoomWidth = 700;        // Based on flashvars.gEndSz value below
			var zoomHeight = 700;       // Should be same as zoomHeight since Zoom image is square
			var myDivId = "mainImageprod"; // Same id used in swfobject attribute
			// end Config


			var theDiv = document.getElementById(myDivId);
			
			var currWidth = parseInt(getWidth(myDivId));
			
			var newWidth, newHeight;
			
			if ( currWidth < zoomWidth ){ // need to expand
				$('#whiteBg').fadeIn('slow');
				newWidth  =  zoomWidth;
				newHeight =  zoomHeight;

			}else{ // need to reduce
				$('#whiteBg').fadeOut('slow');
				newWidth  =  originalWidth;
				newHeight =  originalHeight;

			}

			theDiv.style.width  = newWidth + "px";
			theDiv.style.height = newHeight + "px";


		}
		
