
var Dom = YAHOO.util.Dom;
var Event = YAHOO.util.Event;

var pinnedproduct;
var product_opacity_speed = 0.5;

function HideThis(prod,a){
	var el = getEl(prod);
	//el.toggle(/*fade*/a);
	//el.addClass("hi");
	if(a){
	  el.setOpacity(0, true, product_opacity_speed)
	  //el.addClass("hi");
	}
	else {
	  //if(el.dom.className != "product-mask hi"){
	  if(pinnedproduct != prod){
		el.setOpacity(0.5, true, product_opacity_speed)
	  }
	}
}

function clicked(prod){
	var el = getEl(prod);
	el.addClass("hi");
	
	//var Y = (YAHOO.util.Dom.getY("prod_list_scroll"));
	
	//alert(getEl("prod_list_scroll").getHeight());
	//getEl("prod_list_scroll").setY(parseInt(Y-234), true, 1);
	

	if(pinnedproduct != prod){
		if(pinnedproduct) {
		 getEl(pinnedproduct).removeClass("hi");
		 getEl(pinnedproduct).setOpacity(0.35, true, product_opacity_speed);
		}
	}
	
	pinnedproduct = prod;
}


var is_expanding_prod_info = false;
var current_open_product;

function vewproduct(prod,prod_id){
  if(is_expanding_prod_info == false && current_open_product != prod_id){	
  
  	is_expanding_prod_info = true;
	current_open_product = prod_id;
  
	var el = getEl(prod);
	el.addClass("hi");
	
	if(pinnedproduct != prod){
		if(pinnedproduct) {
		 getEl(pinnedproduct).removeClass("hi");
		 getEl(pinnedproduct).setOpacity(0.5, true, product_opacity_speed);
		}
	}
	
	pinnedproduct = prod;

	var p_container = getEl('product-info-container');
	if(p_container){
		
		var update_prod = function(){	
			var spacer_el = getEl('spacer-product-info-container');
			if(spacer_el) { spacer_el.dom.style.display = "none"; }
		
			var mgr = p_container.getUpdateManager();
			//mgr.update({ url: 'plain_ajax.php?main_page=product_info_plain&products_id='+prod_id, params: {param1: new Date()},discardUrl: true, callback: ProductInfo.show(),  nocache: true, text: '',scripts: true}); 
			mgr.update({ url: 'plain_ajax.php?main_page=product_info_plain&products_id='+prod_id, params: {param1: new Date()}, discardUrl: true,  nocache: true, text: '',scripts: true});
		}
		
		p_container.setWidth(0, true, 1.0, update_prod ,YAHOO.util.Easing.easeOut);
		
	}
  } //s_expanding_prod_info = false

}

function vewcategory(url){
	document.location.href = url;	
}


// ***************************************

var ProductInfo = {
	show : function(){
		var el = getEl('product-info-container');
		if(el){
			
			var spacer_el = getEl('spacer-product-info-container');
			if(spacer_el) { spacer_el.dom.style.display = "";}
			
			if(el.getWidth() == 0){
				
				var callback = function(){ is_expanding_prod_info = false; }
				
				el.setWidth(350, true, 1.0, callback());
				 
				/*setWidth(Number width, [Boolean animate], [float duration], [Function onComplete], [Function easing]) */

			}
		}
		
	},
	addToCart : function(){
		
		var b = getEl("basket-container", true).getBox();
			
		var p = getEl("product-info-container", true);
		//alert("before proxy");
		//var proxyel = p.createProxy({tag: 'div', cls: 'product-info-proxy', id: this.el.id + '-rzproxy'});
		var proxyel = p.createProxy('product-info-proxy',document.body,true);
		
		proxyel.setOpacity(.4);
		
		var callback = function() {proxyel.hide();}
		
		proxyel.setBounds(b.x,b.y, 116, 23, true, .35, callback);
		
		Basket.show();
		
		//buy_el.hide();
		//setBounds(<Number> x, <Number> y, <Number> width, <Number> height, <Boolean> animate, <float> duration, <Function> onComplete, <Function> easing)
		
		YAHOO.util.Connect.setForm(document.getElementById('cart_quantity'));
		var Success = function(o){
			//alert(o.responseText);
			Basket.update();
		};
		
		var Failure = function(o){
			//alert("error");
		};

		YAHOO.util.Connect.asyncRequest('POST', 'plain_ajax.php?main_page=shopping_cart_plain&action=add_product_ajax',{success: Success, failure: Failure});          
     }
}

// ***************************************

var is_scrolling = false;

