var loadimgg = new Image();
loadimgg.src = '/template/default/images/arror_loader_g.gif';

function recwin_create()
{	
	recwin.loader = document.getElementById(recwin.loaderid);
	recwin.holder = document.getElementById(recwin.holderid);
	recwin.recwindow = document.getElementById('recommendwindow');
	
	if(!recwin.recwindow)
		recwin.recwindow = document.createElement('div');
	else
		recwin.recwindow.innerHTML = '';
	
	
	recwin.recwindow.id = 'recommendwindow';
	
	recwin.recinfo = document.createElement('a');
	recwin.recinfo.innerHTML = recwin.revent.title+"<br/><span>"+recwin.revent.intro+"<div>"+recwin.revent.date+"</div></span>";
	recwin.recinfo.href="/recommendations/"+recwin.revent.link;	
	recwin.recwindow.appendChild(recwin.recinfo);
	
	recwin.recimghold = document.createElement('div');
	recwin.recimghold.style.position = 'relative';
	recwin.recimghold.move = [-1,-1];
	recwin.recwindow.appendChild(recwin.recimghold);
	
	recwin.img = Array(); 
	recwin_load_image();
	
	recwin.changeimage = false;
	recwin.state = 'waiting';
	recwin.imageindex = 0;
	recwin.imageindexmax = 3;
	recwin.timer = 1;
	recwin.stoptime = 300;
	recwin.stoptimeslider = 100;
	
	recwin.images = Array();	
	recwin.holder.appendChild(recwin.recwindow);
	
	recwin.recimghold.style.top = '-'+recwin.recinfo.offsetHeight+'px';
	recwin.recimghold.starttop = parseInt('-'+recwin.recinfo.offsetHeight);
	
	recwin.aJax = createXHR();
}

function recwin_loaderon()
{
	recwin.loader.style.background ='url(/template/default/images/arror_loader_g.gif)'; 
}
function recwin_loaderoff()
{
	recwin.loader.style.background ='none';
}


function recwin_get()
{		
	recwin_loaderon();

	
	
	RequestManager.send({
						type 		: 	"post",
						url 		:	'/scripthandler/recommendwindow.php',
						data		:	null,
						onsuccess	:	function(oResponse){
													recwin_loaderoff();
													revent = eval('('+oResponse.data+')');
													
													if(!revent.error)
													{
														recwin.revent = null;
														recwin.revent = revent;
													}
													
													recwin.state = 'ready';
													recwin_load_image();
										},
						onfailure	:	function(oResponse){
											alert("Problem retrieving data");
										}
					  });
	
}

function recwin_setup_new_rec()
{
	recwin.recinfo.style.top = '-1000px';
	recwin.recinfo.innerHTML = recwin.revent.title+"<br/><span>"+recwin.revent.intro+"<div>"+recwin.revent.date+"</div></span>";
	recwin.recinfo.style.top = '-'+recwin.recinfo.offsetHeight+'px';
	recwin.recinfo.href = "/recommendations/"+recwin.revent.link;
	recwin_info_in();	
	recwin.state = 'waiting';
}

function recwin_load_image()
{
	var image = new Image();
	image.onload = function(){
									if(recwin.img.length < 2)
									{
										var recimgnum = recwin.img.length;
										recwin.img[recimgnum] =  new Image();
										recwin.img[recimgnum].src = this.src;
										
										recwin.recimghold.appendChild(recwin.img[recimgnum]);
										recwin.recimghold.style.width = (recwin.recimghold.offsetWidth + recwin.img[recimgnum].offsetWidth)+'px';
										if(recimgnum == 0)
											recwin_walker();
									}
									
									recwin.revent.state = 'ready';
									//alert(this.src)
									return true;								
							};
	image.onerror= function () {
		//alert('error Loading = '+recwin.revent.img)
		};
	image.src = recwin.revent.img;
} 

function recwin_set_next_image()
{
	if(recwin.imageindex == 0)
		recwin.img[1].src = recwin.revent.img;
	else
		recwin.img[0].src = recwin.revent.img;
}

