/* Image Rollver and Preloader */
PEPS = {};

PEPS.rollover =
{
   init: function(){
      this.preload();
     
      $(".hover").hover(
         function () { $(this).attr( 'src', PEPS.rollover.newimage($(this).attr('src')) ); },
         function () { $(this).attr( 'src', PEPS.rollover.oldimage($(this).attr('src')) ); }
      );
   },

   preload: function() {
      $(window).bind('load', function() {
         $('.hover').each( function( key, elm ) { $('<img>').attr( 'src', PEPS.rollover.newimage( $(this).attr('src') ) ); });
      });
   },
   
   newimage: function( src ) {
      return src.substring( 0, src.search(/(\.[a-z]+)$/) ) + '_o' + src.match(/(\.[a-z]+)$/)[0];
   },

   oldimage: function( src ){
      return src.replace(/_o\./, '.');
   }
};
/* Image Rollver and Preloader */

function scrollTo(selector) {
    var targetOffset = $(selector).offset().top;
    $('html,body').animate({scrollTop: targetOffset}, 1500);
}


$.fn.serializeObject = function()
{
    var o = {};
    var a = this.serializeArray();
    $.each(a, function() {
        if (o[this.name]) {
            if (!o[this.name].push) {
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || '');
        } else {
            o[this.name] = this.value || '';
        }
    });
    return o;
};


function customerLogin(){

  $('#loader').jGrowl('Processing login request...', {  theme: 'loader', sticky: true } );
    var u = $("#username").val();
    var p = $("#password").val();
	$.ajax({
	   type: "POST",
	   url: siteURL+"includes/ajax/customer-login.php",
	   cache: false,
	   dataType:'json',
	   data: "user="+u+"&pass="+p,
	   success: function(msg){
	       $('#loader div.jGrowl-notification').trigger('jGrowl.close');
		  if(msg.type=="success"){
               $.jGrowl('Login successfully', { theme: 'success', sticky:false } );
               $("#customerName").text("Welcome "+msg.bTitle+". "+msg.bFirstName+" "+msg.bLastName);
                $("#customerLogOutDiv").show();
		  }
		  else if(msg.type=="error"){
               $.jGrowl('Incorrect login/password information', { theme: 'error', sticky:false } );
		  }
	   }
	 });
}



function customerLogout(){
    $('#loader').jGrowl("Logging out...", {  theme: 'loader', sticky: true } );
     $.post(siteURL+"includes/ajax/customer-logout.php", { id:''},
       function(data){
         location.href=siteURL+"index.php";
       });
}


function clearShoppingCart(sessionID){
  $('#loader').jGrowl("Clearing cart...", {  theme: 'loader', sticky: true } );
  $.ajax({
    type: "POST",
    url: siteURL+"includes/ajax/clear-cart.php",
    cache: false,
    dataType:'json',
    data: "sessionID="+sessionID,
    success: function(msg){
      $('#loader div.jGrowl-notification, #loader div.jGrowl-notification:last').trigger('jGrowl.close');
      if(msg.type=="success"){
        location.href=siteURL+"shopping-bag.php";
      }
      else if(msg.type=="error"){
        $.jGrowl("Error while clearing shopping cart", { theme: 'error', sticky:false } );
      }
    }
  });
}


function addToCart(prodID, options, qty){

  $('#loader').jGrowl('Processing request...', {  theme: 'loader', sticky: true } );
	var splitArray=prodID.split("|");
	$.ajax({
	   type: "POST",
	   url: siteURL+"includes/ajax/add-to-cart.php",
	   cache: false,
	   dataType:'json',
	   data: "prodID="+splitArray[0]+"&prodName="+splitArray[1]+"&qty="+qty+"&options="+options,
	   success: function(msg){
	       $('#loader div.jGrowl-notification').trigger('jGrowl.close');
           $.jGrowl(splitArray[1]+' added/updated in cart', { theme: 'success', sticky:false } );
		   $("#shoppingCartPanelTable tfoot, #shoppingCartPanelTable thead").show();
		   $("#emptyCart").remove();
           $("#shoppingBagCounter").text(msg.cartQty+" items");
		  if(msg.type=="update"){
			  $("#shoppingCartProdQty"+msg.id).html(msg.quantity);
		  }
		  else if(msg.type=="add"){
			  var data = '<tr><td>'+splitArray[1]+'</td><td align="center"><span id="shoppingCartProdQty'+msg.id+'">'+msg.quantity+'</span></td></tr>';
			  $("#shoppingCartPanelTable tbody").append(data);
		  }
	   }
	 });
}

$(document).ready( function(){
   PEPS.rollover.init();
   
	$(".addToCartIcon").prepend("<img src='"+siteURL+"images/icon-addtocart.png' width='13' height='13' alt='Add to cart' border='0' /> ");
	$(".moreDetail").prepend("<img src='"+siteURL+"images/icon-detail.png' width='8' height='9' alt='More detail' border='0' /> ");

	$(".addToCart").click(function () {
	  var prodID = $(this).attr("rel");
      var splitArray=prodID.split("|");
      var options = $.toJSON($('#prodOptions').serializeObject());
      if(pageName=="product-detail.php"){
          var qty = $("#prodQty"+splitArray[0]).val();
      }else {
            var qty = 1;
      }
	  addToCart(prodID, options, qty);
	  return false;
	});

	$("#websiteSearchBtn").click(function () {
	  var keyword = $("#keywords").val();
      location.href = siteURL+"website-search.php?keyword="+keyword;
	  return false;
	});

});
