$(window).load(function(){
	
	// Default easing effect for animations
	jQuery.easing.def = "easeOutQuad";
	
	// Set toggle function for clicking on store tab
	$("#store-tab-min").toggle( open_store_tab, close_store_tab );
	
	// Show/Hide the Forget Password Form
	$('#forget-password-link').click(function(){$('#forget-password-form').toggle(); return false;});
	
	// Store Template Photo Overlay
	$("#overlay-image-container img[rel]").overlay({effect: 'apple'});
	
	//$("#countdown_dashboard").click(function(){window.location = "/locations/store/9";});
	//$("#countdown_dashboard").css("cursor", "pointer");

	$('.cc-container').ccvalidate({ 
		onvalidate: function(isValid) {
    		
    		if (!isValid) {
    			$('span.invalid-msg').replaceWith('<span class="invalid-msg" style="color: red; font-size: 12px;">Credit Card Number is Invalid!</span>');
            	$('span.cc-valid').replaceWith('<span class="cc-valid" style="position: relative; top: 5px; left: 5px;"><img src="/media/structure/valid-no.png" height="20"/></span>');
            	return false;
        	} else {
        		$('span.invalid-msg').replaceWith('<span class="invalid-msg" style="color: green; font-size: 12px;">Credit Card Number is Valid</span>');
        		$('span.cc-valid').replaceWith('<span class="cc-valid" style="position: relative; top: 5px; left: 5px;"><img src="/media/structure/valid.png" height="20"/></span>');
        	}
       	}
    });

});

/* Countdown Timer on homepage
jQuery(document).ready(function() {
	$('#countdown_dashboard').countDown({
		targetDate: {
			'day': 		24,
			'month': 	8,
			'year': 	2011,
			'hour': 	17,
			'min': 		0,
			'sec': 		0,
			'utc':      true
		},
		omitWeeks: true
	});
});
*/

	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() };
							  
							  
			if( $("input[name='gift_card_amount']").length > 0 ){
				cart_item.price = $("input[name='gift_card_amount']").val();
			}
							  
			// Slide open the store tab
			open_store_tab();
			
			$('#store-tab-contents').empty();
			
			// Add the swf icon container
			var d = $("<img></img>").attr('id','store-tab-thumb');
			$('#store-tab-contents').append(d); // append div
			
			// Add the product image icon
			var p = $("#fldPictureID").val();
			$('#store-tab-thumb').attr('src','/media/products/thumbs/' + p + '.jpg');
			
			// 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 getViewsForColor(c){
		arr = jQuery.grep(pictureColorData, function(n, i){
      		return (n.fldColorID == c);
    	});
		return arr;
	}
	
	function getStorePhotoData(c){
		arr = jQuery.grep(storePhotoData, 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 getGirlsForColor(c)
	{	
		var allGirls = girlsPicturesData;
		var maxGirls = 2;
		var topGirls = Array();
		var colorGirls = jQuery.grep(girlsPicturesData, function(n, i){
      		return (n.fldColorID == c);
    	});
		allGirls = $.merge(colorGirls, allGirls);
		for(i=0; i < allGirls.length; i++){
			if(i<maxGirls){topGirls[i] = allGirls[i];}
		}
		return topGirls;
	}
	
	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;
			
			// Create Link
			var a = $("<a></a>").attr('href','#').click(function(){
				$('#large-image').attr('src','/media/products/medium/' + p + '.jpg');
				return false;
			});
			
			// Append Image
			var img = $("<img></img>").attr('src','/media/products/thumbs/' + p + '.jpg');
			a.append(img);
			
			// Append link
			$('#product-views').append(a); 
    	});
	}
	
	function loadImage(p){
	
		$('#product-images').empty();	
		var a = $("<a></a>").attr({'href':'#','rel':'#biggie'});
		var img = $("<img></img>").attr({'id':'large-image', 'src':'/media/products/medium/' + p + '.jpg'});
		a.append(img);
		setupOverlay(a);
		$('#product-images').append(a);	
	
		// 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 + '<span id="online-only"></span>');
		
		var online = clr.fldOnlineOnly;
		
		if(online > 0) {
			$("#online-only").html("Online Exclusive");
		} else {
			$("#online-only").empty();
		}
		
		// 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)
	{
		$('#top-action').empty();
		$('#more-action').empty();

		var colorSpecificShots = getGirlsForColor(clr.fldColorID);
		
		jQuery.each(colorSpecificShots, function() { // Add Top Action Images
			var g = this.fldUID;
			var a = $("<a></a>").attr({'href':'#','rel':'#biggie'});
			var img = $("<img></img>").attr('src','/media/girls/thumbs/' + g + '.jpg');
			setupOverlay(a);
			a.append(img);
			$('#top-action').append(a);
		})
		
		jQuery.each(girlsPicturesData, function() { // Add More Action Images
			var g = this.fldUID;
			var a = $("<a></a>").attr({'href':'#','rel':'#biggie'});
			var img = $("<img></img>").attr('src','/media/girls/thumbs/' + g + '.jpg');
			setupOverlay(a);
			a.append(img);
			$('#more-action').append(a); 
			
		})
		
	}
	
	
	
	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() 
				{
					var p = this.fldUID;
					var product_link = '/store/catalog/product/' + this.fldProductID + '/' + this.fldUID;
					var d = $('<div class="complete-look-item"></div>');
					var img = $("<img></img>").attr('src','/media/products/thumbs/' + p + '.jpg');
					var lnk = $('<div></div>');
						lnk.append( $('<a>'+this.fldProductName+'</a>').attr('href',product_link) );
					d.append(img);
					d.append(lnk);
					$('#complete-look').append(d);	
					
		    	});
			}
		});
		
	}
	
	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) > 5){
					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");
		}
	}
	
	
	function setupOverlay(trigger){
		//trigger.overlay(); // add options and functions, handlers..
		
		trigger.overlay({effect: 'apple', mask:{color:'#000',loadSpeed:100}, speed:100, 
			onClose:function(event){
				this.getOverlay().find('#overlay-image-container').empty();
			},
			onLoad:function(event)
			{
				
				
			},
			onBeforeLoad:function(event)
			{
				//var a = this.getTrigger();
				var a = this.getTrigger().find('img').attr('src');
				var c = this.getOverlay().find('#overlay-image-container');
				c.append($('<img></img>').attr('src',a.replace(/(thumbs|medium)/ig,'large')));
				
			}
		});
	}
	

	
