// JavaScript Document

function CartItemsContainer(items_ids_array, add_product_url)
{
	this.items_ids_array = items_ids_array;
	this.add_product_url = add_product_url;
	
	this.container_id = 'div.top_basket';
	this.count_container_id = 'div.top_basket * .top_basket_count';
	
	jQuery(document).ready(function() {
		jQuery(".product_box .product_box_click_buy_buy").click(function(e) {
			if (!jQuery(this).parent().parent().hasClass('ui-selected'))
			{
				var id = jQuery(this).parent().parent().data('product_id');
				//alert(jQuery(this).parent().parent().hasClass('ui-selected'));
				cart_items_container.click_buy_onClick(id);
			}
		});
		
		jQuery(".product_box").each(function (i) {
			jQuery(this).data('product_id', jQuery(".product_id", this).text());
		});
		
		
		jQuery(".box_product_description_container .product_box_click_buy_buy_show_succes").click(function() {
			var id = jQuery(this).parent().parent().data('product_id');
			//alert(id);
			cart_items_container.click_buy_onClick(id);
		});
		
		
		jQuery(".box_product_description_container").each(function (i) {
			jQuery(this).data('product_id', jQuery(".product_id", this).text());
		});
		
	});

	this.add = function (a_key)
	{
		var key = new Number(a_key);
		//alert(key);
		if (key>0 && !this.has(key))
		{
			this.items_ids_array.push( key );
		}
		
		return false;
	}
	
	this.delete_by_key = function (key)
	{
		var a = Array();
		for (i=0; i<this.items_ids_array.length; i++)
		{
			if (this.items_ids_array[i]+'' != key+'')
			{
				a.push(this.items_ids_array[i]);
			}
		}
		
		this.items_ids_array = a;
		
		return false;
	}


	
	this.has = function (key)
	{
		var ret = false;
		if (this.items_ids_array.length<1) return ret;
		jQuery.each(this.items_ids_array, function(i){
			//alert(this);
			if (this+'' == key+'')
			{
				ret = true;
				return false;
			}
		});
		return ret;
	}
	
	this.get_count = function ()
	{
		return this.items_ids_array.length;
	}
	
	this.refresh_cart_info = function ()
	{
		var n = this.get_count();
		jQuery(this.count_container_id).html( n );
		if (n>0)
		{
			jQuery(this.container_id).addClass( 'top_basket_not_empty'  )
		}
		else
		{
			jQuery(this.container_id).removeClass( 'top_basket_not_empty'  )
		}
		//alert(this.get_count());
		return false;
	}
	
	
	this.click_buy_onClick = function (id)
	{
		this.add(id);
	//	alert(id);
		this.refresh_cart_info();
		//alert(id);
		
		jQuery(".product_box_"+id+" .product_box_click_buy_buy").hide();
		jQuery(".product_box_"+id+" .product_box_click_buy_in_cart").show();
		
		jQuery(".box_product_description_container_"+id+" .product_box_click_buy_buy_show_succes").hide();
		jQuery(".box_product_description_container_"+id+" .product_box_click_buy_in_cart").show();
		
		
		
		jQuery("div#clickbuy_hiddenModalContent input.button_ok").click(function() {
			tb_remove();
		});
		
		jQuery("div#clickbuy_hiddenModalContent input.button_to_basket").click(function() {
			document.location = global_data.url_environment_prefix+'cart/show';
			tb_remove();
		});
	
		tb_show(null,'#TB_inline?height=200&width=500&inlineId=clickbuy_hiddenModalContent&modal=true',false);
		
		
		
		//jQuery.get( this.add_product_url + '?id=' + id );
		jQuery.post( this.add_product_url + '?id=' + id );

		
		/*
			jQuery(document).ready(function() {
			
				jQuery(".product_box .product_box_click_buy_buy").click(function() {
					alert(jQuery(this).parent().parent().data('product_id'));
					
				});
				
				jQuery(".product_box").each(function (i) {
					jQuery(this).data('product_id', jQuery(".product_id", this).text());
				});
	
			
			});*/
	}
	
}






array_remove = function(array, from, to)
{
  var rest = array.slice((to || from) + 1 || array.length);
  array.length = from < 0 ? array.length + from : from;
  return array.push.apply(array, rest);
};


function round_number(x)
{
	x = x.toFixed(2);
	x = x.replace(/\./,'.');
	return x;
}

function my_substr( f_string, f_start, f_length ) {
    // http://kevin.vanzonneveld.net
    // +     original by: Martijn Wieringa
    // +     bugfixed by: T.Wild
    // +      tweaked by: Onno Marsman
    // *       example 1: substr('abcdef', 0, -1);
    // *       returns 1: 'abcde'
    // *       example 2: substr(2, 0, -6);
    // *       returns 2: ''
 
    f_string += '';
 
    if(f_start < 0) {
        f_start += f_string.length;
    }
 
    if(f_length == undefined) {
        f_length = f_string.length;
    } else if(f_length < 0){
        f_length += f_string.length;
    } else {
        f_length += f_start;
    }
 
    if(f_length < f_start) {
        f_length = f_start;
    }
 
    return f_string.substring(f_start, f_length);
}



catalogue_timeout    = 300;
catalogue_closetimer = 0;
ddmenuitem = false;

function jsddm_open(e)
{
	jsddm_canceltimer();
	jsddm_close();
	ddmenuitem = jQuery('.javascript_catalogue');
	ddmenuitem.show();
}

function jsddm_close()
{
	if (ddmenuitem) ddmenuitem.hide();
}

function jsddm_timer(e)
{
	catalogue_closetimer = window.setTimeout(jsddm_close, catalogue_timeout);
}

function jsddm_canceltimer()
{
	if (catalogue_closetimer)
	{
		window.clearTimeout(catalogue_closetimer);
		catalogue_closetimer = null;
	}
}




