// JavaScript Document
// trailimage script by www.tockamarketing.hr feat. mootools.net
var mouseX;
var mouseY;
var trail_div;
var description_div;
var image_element;
var preloader_element;
var column_content;
var imgWidth;
var imgHeight;
var imgSrc;
var offsetX = 20;
var offsetY = 20;
var winWidth;
var winHeight;
var image;
var winScroll;
var domready;

window.addEvent('domready', function() {
	domready = true;
	trail_div = new Element('div', {
		'id': 'tipinho'
	});

	description_div = new Element('div', {
		'id': 'tipinho_description'
	});

	image_element = new Element('img');
	
	preloader_element = new Element('img');

	trail_div.injectInside($(document.body));
	
	image_element.injectInside(trail_div);
	preloader_element.injectInside(trail_div);
	description_div.injectInside(trail_div);

	$(document.body).addEvent('mousemove', getMouse.bindWithEvent($(document.body)));

	winHeight = window.getScrollSize().y + window.getSize().y;
	winWidth = window.getSize().x;
	
	column_content = $('column_content');

});

function getMouse(event){
	mouseX = event.page.x;
	mouseY = event.page.y;

	//trail_div.removeClass('tipinho_hide');
	//trail_div.addClass('tipinho_show');
	movePreview ();
};

function movePreview () {
	
	trail_div_height = trail_div.getSize().y;
	trail_div_width = trail_div.getSize().x;
	
	column_content_width = column_content.getSize().x;
	column_content_x = column_content.getPosition().x;
	
	//console.log (winScroll, winHeight);
	if (!trail_div_height) trail_div_height = imgHeight;
	if (trail_div_height + mouseY + 20 > winHeight + winScroll) {		
		offsetY = -trail_div_height;
	} else {
		offsetY = 20;
	}

	if (trail_div_width + mouseX + 20 > column_content_x + column_content_width) {
		offsetX = -trail_div_width - 10;
	} else {
		offsetX = 20;
	}

	trail_div.setStyles({
		top: mouseY + offsetY,
		left: mouseX + offsetX
	});
	
}

function showIt () {
	preloader_element.setStyles({
		display: "none"
	});
	
	image_element.setProperty('width', imgWidth);
	image_element.setProperty('height', imgHeight);
	image_element.setProperty('src', imgSrc);	
	
	image_element.setStyles({
		display: "block"
	});
	
	movePreview ();
	
}


function showTip (image, description, width, height) {
	if (domready == true) {
		//trail_div.removeClass('tipinho_show');
		//trail_div.addClass('tipinho_hide');
		description_div.set ('text', description);
		
		imgSrc = image;
		imgHeight = height;
		imgWidth = width;
	
		preloader_element.setProperty('src', "/images/loader.gif");
		preloader_element.setProperty('width', "28");
		preloader_element.setProperty('height', "28");
		
		preloader_element.setStyles({
			display: "block"
		});
		
		image_element.setStyles({
			display: "none"
		});
		
		image_element.setProperty('src', "/images/empty.gif");
		
		new Asset.image(image, {onload: showIt});
	
		trail_div.setStyles({		
			position: "absolute",		
			padding: "5px",
			border: "1px solid #FFFFFF",
			background: "#988575",
			color: "#FFFFFF",
			display: "block",		
			width: imgWidth
		});
	
		description_div.setStyles({
			padding: "5px 0 3px 1px"
		});
	
		winHeight =  window.getSize().y;
		winWidth = window.getSize().x;
		winScroll = window.getScroll().y;
	
		movePreview ();
	}

}


function hideTip() {
	if (domready == true) {
		trail_div.setStyles({
			display: "none"	
		});	
	}
}