$(window).load(function(){

	
	// Set toggle function for clicking on store tab
	$("#store-tab-min").toggle( open_store_tab, close_store_tab );

	
	// Load Thumbnails in shopping bag and wishlist views
	$('#cart-list div.product-image-holder').each(function(){ 
		var p = $(this).find('div.product-image').attr('id');
		var a = p.split('_');
		var flashvars = {fpath:'/media/products/'+a[1]+'.swf'};
		var params = {menu: 'false',wmode:'transparent'}
		swfobject.embedSWF('/media/image_container.swf', p, '120', '120', '9.0.45', false, flashvars, params);
	});
	
	// Show/Hide the Forget Password Form
	$('#forget-password-link').click(function(){$('#forget-password-form').toggle(); return false;});
	
});

	function resizeHTMLStage(h){
		scrollToTop();
		swffit.fit("flash",1000,h);
	}
	
	function getScrollY() {
	  return $(this).scrollTop();; 
	}
	
	function scrollToTop(){
		scroll(0,0);
	}
	
	
	$(window).scroll(function () { 
		var pos =  ($(this).scrollTop()+125) + "px"; // keep store tab anchored to top/right of page
		$("#store-tab").css("top", pos);
	});

	
	function open_store_tab(){
		$("#store-tab").addClass("open");
		$("#store-tab").animate({width:200}, 100, "linear", 
			function(){
				$("#store-tab").find('#store-tab-max').show();
		});
	}
	
	function close_store_tab(){
		$("#store-tab").removeClass("open");
		$("#store-tab").find('#store-tab-max').hide();
		$("#store-tab").animate({width:72}, 100, "linear");
	}
	
	
	function find_by_size(){
		window.location = '/store/catalog/sizes/'+$("#catalog-nav-size-chooser").val();
	}
	
	function add_to_cart(){
		
		// Create cart item object
		var size_price = $("input[name='fldSizeID']:checked").val();
			
			
		if(!size_price){
				alert('Please select a size!');
		}else{
		
			var sp = size_price.split('_');
			var cart_item = { picture_id: $('#fldPictureID').val(),
							  product_id: $('#fldProductID').val(),
							  color_id: $('#fldColorID').val(),
							  product_name: $('#product-name').html(),
							  color_name: $('#color-name').html(),
							  size_id: sp[0],
							  price: sp[1],
							  size_name: sp[2],
							  qty: $('#fldQty').val() };
							  
			// Slide open the store tab
			open_store_tab();
			
			$('#store-tab-contents').empty();
			
			// Add the swf icon container
			var d = $("<div></div>").attr('id','store-tab-thumb');
			$('#store-tab-contents').append(d); // append div
			
			// Add the swf icon
			var p = $("#fldPictureID").val();
			var flashvars = {fpath:'/media/products/' + p + '.swf'};
			var params = {menu: 'false',wmode:'transparent'}
			swfobject.embedSWF('/media/image_container.swf', 'store-tab-thumb', '160', '160', '9.0.45', false, flashvars, params);
			
			// Add other info	
			$('#store-tab-contents').append($("<div>Product Added!</div>"));
			
			// Send to server via json, server returns html
			var d = $.toJSON(cart_item);
			$.post('/store/bag/add_item', {data: d }, function(result){ 
				// delay this..
				var t = setTimeout(function(){
							$('#store-tab-contents').html(result);
							close_store_tab();
						},2000);
			});
		}
	}
	
	
	function zoomit(){
		$('#large-image').attr('width','1000px');
		$('#large-image').attr('height','1000px');
	}
	
	function getViewsForColor(c){
		arr = jQuery.grep(pictureColorData, function(n, i){
      		return (n.fldColorID == c);
    	});
		return arr;
	}
	function getInventoryForColor(c){
		arr = jQuery.grep(inventoryData, function(n, i){
      		return (n.ColorID == c);
    	});
		return arr;
	}
	
	function getPictureData(p){
		for(i=0;i<=pictureColorData.length;i++){
			if(pictureColorData[i].fldUID == p){
				return pictureColorData[i];
			}
		}
	}
	
	function setViewLinks(clr){
		
		var arr = getViewsForColor(clr); // get views list
		$('#product-views').empty(); // clear out container
		
		// Add View Links
		jQuery.each(arr, function() { // color views from array ( 1=front, 2=back, 3=side )
			var p = this.fldUID;
			var a = $("<a></a>").attr('href','#').click(function(){
				var flashvars = {fpath:'/media/products/'+p+'.swf'};
				swfobject.embedSWF('/media/image_container.swf', 'large-image', '395', '395', '9.0.45', false, flashvars);
				return false;
			});
			switch(this.fldView){
				case '1' : 	a.html('>front view'); break;
				case '2' :	a.html('>back view'); break;
				case '3' :	a.html('>side view'); break;
			}
			$('#product-views').append(a); // append link
    	});
	}
	
	function loadImage(p){
		
		// Embed the Swf
		var flashvars = {fpath:'/media/products/' + p + '.swf'};
		var params = {wmode:'transparent'};
		swfobject.embedSWF('/media/image_container.swf', 'large-image', '395', '395', '9.0.45', false, flashvars, params);
	
		// Get the color id of this image
		var clr = getPictureData(p);
		
		// Update hidden inputs and span
		$("#fldColorID").val(clr.fldColorID);
		$("#fldPictureID").val(p);
		$("#color-name").html(clr.fldColorName);
		
		// Set the Front | Back | Side View  links
		setViewLinks(clr.fldColorID);
		
		// Load the pricing/inventory grid
		drawPriceList(clr.fldColorID);
		
		// Complete the Look
		loadCompleteTheLook(p);
		
		// Get some more "action shots"
		loadActionShots(clr);
		
	}
	
	function loadActionShots(clr){
		
		$('#more-action').empty(); // clear out container
		
		$.getJSON('/store/catalog/action_shots/' + clr.fldProductID + '/'+ clr.fldColorID, function(json){
			if(!json.length > 0){
				$('#more-action').append($("<h4>No images available</h4>"));
				//$('#product-tabs').tabs( 'disable' , 0 );
			}else{
				$('#product-tabs').tabs( 'select' , 0 );
			}
			jQuery.each(json, function() { // Add Action Swfs
				var p = this.fldUID;
				var eid = 'm_' + p;
				var d = $("<div></div>").attr('id',eid);
				$('#more-action').append(d); // append div
				var params = {wmode:'transparent'}
				var flashvars = {fpath:'/media/girls/'+ p +'.swf'};
				swfobject.embedSWF('/media/image_container.swf', eid, '360', '360', '9.0.45', false, flashvars, params);
	    	})
		});
	}
	
	function loadCompleteTheLook(pic){
		
		$('#complete-look').empty(); // clear out container
		
		$.getJSON('/store/catalog/complete_the_look/' + pic, function(json){
			if(json.length > 0){
				jQuery.each(json, function() { // Add Action Swfs
					var p = this.fldUID;
					var product_link = '/store/catalog/product/' + this.fldProductID + '/' + this.fldUID;
					var eid = 'c_' + p;
					var d = $('<div class="product-container" style="width:185px; height:250px;"></div>');
					var f = $("<div></div>").attr('id',eid);
					var lnk = $('<div></div>');
						lnk.append( $('<a>'+this.fldProductName+'</a>').attr('href',product_link) );
					d.append(f);
					d.append(lnk);
					$('#complete-look').append(d); // append div
					
					var params = {wmode:'transparent'}
					var flashvars = {fpath:'/media/products/'+ p +'.swf', href:product_link};
					swfobject.embedSWF('/media/image_container.swf', eid, '190', '190', '9.0.45', false, flashvars, params);
		    	})
			}
		});
	
	
	}
	
	function drawPriceList(clr){
	
		var arr = getInventoryForColor(clr); // get price list
		$('#price-list').empty(); // clear out container
		
		if(arr.length > 0 ){
			var cnt = 0;
			$('#price-list-label').html("Available in Size:");
			// Add Prices/Sizes
			jQuery.each(arr, function() {
				if(parseInt(this.Qty) > 2){
					var i = this.ID;
					var price = (this.on_sale) ? this.SalePrice : this.Price ;
					var tr = $("<tr></tr>");
					var rd = $('<input type="radio" name="fldSizeID"></input>');
						rd.attr({
							value: this.SizeID + '_' + price + '_' + this.size_name 
						});
						tr.append( $('<td width="25"></td>').append(rd) );
						tr.append( $('<td width="75"></td>').html('Size '+this.size_name) );
						
						if(this.on_sale){
							tr.append( $("<td></td>").html('<span class="mark-down"> $' + this.Price + '</span> now on sale for $' + this.SalePrice ) ); //+ '('+this.Qty+')'
						}else{
							tr.append( $("<td></td>").html('$'+this.Price ) ); //+ ' ('+this.Qty+')'
						}
						
					$('#price-list').append(tr); // append link
					cnt ++;
				}
	    	});
			if(cnt == 0) $('#price-list-label').html("Sorry, No sizes available currently in this colour");
		}else{
			$('#price-list-label').html("Sorry, No sizes available currently in this colour");
		}
	}
	
	

	