// default product settings
var productID = 1;
var colorID = 1;
var sizeID = 1;
var counter = 0;

function showDescription(objectID , descriptionID, leftSide){
	var offset = $('#'+objectID).offset();
	
	if(leftSide == true){
		$('#popArrowL').css('display', 'block');
		$('#popArrowR').css('display', 'none');
		var offTop = offset.top + 10;
		var offLeft = offset.left + 220;
	} else {
		$('#popArrowL').css('display', 'none');
		$('#popArrowR').css('display', 'block');
		var offTop = offset.top + 10;
		var offLeft = offset.left - 200;
	}
	
	$('#popDescription').load('pages/ajaxDescription.php?data='+descriptionID);
	
	$('#itemDescription').css({position:'absolute', top: offTop+'px', left: offLeft+'px'}).show();
}

function showCartDescription(objectID , descriptionID, leftSide){
	var offset = $('#'+objectID).offset();
	
	if(leftSide == true){
		$('#cartArrowL').css('display', 'block');
		$('#cartArrowR').css('display', 'none');
		var offTop = offset.top + 10;
		var offLeft = offset.left + 100;
	} else {
		$('#cartArrowL').css('display', 'none');
		$('#cartArrowR').css('display', 'block');
		var offTop = offset.top + 10;
		var offLeft = offset.left - 200;
	}
	
	$('#cartDescription').load('pages/ajaxCartDescription.php?data='+descriptionID);
	
	$('#cartItemDescription').css({position:'absolute', top: offTop+'px', left: offLeft+'px'}).show();
}

function hideDescription(){
	$('#itemDescription').hide();
	$('#popDescription').html('<p class="loader"><img src="images/ajax-loader.gif"/></p>');
	$('#cartItemDescription').hide();
	$('#cartDescription').html('<p class="loader"><img src="images/ajax-loader2.gif"/></p>');
}

function showColor(objectID, imageRefNumber){
	if($('#'+objectID).attr('src') != 'images/products/'+imageRefNumber+'.jpg'){
		$('#'+objectID).attr('src','images/products/'+imageRefNumber+'.jpg');
	}
}

function chooseColor(objectID, imageProductID, imageColorID, swatchID){
	productID = imageProductID;
	colorID = imageColorID;
	
	$('.detailColor>.colorSwatch').each( function(){ if($(this).css('border')){ $(this).css('border','none') } });
	
	showColor(objectID, imageProductID+'_'+imageColorID+'L');
	
	$('#'+swatchID).css('border','1px solid #FF0000');
}

function showDetails(detailID, detailColorID){
	productID = detailID;
	colorID = detailColorID;
	$('#detailsDescription').load('pages/ajaxDetails.php?data='+detailID+'&colorID='+detailColorID);
	$('#itemDetailsOverlayID').show();
}

function hideDetails(){
	$('#itemDetailsOverlayID').hide();
	$('#detailsDescription').html('<p class="loader"><img src="images/ajax-loader.gif"/></p>');
}

function toggleCartProducts(){
	$.get('pages/ajaxShowHideCartProducts.php',{data:true});
	if($('.cartShow>a').html() == 'Show Products'){ $('.cartShow>a').html('Hide Products'); }else{ $('.cartShow>a').html('Show Products'); }
	$('.cartProducts').slideToggle();
}

function addProduct(addSize){
	sizeID = addSize;
	$.get('pages/ajaxAddProduct.php',{'productID':productID, 'colorID':colorID, 'sizeID':sizeID}, function(returnData){ $('#mainCart').html(returnData); $('#mainCart').show();});
	hideDetails();
}

function deleteProduct(objectID, cartID){
	$('#'+objectID).fadeOut('slow');
	$.get('pages/ajaxDeleteProduct.php',{'cartID':cartID}, function(returnData){ $('#mainCart').html(returnData); $('#mainCart').show();});
}

