//////////////////////////////////////////////
// Kasseler CMS: Content Management System  //
// ===========================              //
// Copyright (c)2007-2008 by Igor Ognichenko//
// http://www.kasseler-cms.net/             //
//////////////////////////////////////////////

var DivObjPic = document.getElementById('showpic');
var offsetfrommouse=[15,25]; //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var CreateLoadingAnim = false;

function showPic(Obj, img){
    if (CreateLoadingAnim==false){
        var anim_pic = document.createElement("DIV");
        anim_pic.setAttribute('id','showpic_anim');
        anim_pic.style.display = 'none';
        anim_pic.style.position = 'absolute';
        anim_pic.style.zIndex = '60';
        document.body.appendChild(anim_pic);
        CreateLoadingAnim = true;
    }
    if (browser.opera || browser.msie){    
        var vc = document.getElementsByTagName((document.compatMode && document.compatMode=="CSS1Compat") ? "HTML":"BODY")[0];
        var x = event.clientX + vc.scrollLeft;
        var y = event.clientY + vc.scrollTop;
        var vcwidth = vc.clientWidth + vc.scrollLeft ;
        var vcheight = vc.clientHeight + vc.scrollTop;
        if((x + DivObjPic.offsetWidth) > vcwidth) DivObjPic.style.left = (x - DivObjPic.offsetWidth - 4)+'px'; else DivObjPic.style.left = (x + 15)+'px';
        if((y + DivObjPic.offsetHeight + 19) > vcheight) DivObjPic.style.top = (y - DivObjPic.offsetHeight)+'px'; else DivObjPic.style.top = y+'px';
    }
    show(img);
    Obj.onmouseout = function(){
        DivObjPic.style.display="none"; 
	document.getElementById('showpic_anim').style.display='none';
	document.getElementById('showimg').src='includes/images/pixel.gif';
    }
}      

function show(img){     
    var anim_pic = document.getElementById('showpic_anim');
    anim_pic.innerHTML = '<img src="includes/images/mini_loading.gif" alt="">';
    anim_pic.style.display='block';
    document.onmousemove = UpdateMousePosition; 
    document.getElementById('showimg').src=img;
    document.getElementById('showimg').onload = function(){        
        anim_pic.style.display='none';                             
        setTimeout("paddingCheck()", 10);
    }
    DivObjPic.style.display="block";
}

function paddingCheck(){
    setTimeout("paddingCheck()", 10);
    if (document.getElementById('showpic_anim').style.display!='none') document.getElementById('showimg').style.padding='50px'; 
    else document.getElementById('showimg').style.padding='0px';  
}

function UpdateMousePosition(e){
    var anim_pic = document.getElementById('showpic_anim');        
    var xcoord=offsetfrommouse[0];
    var ycoord=offsetfrommouse[1];
    var truebody = (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
    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 (typeof e != "undefined"){
        if (docwidth - e.pageX < DivObjPic.offsetWidth + 2*offsetfrommouse[0]) xcoord = e.pageX - xcoord - DivObjPic.offsetWidth;
        else xcoord += e.pageX;        
        if (docheight - e.pageY < DivObjPic.offsetHeight + 2*offsetfrommouse[1]) ycoord += e.pageY - Math.max(0,(2*offsetfrommouse[1] + DivObjPic.offsetHeight + e.pageY - docheight - truebody.scrollTop));
        else ycoord += e.pageY;

    } else if (typeof window.event != "undefined"){
        if (docwidth - event.clientX < DivObjPic.offsetWidth + 2*offsetfrommouse[0]) xcoord = event.clientX + truebody.scrollLeft - xcoord - DivObjPic.offsetWidth; 
        else xcoord += truebody.scrollLeft+event.clientX        
        if (docheight - event.clientY < (DivObjPic.offsetHeight + 2*offsetfrommouse[1])) ycoord += event.clientY + truebody.scrollTop - Math.max(0,(2*offsetfrommouse[1] + DivObjPic.offsetHeight + event.clientY - docheight));
        else ycoord += truebody.scrollTop + event.clientY;
    }
    DivObjPic.style.left=xcoord+"px"
    DivObjPic.style.top=ycoord+"px"    
    anim_pic.style.left=((xcoord+(DivObjPic.offsetWidth/2))-anim_pic.offsetWidth/2)+"px"
    anim_pic.style.top=((ycoord+(DivObjPic.offsetHeight/2))-anim_pic.offsetHeight/2)+"px"
}

