function addClass(obj,newClass) {
	if(!obj.className.match(new RegExp(newClass)))
		obj.className+=(obj.className.length>0? " ": "") + newClass;
}
	
function removeClass(obj,oldClass) {
	obj.className=obj.className.replace(new RegExp("( ?|^)"+oldClass+"\\b"), "");
}

function setLinks(linkTags){
	var linkCollection = [];
	for (var j = 0; j < linkTags.length; j++) {
		linkCollection[j] = document.getElementsByTagName(linkTags[j]);
		for (var i = 0; i < linkCollection[j].length; i++) {
			if(/bookmark|external|corporate|sponsor|preview/.test(linkCollection[j][i].getAttribute('rel'))) {
				linkCollection[j][i].onclick = function(e) {
					if (!e) var e = window.event;
					if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey)
						return true;
					window.open(this.href);
					return false;
				}
			}
		}
	}
}

function setNavigation() {
	// var nav = document.getElementById('navigation');
	// if(!nav) return;
	// if(nav.className == 'unscripted') return;
	// addClass(nav,'scripted');
	// var nc = document.getElementById('nav-clients').getElementsByTagName('strong')[0];
	// var np = document.getElementById('nav-perso').getElementsByTagName('strong')[0];
	// addClass(nc,'point');
	// addClass(np,'point');
	// nc.onclick = function () {
	// 	removeClass(document.getElementsByTagName('body')[0],'np-on');
	// }
	// 
	// np.onclick = function () {
	// 	addClass(document.getElementsByTagName('body')[0],'np-on');
	// }
	var nav = document.getElementById('navigation');
	if(!nav) return;
	var sColl = nav.getElementsByTagName('strong');
	if(sColl&&sColl[1]) {
		new ToggleNav(sColl)
	}
}

function ToggleNav(sColl){
	this.cId = 0;
	for (var i = 0; sColl[i]; ++i) {
		if(sColl[i].parentNode.className=='current') this.cId = i;
		var a = sColl[i].getElementsByTagName('a')[0];
		a.cId = i;
		a.onclick = function(that) {
			return function() {
				that.toggle(this.cId);
				return false;
			}
		}(this);
	}
	this.sColl = sColl;
	

	// for(var i = 0; sColl[i]; ++i) {
	// 	var a = sColl[i].getElementsByTagName('a');
	// 	if(a&&a[0]){
	// 		a[0].onclick=function(that){
	// 			return function() {
	// 			
	// 				return false;
	// 			}
	// 		}(this);
	// 	}
	// }
}

ToggleNav.prototype = {
	toggle: function(cId) {
		if(cId==this.cId) return;
		removeClass(this.sColl[this.cId].parentNode,'current');
		addClass(this.sColl[cId].parentNode,'current');
		this.cId = cId;
	}
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function setBio() {
	var bioCall = document.getElementById('designer');
		if(!bioCall) return;
	var bio = document.getElementById('bio');
		if(!bio) return;
	var bioBlock = bio.getElementsByTagName('blockquote')[0];
	var pagez = document.getElementById('page');
	addClass(bioCall,'bioCall');
	pagez.appendChild(bio);
	var bioCallY = findPos(bioCall)[1]+bioCall.clientHeight;
	addClass(bio,'bio');

	bio.style.left = 0+'px';
	bio.style.top = bioCallY + 'px';
	bioBlock.onmouseover = function ()  {
		bio.style.display = 'block';
		addClass(bioCall,'hover');
	}
	bioBlock.onmouseout = function ()  {
		bio.style.display = 'none';
		removeClass(bioCall,'hover');
	}
	bioCall.onmouseover = function ()  {
		bio.style.display = 'block';
		addClass(this,'hover');
	}
	bioCall.onmouseout = function ()  {
		bio.style.display = 'none';
		removeClass(this,'hover');
	}
	
}

function debugIe(){
	var pNstrong = document.getElementById('navigation').getElementsByTagName('strong');
	for(var i = 0; i < pNstrong.length; i++) {
		pNstrong[i].onmouseover = function () {
			addClass(this,'hover');
		}
		pNstrong[i].onmouseout = function () {
			removeClass(this,'hover');
		}
	}
}

/* Init
-------------------- */
var init = function() {
	if (arguments.callee.done) return;
	arguments.callee.done = true;
	if(!document.getElementsByTagName)
		return;
	// setNavigation();
	// setBio();
	setLinks(['a']);
	/*@cc_on @*/
	/*@if (@_win32)
	newerThanIe6 = eval('document.getElementsByTagName("body")[0].currentStyle.minWidth');
	if (!newerThanIe6) {
		debugIe();
	}
	/*@end @*/
}

if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", init, null);
}
else if (/WebKit/i.test(navigator.userAgent)) {
	var _timer = setInterval(function() {
		if (/loaded|complete/.test(document.readyState)) {
			clearInterval(_timer);
			init();
		}
	}, 10);
}
else {
	/*@cc_on @*/
	/*@if (@_win32)
	document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
	var script = document.getElementById("__ie_onload");
	script.onreadystatechange = function() {
		if (this.readyState == "complete") {
			init();
		}
	};
	/*@end @*/
}
window.onload = init;