function updateProduct(cartID, quantity){
	$.get('pages/ajaxUpdateProduct.php',{'cartID':cartID, 'quantity':quantity}, function(returnData){ $('#mainCart').html(returnData); $('#mainCart').show();});
}

function useBillingShipping(){
	$('#firstNameS').val($('#firstName').val());
	$('#lastNameS').val($('#lastName').val());
	$('#address1S').val($('#address1').val());
	$('#address2S').val($('#address2').val());
	$('#cityS').val($('#city').val());
	$('#stateS').val($('#state').val());
	$('#zipCodeS').val($('#zipCode').val());
	$('#countryS').val($('#country').val());
}

function imageLoad(imageURL){
    if (document.images){
       	var i = 0;
		var preload_image_object = new Array();
    	for(i=0; i<=imageURL.length; i++){
			preload_image_object[i] = new Image();
    		preload_image_object[i].src = imageURL[i];
	   	}
    }
}

$(function(){
		   
	var preLoad = new Array();
	$('#mainNavigation>a>img').each(function(){var imageID = $(this).attr('id'); preLoad.push('images/buttons/'+imageID+'.gif'); preLoad.push('images/buttons/'+imageID+'_on.gif'); preLoad.push('images/buttons/'+imageID+'_sel.gif');});
	imageLoad(preLoad);
	
	$('#mainNavigation>a>img[class!=sel]').mouseover(function(){var imageID = $(this).attr('id'); $(this).attr('src','images/buttons/'+imageID+'_on.gif');});	
	$('#mainNavigation>a>img[class!=sel]').mouseout(function(){var imageID = $(this).attr('id'); $(this).attr('src','images/buttons/'+imageID+'.gif');});
	$('#mainNavigation>a>img[class=sel]').each(function(){var imageID = $(this).attr('id'); $(this).attr('src','images/buttons/'+imageID+'_sel.gif');});
	
	$('#keywords').focus(function(){if($(this).val() == 'Search'){$(this).val('');}});
	$('#keywords').blur(function(){if($(this).val() == ''){$(this).val('Search');}});
	
	$('.storeItem>a').each(function(){$(this).attr('href','#');});
	$('.storeItem>.itemName>a').each(function(){$(this).attr('href','#');});
	
	$('#state').change(
		function(){
			if($('#state').val() == 'NY' && $('#country').val() == 'US'){
				var subtotal = parseFloat($('#subtotalCheckout').html());
				var tax = subtotal * 0.0875;
				var shipping = parseFloat($('#shippingCheckout').html());
				var total = subtotal + tax + shipping;
				
				$('#taxCheckout').html(sprintf('%01.2f', tax));
				$('#totalCheckout').html(sprintf('%01.2f', total));
				
			} else {
				
				var subtotal = parseFloat($('#subtotalCheckout').html());
				var tax = subtotal * 0.0;
				var shipping = parseFloat($('#shippingCheckout').html());
				var total = subtotal + tax + shipping;
				
				$('#taxCheckout').html(sprintf('%01.2f', tax));
				$('#totalCheckout').html(sprintf('%01.2f', total));
			}
		}
	);
	
	$('#country').change(
		function(){
			if($('#country').val() == 'US'){
				var subtotal = parseFloat($('#subtotalCheckout').html());
				
				if($('#state').val() == 'NY'){
					var tax = subtotal * 0.0875;
				} else {
					var tax = subtotal * 0.0;
				}
				
				var shipping = parseFloat($('#shippingCheckout').html());
				
				if(shipping != 0){
					shipping = 20.95;
			
					if(subtotal < 200){ shipping = 17.95; }
					if(subtotal < 150){ shipping = 14.95; }
					if(subtotal < 100){ shipping = 11.95; }
					if(subtotal < 50){ shipping = 9.95; }
					if(subtotal < 25){ shipping = 7.95; }
				}
				
				var total = subtotal + tax + shipping;
				
				$('#taxCheckout').html(sprintf('%01.2f', tax));
				$('#shippingCheckout').html(sprintf('%01.2f', shipping));
				$('#totalCheckout').html(sprintf('%01.2f', total));
				
			} else {
				
				var subtotal = parseFloat($('#subtotalCheckout').html());
				var tax = subtotal * 0.0;
				var shipping = parseFloat($('#shippingCheckout').html());
				
				if(shipping != 0){
					shipping = 20.95;
			
					if(subtotal < 200){ shipping = 17.95; }
					if(subtotal < 150){ shipping = 14.95; }
					if(subtotal < 100){ shipping = 11.95; }
					if(subtotal < 50){ shipping = 9.95; }
					if(subtotal < 25){ shipping = 7.95; }
					
					if($('#country').val() == 'CA'){
						shipping = shipping + 5;
					}else{
						shipping = shipping + 10;
					}
				}
				
				var total = subtotal + tax + shipping;
				
				$('#taxCheckout').html(sprintf('%01.2f', tax));
				$('#shippingCheckout').html(sprintf('%01.2f', shipping));
				$('#totalCheckout').html(sprintf('%01.2f', total));
			}
		}
	);
	
	$('.categoryInfo>.body>div:not(:first)').each(function(){
			$(this).hide();
	});
	
	$('.categoryInfo>.nav>ul>li').each(function(){
	
		var width = (920 - ($('.categoryInfo>.nav>ul>li').length * 2)) / $('.categoryInfo>.nav>ul>li').length;
		
		$(this).css({'width': width});
	
	});
	
	$('.categoryInfo>.nav>ul>li').click(function(){
			
			var index = $('.categoryInfo>.nav>ul>li').index(this);
			
			$('.categoryInfo>.nav>ul>li.sel').removeClass('sel');
			$(this).addClass('sel');
			
			$('.categoryInfo>.body>div:visible').hide();
			$('.categoryInfo>.body>div:eq('+index+')').show();
	});
		   
});

