var currentStyle = '1024';

function getAllSheets() {
	if( !window.ScriptEngine && navigator.__ice_version ) { return document.styleSheets; }
	if( document.getElementsByTagName ) { var Lt = document.getElementsByTagName('link'), St = document.getElementsByTagName('style');
	} else if( document.styleSheets && document.all ) { var Lt = document.all.tags('LINK'), St = document.all.tags('STYLE');
	} else { return []; } for( var x = 0, os = []; Lt[x]; x++ ) {
		var rel = Lt[x].rel ? Lt[x].rel : Lt[x].getAttribute ? Lt[x].getAttribute('rel') : '';
		if( typeof( rel ) == 'string' && rel.toLowerCase().indexOf('style') + 1 ) { os[os.length] = Lt[x]; }
	} for( var x = 0; St[x]; x++ ) { os[os.length] = St[x]; } return os;
}
function changeStyle() {
	window.userHasChosen = window.MWJss;
	for( var x = 0, ss = getAllSheets(); ss[x]; x++ ) {
		if( ss[x].title ) { ss[x].disabled = true; }
		for( var y = 0; y < arguments.length; y++ ) { if( ss[x].title == arguments[y] ) { ss[x].disabled = false; } }
} }
function rememberStyle( cookieName, cookieLife ) {
	for( var viewUsed = false, ss = getAllSheets(), x = 0; window.MWJss && ss[x]; x++ ) { if( ss[x].disabled != MWJss[x] ) { viewUsed = true; break; } }
	if( !window.userHasChosen && !viewUsed ) { return; }
	for( var x = 0, outLine = '', doneYet = []; ss[x]; x++ ) {
		if( ss[x].title && ss[x].disabled == false && !doneYet[ss[x].title] ) { doneYet[ss[x].title] = true; outLine += ( outLine ? ' MWJ ' : '' ) + escape( ss[x].title ); } }
	if( ss.length ) { document.cookie = escape( cookieName ) + '=' + escape( outLine ) + ( cookieLife ? ';expires=' + new Date( ( new Date() ).getTime() + ( cookieLife * 86400000 ) ).toGMTString() : '' ) + ';path=/'; }
}
function useStyleAgain( cookieName ) {
	for( var x = 0; x < document.cookie.split( "; " ).length; x++ ) {
		var oneCookie = document.cookie.split( "; " )[x].split( "=" );
		if( oneCookie[0] == escape( cookieName ) ) {
			var styleStrings = unescape( oneCookie[1] ).split( " MWJ " );
			for( var y = 0, funcStr = ''; styleStrings[y]; y++ ) { funcStr += ( y ? ',' : '' ) + 'unescape( styleStrings[' + y + '] )'; }
			currentStyle = eval(funcStr);setColor(currentStyle);break;
	} } window.MWJss = []; for( var ss = getAllSheets(), x = 0; ss[x]; x++ ) { MWJss[x] = ss[x].disabled; }
}

function toggleColors(){
	if(currentStyle == "1024"){
		setColor("800");
	}else{
		setColor("1024");
	}
}
function setColor(color){
	if(color != "1024"){
		currentStyle = "800";
	} else {
		currentStyle = "1024";
	}
	changeStyle(currentStyle);
}

function getWindowHeight() {
var windowHeight=0;
if (typeof(window.innerHeight)=='number') {
windowHeight=window.innerHeight;
}
else {
if (document.documentElement&&
document.documentElement.clientHeight) {
windowHeight=
document.documentElement.clientHeight;
}
else {
if (document.body&&document.body.clientHeight) {
windowHeight=document.body.clientHeight;
}
}
}
return windowHeight;
}


function adjustStyles() {
  if (document.body.clientWidth > 1000) {
    changeStyle("1024");
  } else {
    changeStyle("800");
  }

  if (document.getElementById('footerparent')) {
    setFooter();
  };

	// Set the correct stylesheet which is stored inside the cookie
	//var cookie = readCookie("style");
	//var title = cookie ? cookie : getPreferredStyleSheet();

	// Set the correct font size which is stored inside the cookie
	var cookie = readCookie("size");
	var sFontsize = cookie ? cookie : "default";
	setActiveStyleSheet(sFontsize);
	ResizeHeightAlignBox();
}

