function trace(txt) {
	document.getElementById('console').innerHTML = '<div style="margin:10px;color:red;text-transform:uppercase;font-size:24px;">'+txt+'</div>';
}
//////////////////
// BROWSERCHECK //
//////////////////
//alert(navigator.userAgent);
//alert(navigator.appName);
var version = parseInt(navigator.appVersion);
if (navigator.appName.indexOf("Microsoft") != -1 && version == 4) {
	if (/4\.\d+\D+(\d+)\D/.test(navigator.appVersion)) {
		version = RegExp.$1;
	}
}
if(navigator.appName == "Netscape" && version < 5) {	
	window.location.href = 'browser.html';
}
else if(navigator.platform == "Win32" && navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") == -1) {
	if (version < 5 || navigator.userAgent.indexOf('MSIE 5.01') !=-1 || navigator.userAgent.indexOf('MSIE 5.5') !=-1) {
		window.location.href = 'browser.html';
	}
}
else if(navigator.platform == "MacPPC" && navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") == -1) {
	window.location.href = 'browser.html';
}

///////////////
// STYLECORR //
///////////////
function initShowRendered () {
	for (var i = 0; i < layout.length; ++i) {
		document.getElementById(layout[i]+'Button').style.visibility='visible';
	}
}
document.write('<style type="text/css"><!-- ');
document.write('.buttonElement {visibility:hidden;}');
document.write(' --><\/style>');
window.onload = initShowRendered;

if (navigator.platform == "Win32" && navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") == -1) {
	document.write('<style type="text/css"><!-- ');
	document.write('.clearFloat {margin:0px;padding:0px;clear:both;}');
	// BEGIN IE KORR: ADJUST TO POSITION X-ICON PROPERLY IN IE AS ALPHA.PNG IS ALIGNED TO TOP EDGE
	document.write('.top {height:10px;}');
	document.write('.top_r div {position:relative;top:-10px;}'); // POSITION:RELATIVE NEEDED FOR CLICKABILITY WITH LAYERED ACTIVE-X ALPHA-FILTER?!
	document.write('.bottom div {position:relative;top:0px;}'); // POSITION:RELATIVE NEEDED FOR CLICKABILITY WITH LAYERED ACTIVE-X ALPHA-FILTER?!
	// END IE KORR
	document.write(' --><\/style>');
}
else if (navigator.platform == "Win32" && navigator.userAgent.indexOf("Opera") != -1) {
	document.write('<style type="text/css"><!-- ');
	document.write('.clearFloat {height:1px;margin:0px;padding:0px;clear:both;}');
	document.write(' --><\/style>');
}
else {
	document.write('<style type="text/css"><!-- ');
	document.write('.clearFloat {margin:0px;padding:0px;clear:both;}');
	document.write(' --><\/style>');
}

/////////////////////////////////
// VALIDATED XHMTL _BLANK LINK //
/////////////////////////////////
function externalLinks() {
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i]; 
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") anchor.target = "_blank"; 
	}
}

////////////////////
// DECRYPT MAILTO //
////////////////////
function UnCryptMailto( s ) {
	var n = 0;
	var r = "";
	for( var i = 0; i < s.length; i++) {
		n = s.charCodeAt( i );
		if( n >= 8364 ) {
			n = 128;
		}
		r += String.fromCharCode( n - 1 );
	}
	return r;
}
function linkTo_UnCryptMailto( s ) {
	location.href=UnCryptMailto( s );
}

