$(document).ready(function() {	

	if ($('#carousel').length) {
		$('#carousel').jcarousel({
				scroll:4, 
				auto:8,
				animation:500
			});
	}

	$("#mailFrm").submit(function() {
		dataString = $("#mailFrm").serialize(); 
		$.ajax({
		type: "POST", 
			url: "forms_cb.php",
			data: dataString,
			dataType: "json",
			success: function(data) {
			 if (data.success == 'FAIL')
					{
						doErrors('statusbox', data);
						$('a#refreshCaptcha').click();
					} 
					else  if (data.success == 'PASS') 
					{
						doSuccess('statusbox', data);
						resetForm('mailFrm');
						$('a#refreshCaptcha').click();
					}								
				}
		});
		return false; 
	});
	
	$("#testimonialFrm").submit(function() {
		dataString = $("#testimonialFrm").serialize(); 
		$.ajax({
			type: "POST", 
			url: "forms_cb.php",
			data: dataString,
			dataType: "json",
			success: function(data) {
			 if (data.success == 'FAIL')
					{
						$("#tErrorbox").html('<p>' + data.message + '</p><ul></ul>');
						$("#tErrorbox" + ' ul').empty().addClass('errors');
						$.each(data.errors, function(index, value) {
						$("#tErrorbox" + ' ul').append("<li>" + value.replace('_', ' ') + "</li>");
						});
					} 
					else  if (data.success == 'PASS') 
					{
						$("#tErrorbox").html('<ul></ul>');
						$("#tErrorbox" + ' ul').empty().addClass('success');
						$.each(data.pass, function(index, value) {
						$("#tErrorbox" + ' ul').append("<li>" + value.replace('_', ' ') + "</li>");
						});
						resetForm('testimonialFrm');
					}								
				}
		});
		return false; 
	});

	$("#bookmarkme").click(function() {
      if (window.sidebar) { // Mozilla Firefox Bookmark
        window.sidebar.addPanel(location.href,document.title,"");
      } else if(window.external) { // IE Favorite
        window.external.AddFavorite(location.href,document.title); }
      else if(window.opera && window.print) { // Opera Hotlist
        this.title=document.title;
        return true;
  		}
	});

	// gallery functions start
	if ($('.gallery-description').length)
	{
		var thisID = $("#gallerySelect").val();
		loadGallery(thisID,1);
	}
	
	$('select#gallerySelect').change(function() {
		var thisID = $("#gallerySelect").val();
		loadGallery(thisID,1);
		getGalleryInfo(thisID);
	});	
	
	function Display_Load(){
		$("#pageLoading").fadeIn(900,0);
		$("#pageLoading").html("<img src='./images/bigLoader.gif' alt='loading' />");
	}
	
	function Hide_Load(){
		$("#pageLoading").fadeOut('fast');
	}
	
	function loadGallery(gID,pageNum)
	{
		var thisID = gID;
		
		dataString =  "action=getGallery&id=" + gID + "&page=" + pageNum;
			$.ajax({
				type: "POST", 
				url: "forms_cb.php",
				data: dataString,
				dataType: "json",
				success: function(data) {
					$(".pageNav").html(data.links);	
					$(".thumbs").html(data.html);
					
					/* background switch for kids page */
					if (thisID == 4)
					{
						$('div#wrapper').removeClass('default').addClass('kids');
					}
					else
					{
						$('div#wrapper').removeClass('kids').addClass('default');
					}					
					
					initGallery();
					Hide_Load();
				}								
			});
		return false; 
	}
	
	function getGalleryInfo(gID)
	{
		dataString =  "action=getGalleryInfo&id=" + gID;
			$.ajax({
				type: "POST", 
				url: "forms_cb.php",
				data: dataString,
				dataType: "json",
				success: function(data) {
					$(".gallery-description").html(data['description']);
				}								
			});
		return false; 
	}	
	
	$(".pageNav span").live('click', function(){		
		Display_Load();
		var pageNum = this.id;	
		var gID = $("#gallerySelect").val();	
		loadGallery(gID,pageNum);
		initGallery();
	});
	
	$("div.thumbs div.tbox").live('click', function() {	
		dataString =  "action=getImage&id="+ $(this).attr('id').replace('img_', '');
		$.ajax({
			type: "POST", 
			url: "forms_cb.php",
			data: dataString,
			dataType: "json",
			success: function(data) {				
				$("div.imageMain").html("<img src='./gallery/large/" + data.img['image'] + "' style='margin-top:" + data.padding + "px;' />");	
				
					if (data.img['title'].length === 0)
					{
						var caption = data.img['caption'];
					}
					else
					{
						var caption = "<b>" + data.img['title'] + "</b><br />" + data.img['caption'];
					}
						
				$("p.imageCaption").html(caption);			
			}
		});
		return false; 
	});
	// gallery functions end
	
	// retouch gallery functions start
	if ($('#galleryretouch').length)
	{
		loadRetouchGallery(1);
	}
	
	function loadRetouchGallery(pageNum)
	{
		dataString =  "action=getRetouchGallery&page=" + pageNum;
			$.ajax({
				type: "POST", 
				url: "forms_cb.php",
				data: dataString,
				dataType: "json",
				success: function(data) {
					$(".pageNavRetouch").html(data.links);	
					$(".thumbs").html(data.html);
					initRetouchGallery();
					Hide_Load();
				}								
			});
		return false; 
	}
	
	$(".pageNavRetouch span").live('click', function(){		
		Display_Load();
		var pageNum = this.id;	
		loadRetouchGallery(pageNum);
		initRetouchGallery();
	});	
	
	$("div.thumbs div.rtbox").live('click', function() {	
		dataString =  "action=getRetouchImages&id="+ $(this).attr('id').replace('img_', '');
		$.ajax({
			type: "POST", 
			url: "forms_cb.php",
			data: dataString,
			dataType: "json",
			success: function(data) {	
						
				$(".imageMain").empty();
	
					var count = 0;
		
		 			for (i in data.images) {
						
			 			$('.imageMain').append('<img src="./gallery_retouch/large/'+ data.images[i].image + '" />').cycle();
			 
			 			count++;			 
					}
	
			}
		});
		return false; 
	});	
	// retouch gallery functions end
	
	$('a#addTestimony').click( function() {
		$('div#addTestimonial').modal();
	});
	
	// cart functions start
	$.post('./cart_cb.php', { action: "getCartSettings" } );		
	
	if ($('div.shoppingCart span.cartCounter').length) {
		$.post('./cart_cb.php', { action: "cartCount" }, function(data) { $('div.shoppingCart span.cartCounter').html(data); } );
	}
	
	$('a.buyLink').click( function() {
		$.post('./cart_cb.php', { action: "cartAdd", prodID: $(this).attr('id') } );
		$.post('./cart_cb.php', { action: "cartCount" }, function(data) { $('div.shoppingCart span.cartCounter').html(data); } );
	});
		
	$('div#cartDisplay #cartProducts div.cartrow div.scRemove').live('click', function() {
		$.post('./cart_cb.php', { action: "cartRemove", prodID: $(this).parent().attr('id') }, function(data) { buildCart(); } );
	});
	
	$('div#cartDisplay div.cartrow div.scQty select').live('change', function() {
		$.post('./cart_cb.php', { action: "updateQty", prodID: $(this).attr('name'), qty: $(this).val() }, function(data) { buildCart(); });
	});
	
	if ($('div#cartDisplay').length) {	 buildCart(); }

	if ($('div#cartCheckout').length) { buildCheckout(); }	
	
	function buildCart()
	{
		dataString = "action=cartView";
		$.ajax({
			type: "POST", 
			url: "cart_cb.php",
			data: dataString,
			dataType: "json",
			success: function(data) {
				
				$('#cartProducts').empty();
									
				var count = 0;
						
		 			for (i in data.items) {
						
							$('#cartProducts').append('<div class="cartrow" id="' + data.items[i].id + '"></div>');								
			 				$('#cartProducts div#' + data.items[i].id).append('<div class="scImg"><img src="./products/thumb/' + data.items[i].image + '" /></div>');							
							$('#cartProducts div#' + data.items[i].id).append('<div class="scPct">' + data.items[i].name + '</div>');
							$('#cartProducts div#' + data.items[i].id).append('<div class="scPrice">' + data.items[i].price + '</div>');
							$('#cartProducts div#' + data.items[i].id).append('<div class="scQty"><select name="' + data.items[i].id + '" size="1">' + '</select></div>');		
								for (var x=1; x<51; x++) {
									$('select[name=' + data.items[i].id + ']').append('<option value="' + x + '">' + x + '</option>');
								}								
							$("select[name=" + data.items[i].id + "] option[value='" + data.items[i].rowqty + "']").attr('selected', true);
							$('#cartProducts div#' + data.items[i].id).append('<div class="scCost">' + data.items[i].rowtotal + '</div>');
							$('#cartProducts div#' + data.items[i].id).append('<div class="scRemove">X</div><br class="clearall" />');
			 
			 			count++;			 
					}			
				
				$('#subtotal span').html(data.subTotal);
				
				if (data.subTotal == '0.00') {
					$('span.sitright').hide();
					$('#cartProducts').append('<div class="cartrow" id="cartEmpty">Your cart is currently empty</div>');	
				}
			}
		});
	}	
	
	function buildCheckout()
	{
		dataString = "action=checkoutView";
		$.ajax({
			type: "POST", 
			url: "cart_cb.php",
			data: dataString,
			dataType: "json",
			success: function(data) {
				
				$('#cartProducts').empty();
									
				var count = 0;
						
		 			for (i in data.items) {
						
							$('#cartProducts').append('<div class="cartrow" id="' + data.items[i].id + '"></div>');								
			 				$('#cartProducts div#' + data.items[i].id).append('<div class="scImg"><img src="./products/thumb/' + data.items[i].image + '" /></div>');							
							$('#cartProducts div#' + data.items[i].id).append('<div class="scPct">' + data.items[i].name + '</div>');
							$('#cartProducts div#' + data.items[i].id).append('<div class="scPrice">' + data.items[i].price + '</div>');
							$('#cartProducts div#' + data.items[i].id).append('<div class="scQty">' + data.items[i].rowqty + '</div>');
							$('#cartProducts div#' + data.items[i].id).append('<div class="scCost">' + data.items[i].rowtotal + '</div>');
							$('#cartProducts div#' + data.items[i].id).append('<div>&nbsp;</div><br class="clearall" />');
			 
			 			count++;			 
					}			
				
				$('#subtotal span').html(data.subTotal);
				
			}
		});
		$.post('./cart_cb.php', { action: "getGateway" }, function(data) { $('span.gatewayFrm').html(data); }, { dataType: 'string' });
	}	
	
	// product page multiple image swap
	$('div#pItemSingle div.pItemPics div.gallery div.thumbnails img').click( function() {
		var thisImage = './products/large/' + $(this).attr('name');
		//alert(thisImage);
		$('img#mainImage').attr('src', thisImage);
	});
	
// end of onload events
});



	function initGallery()
	{
		$("div.thumbs div.tbox").siblings(':first-child').trigger("click");
	}

	function initRetouchGallery()
	{
		$("div.thumbs div.rtbox").siblings(':first-child').trigger("click");
	}

	// FORM RESET - CLEARS FORM OF PREVIOUSLY ENTERED DATA
	function resetForm(id) {
		$('#'+id).each(function(){
				this.reset();
		});
	}
	
	// ERROR MESSAGE DISPLAY
	function doErrors(elementID,data)
	{
			$("#statusbox").modal();
			$('#' + elementID).html('<ul></ul>');
			$('#' + elementID + ' ul').empty().addClass('errors');
			$.each(data.errors, function(index, value) {
			$('#' + elementID + ' ul').append("<li>" + value.replace('_', ' ') + "</li>");
			});	
	}

	// SUCCESS MESSAGE DISPLAY
	function doSuccess(elementID,data)
	{
		$("#statusbox").modal();
		$('#' + elementID).html('<ul></ul>');
		$('#' + elementID + ' ul').empty().addClass('success');
		$.each(data.pass, function(index, value) {
		$('#' + elementID + ' ul').append("<li>" + value.replace('_', ' ') + "</li>");
		});	
	}	