function ResizeHeightAlignBox()
{
	if(! document.getElementById('box_1') ) return;
	if(! document.getElementById('box_2') ) return;
	
	if( document.getElementById('box_1') && document.getElementById('box_2') )
	{
		var height1 = document.getElementById('box_1').offsetHeight;
		var height2 = document.getElementById('box_2').offsetHeight;
		if( height1 > height2 )
		{
			document.getElementById('box_1').style.height = height1+'px';
			document.getElementById('box_2').style.height = height1+'px';
		}
		else
		{
			document.getElementById('box_1').style.height = height2+'px';
			document.getElementById('box_2').style.height = height2+'px';
		}
	}			
}

function setFooter() {

  var offset      = 200;

  var rightHeight = 0;
  var leftHeight  = 0;

  if (document.getElementById('main')) {
    leftHeight = leftHeight + document.getElementById('main').offsetHeight;
//    alert('main height: ' + document.getElementById('main').offsetHeight);
  };

  if (document.getElementById('footerparent')) {
    var footerElement=document.getElementById('footerparent');
    footerHeight = footerElement.offsetHeight;
  };
  
  if (document.getElementById('right')) {
  	rightHeight = document.getElementById('right').offsetHeight;
  }

  if (document.getElementById('debug')) {
    var debugElement=document.getElementById('debug');
    debugHeight = debugElement.offsetHeight;
  };


    if (leftHeight > rightHeight) {
      offset = offset + leftHeight;
    } else {
      offset = offset + rightHeight;
    }

  windowHeight = getWindowHeight();

  if (windowHeight > offset+footerHeight) {
    var footerTop = windowHeight - footerHeight;
    var debugTop = footerTop + 50;
  } else {
    var footerTop = offset  + 50;
    var debugTop = footerTop + 50;
  }

  if (footerElement)
    footerElement.style.top=footerTop+'px';
  
  if (debugElement)
    debugElement.style.top=debugTop+'px';
  
}

window.onresize = function() {
  adjustStyles();
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

/**
 * Ce qui suit permet d'afficher ou de cacher les selectboxes, sous le menu en CSS
 * (sinon, elles restent on top), pour Internet Explorer...
 * Oui, IE, c'est super.
 */
 /*
sfHover = function() {
	var ieNavs = document.getElementsByTagName('ul');
	for(i=0; i<ieNavs.length; i++) {
		var ul = ieNavs[i];
		if(ul.className== "nav") 
			setHover(ul);
	}

}

function setHover(nav) {
	var ieULs = nav.getElementsByTagName('ul');
	if (navigator.appVersion.substr(22,3)!="5.0") {
		for (j=0; j<ieULs.length; j++) {
			var ieLIs = nav.getElementsByTagName('LI');
			for (var i=0; i<ieLIs.length; i++) {
				if (ieLIs[i]) {
					if (ieLIs[i].getElementsByTagName("UL").length>0){
						ieLIs[i].onmouseover=function() { 
							hideSelects(this);
							this.className+=" sfhover";
			    	}
			    	ieLIs[i].onmouseout=function() { 
			    		showSelects();
			    		this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			    	}
			    }
			  }
			}
		}
	}
}
*/

sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			hideSelects(this);
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			showSelects();
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}

// Cache les select boxes suivant les coordonn�es du LI affich�.
function hideSelects(myLI){
	posX = findPosX(myLI);
	posY = findPosY(myLI);
	
	var oSelects=document.getElementsByTagName("select");
	for(var i=0;i<oSelects.length;i++) {
		PosMaxSelect = parseInt(findPosX(oSelects[i])) + parseInt(oSelects[i].style['width'].replace('px',''));
		if (
		  posY + myLI.style['height'] <= findPosY(oSelects[i]) && 
		  posX <= PosMaxSelect
		   ) {
			oSelects[i].className+=" hide";
		}
  }
}

// affiche les select boxes
function showSelects(){
	var oSelects=document.getElementsByTagName("select");
	for(var i=0;i<oSelects.length;i++)
		oSelects[i].className=oSelects[i].className.replace(" hide","");
}

if (window.attachEvent) window.attachEvent('onload', sfHover);