/*
 *  infobox.js
 *  Part of ResourceSpace
 *  Displays an information box when the user hovers over resource results.
 *
 *--------------------------------------------------------------------------*/

var InfoBoxEnabled=true;
var InfoBoxWaiting=false;
var InfoBoxVisible=false;
var InfoBoxRef=0;
var InfoBoxTop=0;
var InfoBoxLeft=0;
var InfoBoxTimer=false;
var InfoBoxImageMode=true;
var iscollection=false;
var d = new Date();
var time = d.getTime();
var q1 = false;
var q2 = false;
var q3 = false;
var q4 = false;

function InfoBoxMM(event)
    {
	event = event || window.event;
	tgt = event.target || event.srcElement;
	if (!InfoBoxEnabled || InfoBoxRef==0) {return false;}
	var iname = 'InfoBox';
   	var i=document.getElementById(iname);
   	if (!i) {
   		//alert('nope');
   		return false;
   	} // no object? ignore for now
   	

    var x=event.clientX;
    var y=event.clientY;
    
	var window_h = $(window).height();
	var window_w = $(window).width();
	
	var scroll_top = $(window).scrollTop();

	q1 = false;
	q2 = false;
	q3 = false;
	q4 = false;

	if( (y < (window_h/2)) && (x<(window_w/2)) ) {
		q1 = true;
		InfoBoxTop = scroll_top+50+y;
		InfoBoxLeft = x;
		i.style.paddingTop="75px";
		i.style.backgroundImage="url('/images/infobox/infobox_image_down_left.png')";
	}
	if( (y < (window_h/2)) && (x>(window_w/2)) ) {
		q2 = true;
		InfoBoxTop = scroll_top+50+y;
		InfoBoxLeft = x-370;
		i.style.paddingTop="75px";
		i.style.backgroundImage="url('/images/infobox/infobox_image_down_right.png')";
	}
	if( (y > (window_h/2)) && (x<(window_w/2)) ) {
		q3 = true;
		InfoBoxTop = scroll_top-450+y;
		InfoBoxLeft = x+10;
		i.style.paddingTop="25px";
		i.style.paddingBottom="75px";
		i.style.backgroundImage="url('/images/infobox/infobox_image_up_left.png')";
	}
	if( (y > (window_h/2)) && (x>(window_w/2)) ) {
		q4 = true;
		InfoBoxTop = scroll_top-450+y;
		InfoBoxLeft = x-400;
		i.style.paddingTop="25px";
		i.style.paddingBottom="75px";
		i.style.backgroundImage="url('/images/infobox/infobox_image_up_right.png')";
	}
	
    i.style.top=InfoBoxTop + "px";
   	i.style.left=InfoBoxLeft + "px";

		
	// set a timer for the infobox to appear
    if ((InfoBoxWaiting==false) && (InfoBoxVisible==false))
    	{
    	if (InfoBoxTimer) {window.clearTimeout(InfoBoxTimer);}
    	InfoBoxTimer=window.setTimeout("InfoBoxAppear('" + iname + "')",800);
	    InfoBoxWaiting=true;
		}
    }

function InfoBoxSetResource(ref)
	{
	InfoBoxRef=ref;
	if (ref==0)
		{
		InfoBoxVisible=false;
		if (ib=document.getElementById('InfoBox')) {
		    ib.style.top="-999px";
		   	ib.style.left="-999px";
			ib.style.display='none';
		}
		}
	}
	
function InfoBoxAppear(boxName)
	{
	if (!InfoBoxEnabled) {return false;}
	// Make sure we are still waiting for a box to appear and that the mouse has not yet moved.
	if ((InfoBoxWaiting) && (InfoBoxRef!=0))
		{
		var i=document.getElementById(boxName);
		//Ajax loader here
    	document.getElementById(boxName).innerHTML='';
    	jQuery.ajax({
			success:function (data){
				var $response=$(data);
				var blah = $response.filter('#blah').val();
				
				jQuery('#' + boxName).html(data);
				
				var imgtable=document.getElementById('imgtable');
								
				if(blah=='w') {
					i.style.marginLeft='0';
					i.style.backgroundSize='380px 315px';
					i.style.width='380px';
					i.style.height='240px';
					if(q3 || q4) i.style.marginTop='100px';
				}
				if(blah=='h') {
					//imgtable.style.paddingleft="100px";
					//imgtable.style.border="1px solid orange";
					i.style.marginLeft='100px';
					i.style.backgroundSize='250px 420px';
					i.style.width='250px';
					i.style.height='350px';
				}

				if(q1 || q3) i.style.marginLeft='0';
				
			},
			url:'/ajax/infobox_loader.php?ref=' + InfoBoxRef + '&ran=' + time + '&image=true'
		});
	   	i.style.display='block';
    	InfoBoxVisible=true;
    	}
    InfoBoxWaiting=false;
	}
