

//These functions are specific for showing the tooltips
function findPosX(obj)
{
	var curleft = 0;
	if(obj.offsetParent)
	{
		while(1) 
		{
			if (obj.id != "prodLoop")
			{
				curleft += obj.offsetLeft;
				if(!obj.offsetParent)
				{
					break;
				}
				obj = obj.offsetParent;
			}
			else
			{
				break;
			}
		}
	}
	else if(obj.x)
	{
		curleft += obj.x;
	}
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if(obj.offsetParent)
	{
		while(1)
		{
			if (obj.id != "prodLoop")
			{
				curtop += obj.offsetTop;
				if(!obj.offsetParent)
				{
					break;
				}
				obj = obj.offsetParent;
			}
			else
			{
				break;
			}
		}
	}
	else if(obj.y)
	{
		curtop += obj.y;
	}
	return curtop;
}

//transitions for expressView mouseovers
Event.observe(window, "load", function(){
	if($('expressView')){
		$('expressView').select('div.prodOn').each(function (v) {
			var controller = $('prodImg'+v.id);
			controller.df_ui = new Df.Ui(controller).set();
			
			//express view
			var exp = new Df.TogglePane(v).set({
				showClassName: 'df_element_visible',
				hideClassName: 'df_element_hidden',
				treatAsMenu: false,
				toggleShowDelay: 0,
				toggleHideDelay: 0,
				controller: controller.df_ui
			});
			
			exp.getElement().observe(':show', function(e){
				$('prodView').df_ui.hide()
			});

			exp.getElement().observe(':hidden', function(e){
				setTimeout( function(){
					var children = $('expressView').select('.expressViewDetails')
					var test = true
					loopie:
					for(var i=0; i<children.length; i++){
						if(children[i].hasClassName('df_element_visible')){
							test = false
							break loopie
						}
					}
					
					if(test){
						//$('prodView').df_ui.show()
					}
				},2000)
			});
		});
	
		$('prodView').df_ui = new Df.Ui($('prodView')).set({
			showClassName: 'df_element_visible',
			hideClassName: 'df_element_hidden'
		}).show();
	}
});

function getY(oElement){
	var iReturnValue = 0;
	while(oElement != null){
		iReturnValue += oElement.offsetTop;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}	

