/*
Simple Image Trail script- By JavaScriptKit.com
Visit http://www.javascriptkit.com for this script and more
This notice must stay intact
*/

var offsetfrommouse=[30,30]; //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var displayduration=0; //duration in seconds image should remain visible. 0 for always.
var currentimageheight = 500;	// maximum image size.
currentimageheight = 480

if (document.getElementById || document.all){
	document.write('<div class="trailimage" id="trailimageid">');
	document.write('</div>');
}

function gettrailobj(id){
if (document.getElementById)
return document.getElementById(id).style
else if (document.all)
return document.all.trailimagid.style
}

function gettrailobjnostyle(id){
if (document.getElementById)
return document.getElementById(id)
else if (document.all)
return document.all.trailimagid
}


function truebody(){
return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function showtrail(imagename,title,description,ratingaverage,ratingnumber,showthumb,height,width,className,stockCode, offsetx, offsety){

	//if (height < currentimageheight){
		currentimageheight = height;
	//}
	//if (width < currentimageheight){
		currentimageheight = width;
	//}
	
	if(!isNaN(offsetx)) offsetfrommouse[0] = offsetx;
	
	if(!isNaN(offsety)) offsetfrommouse[1] = offsety;
	
	document.onmousemove=followmouse;

	cameraHTML = '';

	if (ratingnumber == 0){
		ratingaverage = 0;
	}

	for(x = 1; x <= 5; x++){

		if (ratingaverage >= 1){
			cameraHTML = cameraHTML + '<img src="/images/camera_1.gif" alt="" />';
		} else if (ratingaverage >= 0.5){
			cameraHTML = cameraHTML + '<img src="/images/camera_05.gif" alt="" />';
		} else {
			cameraHTML = cameraHTML + '<img src="/images/camera_0.gif" alt="" />';
		}
	
		ratingaverage = ratingaverage - 1;

	}

	cameraHTML = cameraHTML + ' (' + ratingnumber + ' Review';
	if ( ratingnumber != 1 ) cameraHTML += 's';
	cameraHTML = cameraHTML + ')';
	
	
	newHTML = '<div class="'+className+'TrailBox">';
	//newHTML = newHTML + '<div class="'+className+'TrailHeading">'
	//newHTML = newHTML + '<h1>' + title + '</h1>';
	//newHTML = newHTML + '</div>'	

	if (showthumb > 0){
		//newHTML = newHTML + '<div class="'+className+'TrailImgBox"><img src="' + imagename + '" border="0" alt="" />';
	}
	newHTML = newHTML + description;
	if( stockCode != ''){
		newHTML = newHTML + '<br /><br /><div align=right>Product Code ' + stockCode + '</div>';
	}
	newHTML = newHTML + '</div>';
	newHTML = newHTML + '</div>';

	gettrailobjnostyle("trailimageid").innerHTML = newHTML;

	gettrailobj("trailimageid").visibility="visible";
	
}



function hidetrail(){
	gettrailobj("trailimageid").visibility="hidden"
	document.onmousemove=""
	gettrailobj("trailimageid").left="-1500px"

}

function followmouse(e){

	var xcoord=offsetfrommouse[0]
	var ycoord=offsetfrommouse[1]

	var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(window.innerHeight)

	//if (document.all){
	//	gettrailobjnostyle().innerHTML = 'A = ' + truebody().scrollHeight + '<br />B = ' + truebody().clientHeight;
	//} else {
	//	gettrailobjnostyle().innerHTML = 'C = ' + document.body.offsetHeight + '<br />D = ' + window.innerHeight;
	//}
	if (typeof e != "undefined"){
		if (docwidth - e.pageX < currentimageheight){
			xcoord = e.pageX - xcoord - currentimageheight; // Move to the left side of the cursor
		} else {
			xcoord += e.pageX;
		}
		if (docheight - e.pageY < (currentimageheight)){
			ycoord += e.pageY - Math.max(0,(currentimageheight + e.pageY - docheight - truebody().scrollTop));
		} else {
			ycoord += e.pageY;
		}

	} else if (typeof window.event != "undefined"){
		if (docwidth - event.clientX < currentimageheight){
			xcoord = event.clientX + truebody().scrollLeft - xcoord - currentimageheight; // Move to the left side of the cursor
		} else {
			xcoord += truebody().scrollLeft+event.clientX
		}
		if (docheight - event.clientY < (currentimageheight)){
			ycoord += event.clientY + truebody().scrollTop - Math.max(0,(currentimageheight + event.clientY - docheight));
		} else {
			ycoord += truebody().scrollTop + event.clientY;
			//ycoord += event.clientY;
		}
	}

	var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	var docheight=document.all? Math.max(truebody().scrollHeight, truebody().clientHeight) : Math.max(document.body.offsetHeight, window.innerHeight)
	if(ycoord < 0) { ycoord = ycoord*-1; }
	gettrailobj("trailimageid").left=(xcoord-15)+"px"
	gettrailobj("trailimageid").top=(ycoord-50)+"px"
}

function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}