// Supported browser types
var browser = null;
var isIE    = false;
var isGecko = false;
var isOpera = false;

var ua = navigator.userAgent.toLowerCase();
var app = navigator.appName.toLowerCase();
var ver = parseInt(navigator.appVersion);

// Perform browser detection.
if ((ua.indexOf('mozilla')!=-1) && (ua.indexOf('compatible')==-1) && (ua.indexOf('opera')==-1) && (ua.indexOf('gecko')!=-1))
    {
// Gecko-powered browsers family
        browser = 'Gecko';
        isGecko = true;
    }
else
    if ((ua.indexOf('compatible')!=-1) && (ua.indexOf('msie')!=-1) && (ua.indexOf('opera')==-1))
        {
// Internet Explorer
            ver = navigator.appVersion;
            ver = parseFloat(ver.substring(ver.indexOf('MSIE')+4));
            if (!isNaN(ver))
            {
                browser='IE';
                isIE = true;
            };
        }
    else
        if (ua.indexOf('opera')!=-1)
// Opera
        {
            ver = parseInt(ua.substring(ua.indexOf('opera')+6));
            browser='Opera';
            isOpera = true;
        };

var browserParams = new Array();
var mousePageX = 0;
var mousePageY = 0;
var mouseScreenX = 0;
var mouseScreenY = 0;
var windowWidth = null;
var windowHeight = null;
var ___slide_interval = null;

function ___onmousemove_handler(ev)
{
    var px = 0;
    var py = 0;
    var sx = 0;
    var sy = 0;
    if (isGecko) {
        px = ev.pageX;
        py = ev.pageY;
        sx = ev.screenX;
        sy = ev.screenY;
    } else if (isOpera) {
        px = ev.clientX;
        py = ev.clientY;
        sx = ev.screenX;
        sy = ev.screenY;
    } else if (isIE) {
        if (document.body)
        {
    		px = window.event.clientX + document.body.scrollLeft;
    		py = window.event.clientY + document.body.scrollTop;
    		sx = window.event.screenX;
    		sy = window.event.screenY;
		};
	};
    browserParams['pageX'] = px;
    browserParams['pageY'] = py;
    browserParams['screenX'] = sx;
    browserParams['screenY'] = sy;
    mousePageX = px;
    mousePageY = py;
    mouseScreenX = sx;
    mouseScreenY = sy;
// We need to call onResize handler because of IE and Opera
    ___onresize_handler();
    return(true);
};

function ___onresize_handler()
{
    var ww = (isIE)?((document.body)?document.body.clientWidth:0):window.innerWidth;
    var wh = (isIE)?((document.body)?document.body.clientHeight:0):window.innerHeight;
    browserParams['windowWidth'] = ww;
    browserParams['windowHeight'] = wh;
    windowWidth = ww;
    windowHeight = wh;
    return(true);
};

function showPage(pageID)
{
    var elm = document.getElementById(pageID);
    var cnt = document.getElementById('container');
    if ((cnt) && (elm))
    {
        var _x = elm.offsetLeft;
        var _y = elm.offsetTop;
        var _w = elm.offsetWidth;
        var _h = elm.offsetHeight;
		var pX = 0-_x; 
		var pY = 0-_y;
};
    if (___slide_interval)
        clearInterval(___slide_interval);
    ___slide_interval = setInterval('slide('+pX+','+pY+')',20);
    return(false);
};

function slide(x,y)
{
    var cnt = document.getElementById('container');
    if (!cnt)
    {
        clearInterval(___slide_interval);
        return(false);
    };
    var cx = cnt.offsetLeft;
    var cy = cnt.offsetTop;
    var sx = Math.abs(x-cx)*0.10;
    var sy = Math.abs(y-cy)*0.10;
    var nx = cx+sx*((x-cx)/Math.abs(x-cx));
    var ny = cy+sy*((y-cy)/Math.abs(y-cy));
    try {
    cnt.style.left = nx+'px';
    cnt.style.top = ny+'px';
    } catch(e) {};
    if ((sx<1) && (sy<1))
        clearInterval(___slide_interval);
    return(true);
};

function init()
{
    document.onmousemove = ___onmousemove_handler;
    window.onresize = ___onresize_handler;
    ___onresize_handler();
    showPage('page1');
};