var currentactu;
currentactu=-1;

var varMA=new Array();
var varMUL=new Array();
var varMLI=new Array();

function initMenu() {
  for (m=0; m < varM.length; m++) {
     var varClass = /(current)/g;
     var varPos = /(nopos)/g;
     varM[m].id=m;
     varM[m].posok=false;
     varMA.push(varM[m].getElementsByTagName('a')[0]);
     if (varM[m].parentNode.getElementsByTagName('ul').length == 0) {
	 varMUL.push(varM[m].parentNode);
     } 
     varMUL.push(varM[m].parentNode.getElementsByTagName('ul')[0]);

     varM[m].onmouseover=openMenu;
     varMLI.push(varMUL[m].getElementsByTagName('a'));
     if(varClass.test(varM[m].parentNode.className)) {
        currentactu=m;
        openMenuThis(varM[m]);
     }

     var sizemenu=0;
     var sizemenuinit=0;
     lis = varMLI[m];
     for (zil=0; zil<lis.length; zil++) {
       sizemenu += lis[zil].offsetWidth; 
       sizemenuinit += lis[zil].offsetWidth; 
       sizemenu += 14; 
     }

     if (sizemenuinit>0) {
       sizemenu+=75; 
       var posparent = varM[m].parentNode.offsetLeft+(varM[m].parentNode.offsetWidth/2);

       var dec=posparent-(sizemenu/2);
       if ( dec<0 ) {
          dec=0;
       }
       if ( dec+sizemenu>720 ) {
         dec=720-sizemenu;
       }

       varMUL[m].style.width=sizemenu+'px';
       varMUL[m].style.left=dec+'px';
       varM[m].posok=true;
    }


  }
}

function openMenu() {
    openMenuThis(this);
}

function openMenuThis(obj) {
    c=currentactu;
    if (c!=-1){
      if (obj.id!=c){
        varMA[c].className='rootmenu inactive';
        varM[c].className='rootmenu inactive';
        varMUL[c].style.visibility='hidden';
      }
    }
    n=obj.id
    obj.className='rootmenu active';
    varMA[n].className='rootmenu active';
    varMUL[n].style.visibility='visible';
    posMenu(n);
    currentactu=n;
}


function posMenu(i) {
    if (!varM[i].posok) {
	var sizemenu=0;
        lis=varMLI[i];
	for (zil=0; zil<lis.length; zil++) {
	    sizemenu+=lis[zil].offsetWidth; 
	    sizemenu+=14; 
        }
        sizemenu+=75; 
    	var posparent = varM[i].parentNode.offsetLeft+(varM[i].parentNode.offsetWidth/2);

	var dec=posparent-(sizemenu/2);
        if ( dec<0 ) {
          dec=0;
        }
        if ( dec+sizemenu>720 ) {
          dec=720-sizemenu;
        }

    	varMUL[i].style.width=sizemenu+'px';
    	varMUL[i].style.left=dec+'px';
        varM[i].posok=true;
    }
}


/* ancien code ...

function initMenu() {
	for (m=0; m<varM.length; m++) {
		var varClass = /(current)/g;
		var varPos = /(nopos)/g;
		if(varPos.test(varM[m].parentNode.parentNode.className)) {varM[m].valid="ok";}
		if(varClass.test(varM[m].parentNode.className)) {posMenu(m)}
		varM[m].id=m;
		varM[m].onmouseover=openMenu;
	}
}

function openMenu() {
    for (c=0; c<varM.length; c++) {
		if (c!=this.id) {
			if (varM[c].parentNode.getElementsByTagName('ul')[0]) {
				varM[c].getElementsByTagName('a')[0].className='inactive';
				varM[c].className='inactive';
				varM[c].parentNode.getElementsByTagName('ul')[0].className='hide';
			}
		}
	}
    if (this.parentNode.getElementsByTagName('ul')[0]) {
	    this.parentNode.getElementsByTagName('ul')[0].className='show';
	    posMenu(this.id);
	    this.className='active';
	    this.getElementsByTagName('a')[0].className='active';
    }
}

function posMenu(i) {
    if (!varM[0].valid) {
    	var menuW=varM[i].parentNode.getElementsByTagName('ul')[0].offsetWidth; 
    	var menuX=varM[i].parentNode.offsetLeft;
  		if ((menuX-(menuW/2)+20) < 5) {menuX=5;} 
    	else if ((menuX+(menuW/2)+20) < 645) {menuX=menuX-(menuW/2)+20;} 
    	else {menuX=645-(menuW);}
    	varM[i].parentNode.getElementsByTagName('ul')[0].style.left=menuX+'px';
    } else {
    	if (varM[i].parentNode.getElementsByTagName('ul')[0].offsetWidth <350) {
    		varM[i].parentNode.getElementsByTagName('ul')[0].style.width=350+'px';
    		}
    	}
}

fin ancien code */