//////////////////////////////////////
// DEFINE LAYOUT AND .PNG RENDERING //
//////////////////////////////////////
var xl=220; // BOX SIZES
var l=200;
var m=150;
var pngClasses=new Array('top_l','top','top_r','content','bottom_l','bottom','bottom_r','x','fw','rw'); // BORDER ELEMENTS
var layout=new Array( // ORDER OF APPEARANCE
'welcome'
,'philo'
,'yes'
,'no'
,'us'
,'contact'
,'team'
,'orga'
,'exec'
,'leader'
,'single'
,'face'
,'tel'
,'ecp'
,'legal'
,'news'
);
function defineLayout(){ // VALUES FOR EACH ELEMENT (BGCOLOR, X, Y, WIDTH, HEIGHT,DEFAULTPAGE)
	layout['philo']=new Array('#81a212',Math.floor((getWindowWidth()-xl)/2)-20,Math.floor((getWindowHeight()-xl)/2),xl,xl-20);

	layout['news'] = new Array('#81a212',(layout['philo'][1]-25),(layout['philo'][2]-160),m,m-20,0);
	layout['no'] = new Array('#9abd1d',(layout['philo'][1]-85),(layout['philo'][2]-85),m,m-20,0);
	layout['yes'] = new Array('#a8cc36',(layout['philo'][1]-195),(layout['philo'][2]-123),m,m-20,0);
	
	layout['welcome']=new Array('#85223d',(layout['philo'][1]+80),(layout['philo'][2]+110),l,l-20,0);
	layout['contact'] = new Array('#952d48',(layout['welcome'][1]+170),(layout['welcome'][2]+40),m,m-20,0);
	layout['us'] = new Array('#651a2e',(layout['welcome'][1]+120),(layout['welcome'][2]+95),m,m-20,0);
	
	layout['single'] = new Array('#557e82',(layout['philo'][1]+145),(layout['philo'][2]-97),l,l-20,0);
	layout['face'] = new Array('#4c686a',(layout['single'][1]+160),(layout['single'][2]+90),m,m-20,0);
	layout['tel'] = new Array('#649094',(layout['single'][1]+217),(layout['single'][2]+30),m,m-20,0);
	layout['ecp'] = new Array('#74a0a2',(layout['single'][1]+130),(layout['single'][2]-67),m,m-20,0); // ECP
	
	layout['orga'] = new Array('#557e82',(layout['philo'][1]-140),(layout['philo'][2]+75),l,l-20,0);
	layout['leader'] = new Array('#74a0a2',(layout['orga'][1]-110),(layout['orga'][2]-27),m,m-20,0);
	layout['team'] = new Array('#649094',(layout['orga'][1]-167),(layout['orga'][2]+75),m,m-20,0);
	layout['exec'] = new Array('#4c686a',(layout['orga'][1]-60),(layout['philo'][2]+205),m,m-20,0);

	layout['legal']=new Array('#85223d',(layout['philo'][1]+80),(layout['philo'][2]+110),l,l-20,0);
}

//////////////////////////////
// INIT LAYOUT AND ELEMENTS //
//////////////////////////////

function init() {
	defineLayout();
}
init();

