

// GENERAL VARS AND FUNCTIONS ////////////////////////////////////////////////////////////////////


// general IE and Windows catch
var IE = (navigator.appName == "Microsoft Internet Explorer" ? true : false);
var Version;
if (IE) {
    var appV = navigator.appVersion.split("MSIE");    Version = parseFloat(appV[1]);
}var Win = (navigator.userAgent.indexOf('Win') == -1 ? true : false);



// img preloader (needed to give priority to rollovers & bkgd imgs)
function imgPreloader(imgStr) {
    var imgObj = new Array();
    for (i=0; i<imgStr.length; i++) {
        imgObj[i] = new Image();        imgObj[i].src = imgStr[i];
    }}



// returns object with window (body) size
function windowSize() {
	var winsize = new Object();
		if ( typeof( window.innerWidth ) == 'number' ) {		//Non-IE		winsize.width = window.innerWidth;		winsize.height = window.innerHeight;	} else if ( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {		//IE 6+ in 'standards compliant mode'		winsize.width = document.documentElement.clientWidth;		winsize.height = document.documentElement.clientHeight;	} else if ( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {		//IE 4 compatible		winsize.width = document.body.clientWidth;		winsize.height = document.body.clientHeight;	}	
	return winsize;
}



// general mouse position tracking
if (!IE) {
    document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = getMouseXY;
var MouseX = 0var MouseY = 0

function getMouseXY(e) {  if (IE) {    MouseX = event.clientX + document.body.scrollLeft    MouseY = event.clientY + document.body.scrollTop  } else {    MouseX = e.pageX    MouseY = e.pageY  }    // catch possible negative values in NS4  if (MouseX < 0){MouseX = 0}  if (MouseY < 0){MouseY = 0}  

  return true}
        


// general popups
function poponclick(u,n,w,h,s) {
	popwin = window.open(u,n,"width="+w+",height="+h+",toolbar=no,menubar=no,directories=no,status=no,location=no,resize=yes,top=80,left=250,scrollbars="+s);
    popwin.moveTo(180,80);    popwin.resizeTo(w,h);    if (window.focus) {
        popwin.focus();
    }}



// general full screen popup
function fullpoponclick(url) {
    if ((Win) && (IE)) {        fullpop = window.open(url,"fullpop_name","scrollbars=no","fullscreen=yes");        fullpop.moveTo(0,0);        fullpop.resizeBy(16,0);    } else {        fullpop = window.open(url,"fullpop_name","width="+screen.availWidth+",height="+screen.availHeight+",toolbar=no,menubar=no,directories=no,status=no,location=no,resize=yes,scrollbars=no");        fullpop.moveTo(0,0);        fullpop.resizeTo(screen.availWidth,screen.availHeight);
    }    if (window.focus) {
        fullpop.focus();
    }}
// general button imgs rolloversfunction rollon(o) {
    offPath=o.src;
    newPath=offPath.replace(/_off/, "_on");
    o.src=newPath;  
}
function rollonIEpng(o) {
    offPath=o.style.filter;
    newPath=offPath.replace(/_off/, "_on");
    o.style.filter=newPath;
}function rolloff(o) {    onPath=o.src;
    newPath=onPath.replace(/_on/, "_off");
    o.src=newPath;
}
function rolloffIEpng(o) {
    onPath=o.style.filter;
    newPath=onPath.replace(/_on/, "_off");
    o.style.filter=newPath;
}



// general text size function
function changefontsize(id, size, height) {document.getElementById(id).style.fontSize = size + "px";document.getElementById(id).style.lineHeight = height + "em";}



// href ajax processing (GET)var Xhro = null;var Id;function XHRhref(url,id) {
    Id = id;
    
    // display loading gif
    if (Id != '') {        document.getElementById(Id).innerHTML = "<center><img src=\"./buttons/loading.gif\" style=\"margin-top: 100px;\" alt=\"Chargement...\" /></center>";
    } else {
        // back-office
    }
	    // Create the XML request object    if(window.XMLHttpRequest) { // Firefox, Opera...		Xhro = new XMLHttpRequest();    } else if (window.ActiveXObject) { // MSIE		Xhro = new ActiveXObject("Microsoft.XMLHTTP");
    } else {		alert('Sorry, your browser does not support the data display system implemented here. Please update there :\r\n http://www.mozilla.org/products/firefox/');		return; // Failed to create the request
	}
	    // Make the request	Xhro.onreadystatechange = handleResponseText;
    Xhro.open ('GET',url,true);
    //alert(navigator.vendor.substring(0,5)); / .vendor pour detecter Safari et pas Netscape en gŽnŽral avec .appName et faire alterner le utf8_decode    Xhro.send (null); // null cuz GET method}
function handleResponseText() { // function to handle changed request states	if (Xhro.readyState == 4) {
		//doSomethingWithData(Xhro.responseXML.getElementsByTagName('quote')[0].firstChild.data); // Retrieve the data between the <quote> tags		if (Id != '') {    		document.getElementById(Id).innerHTML = Xhro.responseText;
        } else {
            // back-office
        }
	}}






// SPECIFIC VARS AND FUNCTIONS ////////////////////////////////////////////////////////////////////////

// redim pour IE6 la window de content qui a l'overflow et focus sur le content
function resizeAndFocus() {
    if (IE && Version < 7) {
        var winsize = windowSize();
        document.getElementById("content").style.height = winsize.height-80+"px"; // retranche les paddings top et bottom
    }
    
    document.getElementById("content").focus();
}