/*Form*/
function inputFocus() {
	this.className+= " focus";
	if (this.varEx.test(this.varClass)) {
		if (this.value==this.defaultValue) {this.value='';}
	}
}
function inputBlur() {
	this.className = this.varClass;
	if (this.varEx.test(this.varClass)) {
		if (this.value=='') {this.value=this.defaultValue;}
	}
}
function checkForm() {
	var fp=document.forms;
	for (f=0; fp[f]; f++) {
		var fep=fp[f].elements;
  		for (fe=0; fep[fe]; fe++) {
			if ((fep[fe].type=="text") || (fep[fe].type=="password")) {
				fep[fe].varClass=fep[fe].className;
				fep[fe].varEx = /(example)/g;
				fep[fe].onfocus=inputFocus;
				fep[fe].onblur=inputBlur;
			}
	 	}
	}
}

/*tab*/
function initTab() {
	for (t=0; t<varT.length; t++) {
		varT[t].id=t;
		varT[t].tClass=varT[t].parentNode.className;
		varT[t].onclick=openTab;
	}
}

function openTab() {
	for (d=0; d<varT.length; d++) {
		if (d!=this.id) {
			varT[d].parentNode.className=varT[d].tClass+' off';
		}
	}
	this.parentNode.className=this.tClass+' current';
}

/*skinselect*/
function selectReplacement(obj) {
	obj.className += ' replaced';
	var ul = document.createElement('ul');
	ul.className = 'selectReplacement';
	var opts = obj.options;
	for (var i=0; i<opts.length; i++) {
	  var selectedOpt;
	  if (opts[i].selected) {
		 selectedOpt = i;
		 break;
	  } else {
		 selectedOpt = 0;
	  }
	}
	for (var i=0; i<opts.length; i++) {
	  var li = document.createElement('li');
	  var txt = document.createTextNode(opts[i].text);
	  li.appendChild(txt);
	  li.selIndex = opts[i].index;
	  if(i==0) {li.className='first';}
	  if(i==(opts.length-1)) {li.className='last';}
	  li.selectID = obj.id;
	  li.onclick = function() {
		 selectMe(this);
	  }
	  if (i == selectedOpt) {
		 li.className += ' selected';
		 li.onclick = function() {
			this.parentNode.className += ' selectOpen';
			this.onclick = function() {
			  selectMe(this);
			}
		 }
	  }
	  if (window.attachEvent) {
		 li.onmouseover = function() {
			this.className += ' hover';
		 }
		 li.onmouseout = function() {
			this.className =
			  this.className.replace(new RegExp(" hover\\b"), '');
		 }
	  }
	  ul.appendChild(li);
	}
	obj.parentNode.insertBefore(ul,obj);
}
function selectMe(obj) {
	var lis = obj.parentNode.getElementsByTagName('li');
	for (var i=0; i<lis.length; i++) {
		if (lis[i] != obj) {
			  var varLiFirst = /(first)/g;
			  var varLiLast = /(last)/g;
                if(varLiFirst.test(lis[i].className)) {
                   lis[i].className='first';
                } else if (varLiLast.test(lis[i].className)) {
                	lis[i].className='last';
                } else {lis[i].className='';}
			lis[i].onclick = function() {
				selectMe(this);
			}
		} else {
			setVal(obj.selectID, obj.selIndex);
			obj.className+=' selected';
			obj.parentNode.className=obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
			obj.onclick = function() {
				obj.parentNode.className += ' selectOpen';
				this.onclick = function() {
					selectMe(this);
				}
			}
		}
	}
}
function setVal(objID, selIndex) {
	var obj = document.getElementById(objID);
	obj.selectedIndex = selIndex;
	if(objID == "filter_select") {
            if (obj.value!='')  {
               document.filter.action = document.filter.action+'tri/'+obj.value+'/'; 
               document.filter.submit();
            } else {
               document.filter.submit();
            }
        }
}
function skinSelect() {
	var s = document.getElementsByTagName('select');
	for (var i=0; i<s.length; i++) {
		if (s[i].id =="filter_select"){
			selectReplacement(s[i]);
		}
	}
}
/*thema switch*/
function getCookieVal(offset) {
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function LireCookie(nom) {
	var arg=nom+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen) {
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;
	}
	return null;
}