/**
 * sprintf() for JavaScript v.0.4
 *
 * Copyright (c) 2007 Alexandru Marasteanu <http://alexei.417.ro/>
 * Thanks to David Baird (unit test and patch).
 *
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation; either version 2 of the License, or (at your option) any later
 * version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
 * Place, Suite 330, Boston, MA 02111-1307 USA
 */

function str_repeat(i, m) { for (var o = []; m > 0; o[--m] = i); return(o.join('')); }

function sprintf () {
  var i = 0, a, f = arguments[i++], o = [], m, p, c, x;
  while (f) {
    if (m = /^[^\x25]+/.exec(f)) o.push(m[0]);
    else if (m = /^\x25{2}/.exec(f)) o.push('%');
    else if (m = /^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(f)) {
      if (((a = arguments[m[1] || i++]) == null) || (a == undefined)) throw("Too few arguments.");
      if (/[^s]/.test(m[7]) && (typeof(a) != 'number'))
        throw("Expecting number but found " + typeof(a));
      switch (m[7]) {
        case 'b': a = a.toString(2); break;
        case 'c': a = String.fromCharCode(a); break;
        case 'd': a = parseInt(a); break;
        case 'e': a = m[6] ? a.toExponential(m[6]) : a.toExponential(); break;
        case 'f': a = m[6] ? parseFloat(a).toFixed(m[6]) : parseFloat(a); break;
        case 'o': a = a.toString(8); break;
        case 's': a = ((a = String(a)) && m[6] ? a.substring(0, m[6]) : a); break;
        case 'u': a = Math.abs(a); break;
        case 'x': a = a.toString(16); break;
        case 'X': a = a.toString(16).toUpperCase(); break;
      }
      a = (/[def]/.test(m[7]) && m[2] && a > 0 ? '+' + a : a);
      c = m[3] ? m[3] == '0' ? '0' : m[3].charAt(1) : ' ';
      x = m[5] - String(a).length;
      p = m[5] ? str_repeat(c, x) : '';
      o.push(m[4] ? a + p : p + a);
    }
    else throw ("Huh ?!");
    f = f.substring(m[0].length);
  }
  return o.join('');
}