/*// button divs rollovers
function buttOn(id) {
    document.getElementById(id).style.background = "#d5d5d5";
    document.getElementById(id).style.color = "#ffffff";
}
function buttOff(id) {
    document.getElementById(id).style.background = "#eeeeee";
    document.getElementById(id).style.color = "#b5b5b5";
}*/




// lightbox functions
function lightboxOn(filepath,type,width,height,lightcolor) {
    if (type == "flv") {
        height += 24; // for player controls
    } else if (type == "mov") {
        height += 15;
    }
    var normwinsize = normalizedwindowSize(width,height,20,1);
    
    document.getElementById("content").style.overflow = "hidden";
    document.getElementById("lightbox").style.background = lightcolor;
    document.getElementById("lightbox").style.visibility = "visible";
    document.getElementById("lightbox").style.opacity = .90;
    document.getElementById("lightbox").style.filter = "alpha(opacity=90)"; /*IE*/
    document.getElementById("overbox").style.visibility = "visible";
    document.getElementById("overbox").style.width = normwinsize.width+"px";
    document.getElementById("overbox").style.marginLeft = normwinsize.leftmargin+"px";
    document.getElementById("overbox").style.height = normwinsize.height+"px";
    document.getElementById("overbox").style.marginTop = normwinsize.topmargin+5+"px"; // +5 pour laisser un peu plus de place ˆ la div de fermeture
    document.getElementById("lightboxOff").style.visibility = "visible";
    document.getElementById("lightboxOff").style.marginLeft = normwinsize.leftmargin+normwinsize.width-14+"px"; // 16px de large -2px de border de l'overbox en-dessous pour s'aligner
    document.getElementById("lightboxOff").style.marginTop = normwinsize.topmargin-11+"px";
    XHRhref("./lightbox.xhr.php?type="+type+"&file="+filepath+"&width="+normwinsize.width+"&height="+normwinsize.height+"&bgcolor=000000","overbox");
    
    document.getElementById("overbox").focus(); // inutile
}

function lightboxOff() {
    document.getElementById("lightboxOff").style.visibility = "hidden";
    document.getElementById("overbox").innerHTML = "";
    document.getElementById("overbox").style.visibility = "hidden";
    document.getElementById("lightbox").style.opacity = 1;
    document.getElementById("lightbox").style.filter = "alpha(opacity=100)"; /*IE*/
    document.getElementById("lightbox").style.visibility = "hidden";
    document.getElementById("content").style.overflow = "auto";
    
    document.getElementById("content").focus();
}

function normalizedwindowSize(mediaW,mediaH,padding,border) {
    var winsize = windowSize();
    winsize.width -= padding*2;
    winsize.height -= padding*2;
    
    var normwinsize = new Object();
    normwinsize.width = mediaW;
    normwinsize.height = mediaH;
    if (normwinsize.width > winsize.width && normwinsize.width >= normwinsize.height) {		normwinsize.width = winsize.width;		normwinsize.height = mediaH*normwinsize.width/mediaW;
		if (normwinsize.height > winsize.height) {
            normwinsize.height = winsize.height;
            normwinsize.width = mediaW*normwinsize.height/mediaH;
		}
    }	if (normwinsize.height > winsize.height) { // && normwinsize.height > normwinsize.width		normwinsize.height = winsize.height;		normwinsize.width  = normwinsize.width*normwinsize.height/mediaH;		if (normwinsize.width > winsize.width) {
            normwinsize.width = winsize.width;
            normwinsize.height = mediaH*normwinsize.width/mediaW;
		}
	}
    normwinsize.leftmargin = (winsize.width-normwinsize.width)/2 + padding - border;
    normwinsize.topmargin = (winsize.height-normwinsize.height)/2 + padding - border;
   
    return normwinsize;
}




/*// productions full background image managing
function fullBgImg(){    var winsize = windowSize();
	    if (winsize.height/winsize.width < 7/10){		//100% largeur		document.getElementById("bkgdImg").style.width = winsize.width+"px";		document.getElementById("bkgdImg").style.height = winsize.width*3/4+"px";			}else if (winsize.height/winsize.width > 4/5){		//100% hauteur		document.getElementById("bkgdImg").style.width  = winsize.height*4/3+"px";		document.getElementById("bkgdImg").style.height = winsize.height+"px";	}else {
        //100% des 2 dimensions
        document.getElementById("bkgdImg").style.width = winsize.width+"px";        document.getElementById("bkgdImg").style.height = winsize.height+"px";
    }
	}*/





// large image background position scrolling
var LargeImgOn = false;
var BkgdPos = new Array(0,0);
var PrevX = 0, PrevY = 0;
function largeImgMouseDown(o) {
    LargeImgOn = true;
    PrevX = MouseX;
    PrevY = MouseY;
    largeImgMouseMove();
}
function largeImgMouseMove() {
    if (LargeImgOn) {
        moveX = MouseX - PrevX;
        moveY = MouseY - PrevY;
        BkgdPos[0] += moveX;
        BkgdPos[1] += moveY;
        document.getElementById("largeImg").style.backgroundPosition = BkgdPos[0]+"px "+BkgdPos[1]+"px";
        
        PrevX = MouseX;
        PrevY = MouseY;
        setTimeout("largeImgMouseMove();",100);
    }
}
function largeImgMouseUp(o) {
    LargeImgOn = false;
}