///////////////////////////
// WRITING CUSTOM STYLES //
///////////////////////////
document.write('<style type="text/css"><!-- ');
for (var j=0; j<pngClasses.length; ++j) {
	if (navigator.platform == "Win32" && navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") == -1) {
		if(pngClasses[j] == 'x') {
			document.write('.'+pngClasses[j]+' {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src=\'grfx/'+pngClasses[j]+'.png\',sizingMethod=image;margin-top:4px;}');
		}
		else if(pngClasses[j] == 'rw' || pngClasses[j] == 'fw') {
			document.write('.'+pngClasses[j]+' {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src=\'grfx/'+pngClasses[j]+'.png\',sizingMethod=image;margin-top:2px;}');
		}
		else {
			for (var i = 0; i < layout.length; ++i) {
				if(pngClasses[j]=='content') { // IE ADJUSTMENTS FOR HEIGHT AND "PADDING" OF CONTENTS
					document.write('#'+layout[i]+'Button .content {background-color:'+layout[layout[i]][0]+';height:'+eval(layout[layout[i]][4]-14)+'px;}');
					document.write('#'+layout[i]+' .content {background-color:'+layout[layout[i]][0]+';}');
				}
				else {
					if(pngClasses[j] == 'top_l' || pngClasses[j] == 'top_r') { // TOP_L + TOP_R "SIZINGMETHOD=CROP"
						document.write('#'+layout[i]+'Button .'+pngClasses[j]+' {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src=\'grfx/' + layout[i]+'_'+pngClasses[j] + '.png\',sizingMethod=crop);}');
						document.write('#'+layout[i]+' .'+pngClasses[j]+' {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src=\'grfx/' + layout[i]+'_'+pngClasses[j] + '.png\',sizingMethod=crop;}');
					}
					else if(pngClasses[j] == 'top' || pngClasses[j] == 'bottom') { // TOP + BOTTOM "SIZINGMETHOD=SCALE"
						document.write('#'+layout[i]+'Button .'+pngClasses[j]+' {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src=\'grfx/' + layout[i]+'_'+pngClasses[j] + '.png\',sizingMethod=scale);}');
						document.write('#'+layout[i]+' .'+pngClasses[j]+' {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src=\'grfx/' + layout[i]+'_'+pngClasses[j] + '.png\',sizingMethod=scale;}');
					}
					else { // REST "SIZINGMETHOD=IMAGE"
						document.write('#'+layout[i]+'Button .'+pngClasses[j]+' {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src=\'grfx/' + layout[i]+'_'+pngClasses[j] + '.png\',sizingMethod=image);}');
						document.write('#'+layout[i]+' .'+pngClasses[j]+' {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src=\'grfx/' + layout[i]+'_'+pngClasses[j] + '.png\',sizingMethod=image;}');
					}
				}
			}
		}
	}
	else {
		if(pngClasses[j] == 'x') {
			document.write('.'+pngClasses[j]+' {background-image:url(grfx/'+pngClasses[j]+'.png);background-repeat:no-repeat;margin-top:4px;}');
		}
		else if(pngClasses[j] == 'rw' || pngClasses[j] == 'fw') {
			document.write('.'+pngClasses[j]+' {background-image:url(grfx/'+pngClasses[j]+'.png);background-repeat:no-repeat;margin-top:2px;}');
		}
		else {
			for (var i = 0; i < layout.length; ++i) {
				if(pngClasses[j]=='content') {
					document.write('#'+layout[i]+'Button .content {background-color:'+layout[layout[i]][0]+';}');
					document.write('#'+layout[i]+' .content {background-color:'+layout[layout[i]][0]+';}');
				}
				else {
					document.write('#'+layout[i]+'Button .'+pngClasses[j] + ' {background-image:url(grfx/'+layout[i]+'_'+pngClasses[j]+'.png);}');
					document.write('#'+layout[i]+' .'+pngClasses[j] + ' {background-image:url(grfx/'+layout[i]+'_'+pngClasses[j]+'.png);}');
				}
			}
		}
	}
}
document.write(' --><\/style>');