function scrollProduct(act){
	if(!is_scrolling){
		var step;
		if(act == "up"){
			step = -351;
		} else  {
			step = 351;
		}

		var myAnim = new YAHOO.util.Scroll("product_list_container", { scroll: { to: [0, parseInt(getEl("product_list_container").dom.scrollTop) + step] } }, 1, YAHOO.util.Easing.easeOut);
		myAnim.onComplete.subscribe(function() {   
			is_scrolling = false;
			if(getEl("product_list_container").dom.scrollTop == 0){
				//no more scrolling up
				//getEl("btn_ArrowUP").dom.style.display = "none";
			} else {
				//getEl("btn_ArrowUP").dom.style.display = "";
			}
			
			if(getEl("product_list_container").dom.scrollHeight - getEl("product_list_container").dom.scrollTop <= 468){
				//alert("no more scrolling down");
			} else {
			
			}
     	});   

		is_scrolling = true;
		myAnim.animate();
	} 
}



var Basket = {
	update : function(){
		
		//var el_pinfo = getEl('product-info-container');
		//alert(el_pinfo); 
		
		
		var el = getEl('basket-items-container');
		var mgr = el.getUpdateManager();
		//alert(el.dom.outerHTML);
		//mgr.update('http://p4/blaguette/plain_ajax.php?main_page=shopping_cart_plain','param1='+ new Date(), true, true, '');
		
		mgr.update({ url: 'plain_ajax.php?main_page=shopping_cart_plain', params: {param1: new Date()},discardUrl: true,  nocache: false, text: el.dom.innerHTML,scripts: true});
		
		
		
	},
	show : function(){
		var el = getEl('basket-container');
		if(el){
			if(el.getHeight() == 0){
				el.setHeight(467, true, 1.0 , YAHOO.util.Easing.easeOut);
			}
		}
	}
}

var Srollbars= {		
    init : function(){
		
		// scrollbar info
		init_info_scrolling();
		
		var container = getEl("product_list_container");
		if(container){
		  if(container.dom.scrollHeight >= 470){
			this.fixPosition();
			/*var sc = getEl("scrollbars");
			var container = getEl("product_list_container");
			
			sc.setXY([container.getX() + 226, container.getY()]);
			alert(container.getX());
			sc.setStyle('visibility', 'visible');
			*/
			//Event.on(window,   "resize",    this.fixPosition, this, true);
			YAHOO.ext.EventManager.onWindowResize(Srollbars.fixPosition, Srollbars, true);
		  }
		}
	},
	fixPosition : function(){
		var sc = getEl("scrollbars");
		var container = getEl("product_list_container");
		//sc.setXY([container.getX() + 226, container.getY()]);
		sc.setXY([container.getX() + parseInt(container.getWidth() - 7), container.getY()]);
		sc.setStyle('visibility', 'visible');
		var more = getEl("btn_more");
		more.setStyle('visibility', 'visible');
	}
}	


$E=YAHOO.util.Event;
$=YAHOO.util.Dom.get;

var anim_running = false;
var anim = null;
var tar = null;

function init_info_scrolling() {
	
  var container = getEl("InfoDefaultMainContentContainer");
  var sc = getEl("scrollbarsinfo");
  if(container && sc){
    if(container.dom.scrollHeight >= 470){
	sc.setStyle('visibility', 'visible');

    anim = new YAHOO.util.Scroll($('InfoDefaultMainContentContainer'), {}, .25);
    anim.onComplete.subscribe(function() {
        if (anim_running) {
            anim.attributes = getAttrs(anim.getEl().id);
            anim.animate();
        }
    });

    $E.addListener([$('btn_info_up'), $('btn_info_down')], 'mouseover', over, anim, true);
    $E.addListener([$('btn_info_up'), $('btn_info_down')], 'mouseout', out);
    }
  }
}
function out(ev) {
        anim_running = false;
}
function over(ev) {
    tar = $E.getTarget(ev);
    anim.attributes = getAttrs();
    anim_running = true;
    anim.animate();
}
function getAttrs(elm) {
    var elm = tar.id;
    if (elm == 'btn_info_down') {
        var attrs = {
            scroll: {
                to: [0, parseInt($('InfoDefaultMainContentContainer').scrollTop) + 20]
            }
        };
    } else {
        var attrs = {
            scroll: {
                to: [0, parseInt($('InfoDefaultMainContentContainer').scrollTop) - 20]
            }
        };
    }
    return attrs;
}

//$E.addListener(window, 'load', init_info_scrolling);
        
YAHOO.ext.EventManager.onDocumentReady(Srollbars.init, Srollbars, true);


