function findPosX(obj)
{
	var curleft = 0;
	if (obj && obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj && obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj && obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj && obj.y)
		curtop += obj.y;
	return curtop;
}

function startPE(){
	pe_featured = new PeriodicalExecuter(backward, 1.5);
}

function haltEff(){
	if(effect)
		effect.cancel();
	if(pe_featured)
		pe_featured.stop();
}

function backward(){
	var li = $('featured_products_list').childElements().first();
	
	var effect = new Effect.Morph(li, {
		style: backward_style,
		duration: 0.6,
		queue: 'end',
		afterFinish: function(){
			li = li.remove();
			$('featured_products_list').insert({'bottom': li});
			li.style.width = li.style.marginLeft = li.style.paddingRight = '';
			li.show();
		}
	});
}

function forward(){
	var li = $('featured_products_list').childElements().last();
	
	li.style.width = '0px';
	li.style.marginLeft = '-117px';
	li.style.paddingRight = '117px';
	
	li = li.remove();
	$('featured_products_list').insert({'top': li});
	
	var effect = new Effect.Morph(li, {
		style: forward_style,
		duration: 0.6,
		queue: 'end'
	});
}

function displayProductPopup(path,obj){
	$('product_popup').innerHTML = '';
	$('product_popup').innerHTML = '<img src="' + path + '"/><div>' + obj.rel + '</div>';
	popup($('product_popup'),obj);
	$('product_popup').show();
}

function hideProductPopup(){
	$('product_popup').hide();
}

function popup(element,obj) {
	if($(element) != null) {
		var y_pos = findPosY(obj);
		if(typeof window.innerHeight != 'undefined') {
		   $(element).style.top = (y_pos - element.getHeight() - 100) +'px';
		   $(element).style.left = 
		        Math.round(document.viewport.getScrollOffsets().left + 
		        ((window.innerWidth - $(element).getWidth()))/2)+'px';
		} else {
		   $(element).style.top = (y_pos - element.getHeight() - 100) +'px';;
		   $(element).style.left = 
		        Math.round(document.body.scrollLeft + 
		        (($$('body')[0].clientWidth - $(element).getWidth()))/2)+'px';
		}
	}
}