//////////////////////////
// POSITIONING ELEMENTS //
//////////////////////////
function positionElements() {
	defineLayout();
	for (var i=0; i<layout.length; i++) {
		var x=layout[layout[i]][1];
		var y=layout[layout[i]][2];
		var w=layout[layout[i]][3];
		var h=layout[layout[i]][4];
		var button=layout[i]+'Button';
		if(document.getElementById(button) && button!='legalButton') {
			if (navigator.platform == "Win32" && navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") == -1) {
//				document.getElementById(button).childNodes[0].childNodes[0].childNodes[0].childNodes[0].style.height=h-14+'px';
				document.getElementById(button).childNodes[0].style.width=w+'px';
			}
			else if (navigator.userAgent.indexOf("Opera") != -1) {
				document.getElementById(button).childNodes[1].style.width=w+'px';
				document.getElementById(button).childNodes[1].childNodes[0].childNodes[0].childNodes[0].style.height=h+'px';
			}
			else {
				document.getElementById(button).childNodes[1].style.width=w+'px';
				document.getElementById(button).childNodes[1].childNodes[1].childNodes[0].childNodes[1].style.height=h+'px';
			}
			document.getElementById(button).style.left=x+'px';
			document.getElementById(button).style.top=y+'px';
			setOpacity();
		}
		if(document.getElementById(layout[i])) {
			var leftPos=Math.floor((getWindowWidth()-document.getElementById(layout[i]).offsetWidth)/2);
			var topPos=Math.floor((getWindowHeight()-document.getElementById(layout[i]).offsetHeight)/2);
			document.getElementById(layout[i]).style.left=leftPos+'px';
			document.getElementById(layout[i]).style.top=topPos+'px'; // GET MAX HEIGHT OF COPY DIV IF MORE THAN ONE INSTEAD?
			setOpacity();
		}
	}
	if(document.getElementById('legalButton')) {
		document.getElementById('legalButton').style.left=eval(layout['welcome'][1]+63)+'px';
		if (navigator.platform == "Win32" && navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") == -1) {
			document.getElementById('legalButton').style.top=eval(layout['welcome'][2]+196)+'px';
		}
		else document.getElementById('legalButton').style.top=eval(layout['welcome'][2]+200)+'px';
	}
}

///////////////////////////////////////////
// SET OPACITY AND HIDE "COPY" BUT FIRST //
///////////////////////////////////////////
function setOpacity(){
	for (var t=0; t<layout.length; ++t) {
		if(currentElement!='' && layout[t]!=currentElement) {
			if (navigator.platform == "Win32" && navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") == -1) {
				document.getElementById(layout[t]+'Button').style.filter='Alpha(opacity=25)';
			}
			else document.getElementById(layout[t]+'Button').style.opacity='.25';
		}
		else {
			if (navigator.platform == "Win32" && navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") == -1) {
				document.getElementById(layout[t]+'Button').style.filter='Alpha(opacity=100)';
			}
			else document.getElementById(layout[t]+'Button').style.opacity='1';
		}
		turnPage(layout[t],'');
	}
}

///////////////////////////////////////////////////////////////
// ONLOAD/ONRESIZE: GET ACTUAL WINDOW HEIGHT FOR POSITIONING //
///////////////////////////////////////////////////////////////
function getWindowHeight(){
	if(window.innerHeight) {
		return window.innerHeight;
	}
	else if(document.documentElement && document.documentElement.clientHeight && document.documentElement.clientHeight > 0) {
		return document.documentElement.clientHeight;
	}
	else if(document.body && document.body.offsetHeight) {
		return document.body.offsetHeight; // IE QUIRKS-MODE?
//		return document.body.clientHeight; // HEIGHT OF CONTENT
	}
	return (null);
}
function getWindowWidth(){
	if(window.innerWidth) { // STILL NEEDED FOR WHICH BROWSER/VERSION?
		return window.innerWidth;
	}
	else if(document.documentElement && document.documentElement.clientWidth && document.documentElement.clientWidth > 0) {
		return document.documentElement.clientWidth; // INNER WIDTH
	}
	else if(document.body && document.body.offsetWidth) {
		return document.body.offsetWidth; // IE QUIRKS-MODE?
//		return document.body.clientWidth; // WIDTH OF CONTENT
	}
	return (null);
}

if (window.innerWidth) { // INITIALIZE NS FOR ADJUSTMENTS
//	window.onresize = positionElements();
}

