﻿mousePos = Object;
mousePos.x = 0;
mousePos.y = 0;

// mouse
function mouseCoords (ev)
{
    ev = ev || window.event;
    if(ev.pageX || ev.pageY){
        return {x:ev.pageX, y:ev.pageY};
    }
    return {
        x:ev.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft),
        y:ev.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop)
    };
}
    
function mouseMove (ev)
{	
    mousePos = mouseCoords(ev);
}

document.onmousemove = mouseMove;


// carrossel
function car2d(objZoom, objThumbs, qtd, fisicoX, fisicoY)
{
    var thisObj = this;
    
    var t = null;
            
    this.zoom = function (thisObj)
    {
         //////////////// fade
        if (objZoom.src != thisObj.src)  // onload Safari
		    this.changeOpac(0);
		    
	    objZoom.src = thisObj.src;
    }
    
    this.moveX = function ()
    {
        var virtual = qtd * (5 + 135 + 5);
        if (virtual < fisicoX) virtual = fisicoX;
        objThumbs.style.left = -(mousePos.x / fisicoX) * (virtual - fisicoX) + "px";
    }
    
    this.moveY = function ()
    {
        var virtual = qtd * (5 + 108 + 5);
        if (virtual < fisicoY) virtual = fisicoY;
        objThumbs.style.top = -(mousePos.y / fisicoY) * (virtual - fisicoY) + "px";
    }
    
    
    
    /////////////////////////////////////////
    //// fade
    
    this.fadeTime = 500;
    this.clock = 50;
    
    objZoom.onload = function()
	{
        thisObj.fadeIn();
	}   
    
    // fade in
	this.fadeIn = function()
	{    
	    clearInterval(t);
	    
		var date1 = new Date();
		
		t = setInterval
		(
				function()
				{
				    var date2 = new Date();
				    var percent = Math.ceil(((date2.getTime() - date1.getTime()) / thisObj.fadeTime) * 100);
				    if (percent > 100) {percent = 100; clearInterval(t);}
				    thisObj.changeOpac(percent);
				},
				thisObj.clock
		);		
	}
	
	// opacity
	this.changeOpac = function (opacity) {
		var object = objZoom.style;
		object.opacity = (opacity / 100);
		object.MozOpacity = (opacity / 100);
		object.KhtmlOpacity = (opacity / 100);
		object.filter = "alpha(opacity=" + opacity + ")";		
	}
    /////////////////////////////////////////

	
}