//var console
//if (!console) { console = {debug: function(){}} }

var jQ=jQuery.noConflict();

jQ(document).ready(function(){
	
	jQ('table.variant').not('.combined').find('tbody tr').hover(addClassOver, removeClassOver);
	
	var d=jQ('div.prod_rows');
	if(!d.length) return;
	
	var t1,t2,t3,t4,c;
	
	t1=d.find('table.prod_row');
	t1.each(function(){
		t2=jQ(this);
		
		c = t2.find("td.col");
		c.not(':empty').hover(addClassOver, removeClassOver);
		c.filter(':empty').css('background','#FFF');
		
		t3=t2.find('table.prod');
		if(t3.length>1){
			t3.hover(tblOnOver, tblOnOut);
			t2.mouseleave(tblsOnOut)
			.find('div.dscr').css({opacity:0,width:1});
			
			if(jQ.browser.safari){
				
				t3.each(function(){
					t4=jQ(this);
					w=t4.width();
					if(w>200){
						t4.data('w',[268,320,216]);
						t4.css('width',268);
					}else{
						t4.data('w',[178,246,144]);
						t4.css('width',178);
					}
				});
			}
			
		}else{
			t2.find('div.dscr').css({width:250});
		}
	});
	
});
	
function tblOnOver(){
	var el=jQ(this),t1,
		div= el.find('div'),
		d0 = div.filter('.dscr'),
		b0 = div.filter('.bm'),
		bm = el.closest('td').siblings().find('div.bm');
	
	bm.animate( {opacity:0}, {duration:200, queue:false} );
	d0.css('opacity',1);
	d0.animate( {width:150}, {duration:200, queue:false} );
	b0.animate( {opacity:1}, {duration:200, queue:false} );
	
	if(jQ.browser.safari){
		el.animate( {width:el.data('w')[1]}, {duration:200, queue:false} );
		el.closest('tr').find('table.prod').each(function(){
			t1=jQ(this);
			if(this!=el[0]) t1.animate( {width:t1.data('w')[2]}, {duration:200, queue:false} );
		});
	}
}
function tblOnOut(){
	jQ(this).find('div.dscr')
	.animate( {width:1}, {duration:200, queue:true, complete:function(){jQ(this).css('opacity',0)}} )
}
function tblsOnOut(){
	var t=jQ(this),t1,t2;
	t.find('div.bm').animate( {opacity:1}, {duration:200, queue:false} );
	if(jQ.browser.safari && (t2=t.find('table.prod')).length>1){
		t2.each(function(){
			t1=jQ(this);
			t1.animate( {width:t1.data('w')[0]}, {duration:200, queue:false} );
		});
	}
}
function addClassOver(){
	jQ(this).addClass('over');
}
function removeClassOver(){
	jQ(this).removeClass('over');
}