//////////////////////////////////////////
// SWAP CONTENTS AND ADJUST FORMAT ACC. //
//////////////////////////////////////////
var currentCache='';
var currentElement='';
var currentX;
var currentY;
var currentZ;
var maxZ=100;
function swapContent(swapWhich,state) { // ONLY ONE ELEMENT CAN BE OPENED AT THE SAME TIME
	if(state=='off') {
		elementOff(swapWhich);
		currentElement='';
		setOpacity();
	}
	else if(state=='on' && currentElement=='') {
		currentElement=swapWhich;
		setOpacity();
		elementOn(swapWhich);
	}
	else if(state=='on' && currentElement!='' && currentElement!=swapWhich) {
		elementOff(currentElement);
		currentElement=swapWhich;
		setOpacity();
		elementOn(swapWhich);
	}
}
function elementOn(whichOn) {
	currentZ = document.getElementById(whichOn).style.zIndex;
	document.getElementById(whichOn).style.zIndex=maxZ;
	document.getElementById(whichOn+'Button').style.visibility='hidden';
	document.getElementById(whichOn).style.visibility='visible';
}
function elementOff(whichOff) {
	document.getElementById(whichOff).style.visibility='hidden';
	document.getElementById(whichOff+'Button').style.visibility='visible';
	document.getElementById(currentElement).style.zIndex=currentZ;
	layout[whichOff][5] = 0;
}

////////////////////////
// SWAP BUTTON-IMAGES //
////////////////////////
function swapButton(whichButton,status) {
	if (navigator.platform == "Win32" && navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") == -1) {
		if(status == 'over') whichButton.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src=\'grfx/'+whichButton.className+'_1.png\',sizingMethod=image)';
		else  whichButton.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src=\'grfx/'+whichButton.className+'.png\',sizingMethod=image)';
	}
	else {
		if(status == 'over') whichButton.style.backgroundImage='url(grfx/'+whichButton.className+'_1.png)';
		else whichButton.style.backgroundImage='url(grfx/'+whichButton.className+'.png)';
	}
}

///////////////////////////////////
// GET "COPY" ARRAY BY CLASSNAME //
///////////////////////////////////
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);
}

//////////////////////
// INIT + TURN PAGE //
//////////////////////
function turnPage(whichone,direction) {
	var getPages = getElementsByClass('copy',document.getElementById(whichone),'div');
	if (navigator.platform == "Win32" && navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") == -1) {
		var rw = document.getElementById(whichone).childNodes[0].childNodes[0].childNodes[2].childNodes[1].childNodes[0];
		var fw = document.getElementById(whichone).childNodes[0].childNodes[0].childNodes[2].childNodes[1].childNodes[1];
	}
	else if (navigator.userAgent.indexOf("Opera") != -1) {
		var rw = document.getElementById(whichone).childNodes[1].childNodes[0].childNodes[2].childNodes[1].childNodes[1];
		var fw = document.getElementById(whichone).childNodes[1].childNodes[0].childNodes[2].childNodes[1].childNodes[3];
	}
	else {
		var rw = document.getElementById(whichone).childNodes[1].childNodes[1].childNodes[2].nextSibling.nextSibling.childNodes[1].nextSibling.nextSibling.childNodes[1];
		var fw = document.getElementById(whichone).childNodes[1].childNodes[1].childNodes[2].nextSibling.nextSibling.childNodes[1].nextSibling.nextSibling.childNodes[3];
	}
	if(direction == '' && getPages.length >=2) {
		for(var e=0; e<getPages.length; ++e) {
			if(e==0) {
				getPages[e].style.display = 'block';
				fw.style.display='block';
				rw.style.display='none';
			}
			else getPages[e].style.display = 'none';
		}
	}
	else if(direction!='') {
		var defaultPage=layout[whichone][5];
		getPages[layout[whichone][5]].style.display = 'none';
		layout[whichone][5] = direction+defaultPage;
		getPages[layout[whichone][5]].style.display = 'block';
		if(eval(layout[whichone][5]-1)<0) {
			rw.style.display='none';
		}
		else {
			rw.style.display='block';
		}
		if(eval(layout[whichone][5]+1) == getPages.length) {
			fw.style.display='none';
		}
		else {
			fw.style.display='block';
		}
	}
}

//////////////////
// SUBMIT FORMS //
//////////////////
function submitForm(formname) {
	if(document.getElementById(formname)) {
		document.getElementById(formname).submit();
	}
	else document.forms[formname].submit();
}

