// dojo.config.debugAtAllCosts= true;

function setRatingPosition(e)
{
	var rangeOffset = 0;
	if( e.rangeOffset )
		rangeOffset = e.rangeOffset;
	else
	{
		for( var i =0; i < e.target.parentNode.childNodes.length; i++ )
		{
			if( e.target.parentNode.childNodes[i] == e.target )
			{
				rangeOffset = i+1;
				break;
			}
		}
	}
	
	for( var i = 0; i < rangeOffset; i++ )
	{
		e.target.parentNode.childNodes[i].className = 'rating-box filled my';
	}
	for( var i = rangeOffset; i < 5; i++ )
	{
		e.target.parentNode.childNodes[i].className = 'rating-box empty';
	}

}

function resetRating(evt, rating)
{
	if( evt.currentTarget.ratingClicked )
		rating = evt.target.ratingClicked;
	for( var i = 0; i < rating; i++ )
	{
		evt.currentTarget.childNodes[i].className = 'rating-box filled';
	}
	for( var i = rating; i < 5; i++ )
	{
		evt.currentTarget.childNodes[i].className = 'rating-box empty';
	}
}

function clickRating(e)
{
	e.target.ratingClicked = e.target.rangeOffset;
}

focusing = null;

function focusing(w)
{
	focusing = w;
}

var nextZIndex = 9000;
function do_hover(w)
{
	console.log("doing hover ", w );
	if (dragging || focusing)
	{
		dojo.style(w.elem, {display:"none"} );
		return;
	}
	
	var z = nextZIndex++;
	
    // dojo.style(w.elem, {zIndex:z} ); 
    // dojo.style(w.elem.parentNode.parentNode, {zIndex:z} );
    
    var image= w.elem.parentNode;
    
	var banner= w.elem.parentNode.parentNode;
	var galleryBody= banner.parentNode.parentNode.parentNode;
	
	var imageCoords= dojo.coords(image);
	var galleryCoords= dojo.coords(galleryBody);
	var left= imageCoords.x - galleryCoords.x + imageCoords.w/2;
	var top= imageCoords.y - galleryCoords.y + imageCoords.h;
	
	console.log(imageCoords);
	console.log(galleryCoords);
	console.log(left);
	
	vp = dijit.getViewport();
	
	dojo.style( w.elem, {
    	            left: left + 'px',
    	            top: top + 'px',
    	            marginTop: '',
    	            visibility: 'hidden',
    	            display: ''
    	        });	

	var arrow = dojo.query("#" + w.elem.id + " .hover-arrow")[0];

	var rect = dojo.coords(w.elem);
	
	//  bottom is off the viewport
	if (!dojo.isIE && rect.y + rect.h > vp.h)
	{
		Element.addClassName(w.elem, 'above');
		w.elem.style.marginTop= -rect.h + 'px';
		w.elem.style.top= imageCoords.y - galleryCoords.y + 'px';
	}
	else
	    Element.removeClassName(w.elem, 'above');
	
	w.elem.style.visibility='';

	return;
}

window.onbeforeunload = function (evt) {
	//if( expired )
		return;
	var message = "Hang on there buddy!\nWe just want to let you know that if you navigate away from this page, you'll lose whatever it is that you're doing, so think carefully all right?";
	if (typeof evt == "undefined") {
		evt = window.event;
	}
	if (evt) {
		evt.returnValue = message;
	}
	return message;
}