function EcrireCookie(nom, valeur) {
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	//var path=(argc > 3) ? argv[3] : null;
	var path= "/" ;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

var currentThema;
var oldThema;
var toThema;
var intRoll;
var intGotoAlpha;
var intComeFromAlpha;
var varOpacity=1;

function rollThema() {
	if(currentThema == undefined) {
		currentThema=Math.floor((varThema.length)*Math.random());
		gotoThema();
	} else {
		nextThema();	
		}
	}

function gotoAlpha() {
	if(varThema[oldThema]) {
	        if (varOpacity<0.01) varOpacity=0;
		varThema[oldThema].parentNode.style.MozOpacity=varOpacity;
		varOpacity-=0.2;
		if(varThema[oldThema].parentNode.style.MozOpacity<=0) {
			window.clearInterval(intGotoAlpha);
			intGotoAlpha = null;
			varThema[oldThema].parentNode.style.display="none";
			varOpacity=0;
			varThema[currentThema].parentNode.style.MozOpacity=varOpacity;
			varThema[currentThema].parentNode.style.display="block";
			intComeFromAlpha = window.setInterval("comeFromAlpha()",10);
			}
		}
	}
function comeFromAlpha() {
	if (varOpacity>0.99) varOpacity=1;
	varThema[currentThema].parentNode.style.MozOpacity=varOpacity;
	varOpacity+=0.2;
	if(varThema[currentThema].parentNode.style.MozOpacity >= 1) {
		window.clearInterval(intComeFromAlpha);
		intComeFromAlpha = null;
		}
	}

function gotoThema() {
	if(oldThema!=undefined) {
		varOpacity=1;
		intGotoAlpha = window.setInterval("gotoAlpha()",10);
	} else {
		varOpacity=0;
		varThema[currentThema].parentNode.style.MozOpacity=varOpacity;
		varThema[currentThema].parentNode.style.display="block";
		intComeFromAlpha = window.setInterval("comeFromAlpha()",10);
	}
}

function prevThema() {
		toThema=currentThema-1;
		if(toThema==-1) {toThema=(varThema.length-1);}
		oldThema=currentThema;
		currentThema=toThema;
		EcrireCookie("paperblog_Thema", currentThema);
		gotoThema();
}
function nextThema() {
		toThema=currentThema+1;
		if(toThema>(varThema.length-1)) {toThema=0;}
		oldThema=currentThema;
		currentThema=toThema;
		EcrireCookie("paperblog_Thema", currentThema);
		gotoThema();
}

function getElementsByClass(searchClass, node, tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function defineCurrentThema() {
    varThema = getElementsByClass('secmenu', document.getElementById('thema_switch').parentNode);
		for (t=0; t<varThema.length; t++) {
			var varClass = /(current)/g;
			if(varClass.test(varThema[t].parentNode.className)) {currentThema=t;}
		}
		if(!currentThema && LireCookie("paperblog_Thema")) {
			currentThema=LireCookie("paperblog_Thema");
			currentThema=parseInt(currentThema,10);
			gotoThema();
		} 
		if(currentThema==undefined) {
			rollThema();
			intRoll=window.setInterval("rollThema()",9000);
		} 
}

function themaSwitcher() {
	defineCurrentThema();
	document.getElementById('thema_switch').getElementsByTagName('a')[0].onclick=function() {
		if(!intGotoAlpha && !intComeFromAlpha) {if(intRoll) {window.clearInterval(intRoll);} prevThema();}
	};
	document.getElementById('thema_switch').getElementsByTagName('a')[1].onclick=function() {
		if(!intGotoAlpha && !intComeFromAlpha) {if(intRoll) {window.clearInterval(intRoll);} nextThema();}
	};
}

/*onload*/
window.onload = function() {
    if(document.getElementById('menu')) {
	varM = getElementsByClass('rootmenu', document.getElementById('menu'));
	initMenu();
    }
    if(document.getElementById('tab')) {
	varT = document.getElementById('tab').getElementsByTagName('h3');
	initTab();
    }
    if(document.getElementById('global')) {
	useStyle();
    }
    if(document.getElementById('thema_switch')) {
	themaSwitcher();
    }
    checkForm(); skinSelect();
}