var timeout    = 200;
var closetimer = 0;
var ddmenuitem = 0;

var popupdelay = 500;
var popupfadeout = 150;

$(function() {

  $("#search-query").focus( function() { $(this).val(''); });
  $(".txt_input").focus( function() { $(this).select(); $(this).css("color", "#373737"); });
  $(".spinbox").spinbox( { min: 0, max: 99, step: 1} );

 	$('.submitBtn').hover(
		function(){ $(this).addClass('buttonHover'); },
		function(){ $(this).removeClass('buttonHover'); }
	);

	$("[id^='filter']").change( function() { filterProducts($(this).val()); } );
	$("#filter-manufacturer").change( function() {$("#filter-plastic").val(0);} );
	$("#filter-plastic").change( function() {$("#filter-manufacturer").val(0);} );

	/***** MENUS ********/
	//topmenu
  $('#top-ddm > li').bind('mouseover', jsddm_open);
  $('#top-ddm > li').bind('mouseout',  jsddm_timer);

/*
  //sub menu top
  $('#sub-top-ddm > li').bind('mouseover', jsddm_open);
  $('#sub-top-ddm > li').bind('mouseout',  jsddm_timer);
*/

  //sb-sub-menu
  $("#sb-sub-menu > li > a.expanded").find("+ ul").slideToggle("medium");
	$("#sb-sub-menu > li > a").click(function(e) {
		if($(this).attr('href') == "#")
		{
			e.preventDefault();
			$("#sb-sub-menu > li > a.expanded").not(this).toggleClass("expanded").toggleClass("collapsed").find("+ ul").slideToggle("slow");
			$(this).toggleClass("expanded").toggleClass("collapsed").find("+ ul").slideToggle("slow");
			return false;
		}
		else
			return true;
	});

  /***** CART FUNCTIONALITY ********/
  $(".linkAddToCart").click( function(e) {
    e.preventDefault();
    $("#shoppingCartInfo").stop();

    var product = parseItemString($(this).attr('href'));

    if($(this).attr('rel') > 0 )
    {
    	if($(this).text() == $(this).attr('rel'))
    		$(this).text(eval($(this).text()-1));

      $(this).attr('rel' ,$(this).attr('rel')-1);
      return addToCart(product);
    }
    else
    {
    	if($(this).text() != $(this).attr('rel'))
    	{
    		$(this).children().text(TEXT_ALL_ITEMS_ADDED_TO_CART);
    		$(this).removeClass("button");
    	}
      showShoppingCartInfo(TEXT_PRODUCT_QTY_LIMITED);
      return false;
    }
  });


  $(".linkAddToCart").mouseover( function(e) {
    var product = parseItemString($(this).attr('href'));
    var items = product.split('|');
    var altImage = items[0]+'_'+items[1]+'.jpg';
    var img = new Image();
    $(img).load(function(){$('.prod_image').html(this);}).attr('src', '/images/products/alt/'+altImage);
  });


  $(".linkDeleteFromCart").live( 'click', function(e) {
    e.preventDefault();
    return deleteFromCart($(this).attr("rel"));
  });

  $("a.btnClose").click( function(e) {
    $(this).parent().hide();
    return false;
  });



  /***** FORMS ********/

  $("form").validationEngine({scroll:false, validationEventTriggers: "submit"});

	/***** POPUPS *********/

	$('a.popup').colorbox( {width:"50%"});

	$(".inline_popup").click( function()
	{
		$(this).colorbox({width:"50%", inline:true, href:$(this).attr("href")});
	});

	$(".tooltip_icon img[title]").tooltip({offset: [50, 100]});

	$("a.emptyCartBtn").click(function(){return alertEmptyCart($(this).attr("href"));});

	if ($('.customer_data_form #delivery-address:checked').val()) {
		$(".customer_data_form #delivery-address-area").hide();
	}

  $('.customer_data_form #delivery-address').click(function(){
        if (!$('#delivery-address:checked').val()) {
            $("#delivery-address-area").slideDown();
        } else {
            $("#delivery-address-area").slideUp();
        }
  });


	$("#shoppingCartInfo").mouseover( function() { $("#shoppingCartInfo").hide()} );

}); // end document ready


// GLOBAL FUNCTIONS

function parseItemString(fromHref)
{
	arr = fromHref.split('/');
	return arr.pop();
}

function alertEmptyCart(url) {
	if (confirm(TEXT_EMPTY_CART))
	{
    document.location = url;
    return true;
  }
  else
  	return false;
}

function filterProducts(prodClass)
{
	if(prodClass!="0")
	{
		$("div.product_thumb").hide();
		$("[class='product_thumb'][id*='" + prodClass + "-']").show();
	}
	else
	{
		$("div.product_thumb").show();
	}
}

function showShoppingCartInfo(text)
{
  $("#shoppingCartInfo>div").html(text);
  $("#shoppingCartInfo").fadeIn(500).delay(popupdelay, function() { $("#shoppingCartInfo").fadeOut(popupfadeout)} );
}

function addToCart(itemStr)
{
  $.post('/ajax/ajax_cart.php', 'action=add&item=' + itemStr , function(data) {
    $("#cart-content").html(data);
    showShoppingCartInfo(TEXT_PRODUCT_ADDED_TO_CART);
  });
  return false;
}

function deleteFromCart(itemStr)
{
  $.post('/ajax/ajax_cart.php', 'action=delete&item=' + itemStr , function(data) {
    $("#cart-content").html(data);
    showShoppingCartInfo(TEXT_PRODUCT_REMOVED_FROM_CART);
  });
  return false;
}

function jsddm_open()
{
   jsddm_canceltimer();
   jsddm_close();
   ddmenuitem = $(this).find('ul').css('visibility', 'visible');}

function jsddm_close()
{
	if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');
}


function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);}

function jsddm_canceltimer()
{  if(closetimer)
   {
   	window.clearTimeout(closetimer);
    closetimer = null;
   }
}

$.fn.delay = function(time, callback){
    // Empty function:
    jQuery.fx.step.delay = function(){};
    // Return meaningless animation, (will be added to queue)
    return this.animate({delay:1}, time, callback);
}

document.onclick = jsddm_close;