function recwin_walker()
{
	if(recwin.timer > recwin.stoptime && recwin.state == 'ready' && recwin.revent.state == 'ready')
	{
		recwin.timer = 1;
		recwin_info_out();
		recwin_set_next_image();
		recwin_move_image();
	}
	else if(recwin.state == 'waiting')
	{
		recwin.state = 'getting';
		
		recwin_get();
	}
	
	recwin.timer++;
	
	recwin_move_image_pan();
	
	recwin.walker = setTimeout("recwin_walker()",100);
}
function recwin_move_image_pan()
{
	var pos = Array();
	var border = 2;
	
	var addedleft = recwin.img[recwin.imageindex].offsetLeft;
	var addedtop = recwin.img[recwin.imageindex].offsetTop;
	
	pos[0] = parseInt(recwin.recimghold.style.left);
	pos[1] = parseInt(recwin.recimghold.style.top);
	
	if(border - addedleft + recwin.recwindow.offsetWidth - recwin.img[recwin.imageindex].width > pos[0] && recwin.recimghold.move[0] < 0)
		recwin.recimghold.move[0] += 2;
	if(border - addedtop + recwin.recwindow.offsetHeight - recwin.img[recwin.imageindex].height > pos[1] && recwin.recimghold.move[1] < 0)
		recwin.recimghold.move[1] += 2;
	if(border - addedleft < pos[0] && recwin.recimghold.move[0] > 0)
		recwin.recimghold.move[0] += -2;
	if((recwin.recimghold.starttop+addedtop)-border < pos[1] && recwin.recimghold.move[1] > 0)
		recwin.recimghold.move[1] += -2;	
		
	if(addedleft + recwin.recwindow.offsetWidth - recwin.img[recwin.imageindex].width > pos[0] && addedleft < pos[0])
		recwin.recimghold.style.left = addedleft+'px';	
	if(addedtop + recwin.recwindow.offsetHeight - recwin.img[recwin.imageindex].height > pos[1] && recwin.recimghold.starttop+addedtop < pos[1] )
		recwin.recimghold.style.top = (recwin.recimghold.starttop+addedtop)+'px';
	
	
	pos[0]+=recwin.recimghold.move[0];
	pos[1]+=recwin.recimghold.move[1];	

	if(!isNaN(pos[0]) && !isNaN(pos[1]))
	{
		recwin.recimghold.style.left = pos[0]+'px';
		recwin.recimghold.style.top = pos[1]+'px';
	}
	else
	{
		recwin.recimghold.style.left = addedleft+'px';
		recwin.recimghold.style.top = (recwin.recimghold.starttop+addedtop)+'px';
	}
}
function recwin_move_image()
{	
	if(recwin.imageindex == 0)
	{
		rewin_slide_image(parseInt(recwin.recimghold.style.left),'-'+recwin.img[1].offsetLeft);
		recwin.imageindex = 1;
	}
	else
	{
		rewin_slide_image(parseInt(recwin.recimghold.style.left), 0);
		recwin.imageindex = 0;
	}
}

function rewin_slide_image(from, to)
{
	if(from-20 >= to )
	{
			from-=20;
			
		recwin.recimghold.style.left = from+'px';
		setTimeout('rewin_slide_image('+from+', '+to+')',1);
	}
	else if(from+20 <= to)
	{
			from+=20;
			
		recwin.recimghold.style.left = from+'px';
		setTimeout('rewin_slide_image('+from+', '+to+')',1);
	}
	else
		return true
}

function recwin_info_out()
{
	if(!parseInt(recwin.recinfo.style.top))
		recwin.recinfo.style.top = '0px';
	if(parseInt(recwin.recinfo.style.top) > 0-recwin.recinfo.offsetHeight)
	{
		recwin.recinfo.style.top = (parseInt(recwin.recinfo.style.top) - 10)+'px';
		setTimeout('recwin_info_out()',1);		
	}
	else
	{
		recwin_setup_new_rec();
	}
}
function recwin_info_in()
{
	if(!parseInt(recwin.recinfo.style.top))
		recwin.recinfo.style.top = '200px';
		
	if(parseInt(recwin.recinfo.style.top) < 0)
	{
		recwin.recinfo.style.top = (parseInt(recwin.recinfo.style.top) + 10)+'px';
		setTimeout('recwin_info_in()',1);		
	}
	else
	{
		recwin.recinfo.style.top = '0px';		
		return true;
	}
}

function recwin_start_walker()
{
	 recwin_walker();
}
function recwin_stop_walker()
{
	 clearTimeout(recwin.walker);
}


