// Javascript function
/*window.onload= function(){
	initOnLoad();
	init();
}
*/
window.addEvent('domready', function(){
	initOnLoad();
	init();
});


var oCont;//main cont div
var loading;
var currentPage;
var oMySelectedMainnav; //keep the last selected active nav
var oMySelectedSubnav;
var aMyMainLinks = new Array(); // to store on init all the main link that need active class. They must be set with class="lev1 AjaxLink"
var aMySubLinks = new Array();
var aAllLinks = new Array();
var aSubLinks = new Array();
var _selectedParentIndexs = -1;
function initOnLoad(){
	oCont=$("cont");
	/////
	tempSubLinks = $$('a.lev1');
	oMySelectedMainnav=tempSubLinks[0];
	for (var i=0;i<tempSubLinks.length;i++){
		if (tempSubLinks[i].getNext()){
			tempSubLinks[i].getNext().setStyles({display:"block"});
			aSubLinks['sub_'+(i+1)] = new Fx.Slide(tempSubLinks[i].getNext(), {start:false, duration: 500, onComplete:loadContent});
			aSubLinks['sub_'+(i+1)].hide();
		}else{
			aSubLinks['sub_'+(i+1)] = null;
		}
	}
	/////
	//
	$("cont").setStyles("display:none;");
	fnSetAjaxLinks("document");
	var template=window.location.hash.toString().substr(1);
	if (template==undefined||template=="") template="index.html";
	fnLoadPage(template);
	//
	/*if (window.ie) {
		var iframe=document.createElement("iframe");
		iframe.id="historyFrame";
		iframe.style.width="1px";
		iframe.style.height="1px";
		iframe.src="blank.html";
		document.body.appendChild(iframe);
	}*/
	/*var checkHashInterval=setInterval(function(){
		var template=window.location.hash.toString().substr(1);
		if (template==undefined||template=="") template="index.html";
		fnLoadPage(template);
	},500);*/
}
function parseURL(url){
	var loc=url;
	var p=loc.substr(0,loc.lastIndexOf(".html")+4);
	p=p.substr(p.lastIndexOf("?")+1);
	window.location.hash=p;
}
function fnLoadPage(sPageUrl){
	if(currentPage==sPageUrl) return;
	currentPage=sPageUrl;
	if (loading==true) return;
	loading=true;
	/******************************************************************************************/
	if(String(aMyMainLinks[sPageUrl])!=="undefined"){
		if(aMyMainLinks[sPageUrl].bVal){
			oMyLink=aMyMainLinks[sPageUrl].oLink;
			$(oMyLink).className+=" active";
			if($(oMySelectedMainnav)) $(oMySelectedMainnav).className=$(oMySelectedMainnav).className.replace(" active", "");;
			oMySelectedMainnav=oMyLink;
			if (oMyLink.className.indexOf("lev2")!==-1) {
				var parent = oMyLink.parentNode.parentNode.parentNode.parentNode.firstChild;
				parent.className += " active";
				document.selectedParentMenu = parent;
			} else {
				///// IN PARENT CASE
				if (_selectedParentIndexs != oMyLink.indexs){
					if (aSubLinks['sub_'+_selectedParentIndexs]) aSubLinks['sub_'+_selectedParentIndexs].slideOut();
					if (aSubLinks['sub_'+oMyLink.indexs]) aSubLinks['sub_'+oMyLink.indexs].slideIn();
					if (!aSubLinks['sub_'+oMyLink.indexs] && !aSubLinks['sub_'+_selectedParentIndexs]) {
						loadContent();
					}
					_selectedParentIndexs = oMyLink.indexs;
				} else {
					loadContent();
				}
				/////
				document.selectedParentMenu = null;
			}
		}
	}
	if(String(aMySubLinks[sPageUrl])!=="undefined"){
		if(aMySubLinks[sPageUrl].bVal){
			oMyLink=aMySubLinks[sPageUrl].oLink;
			oMyLink.className+=" active";
			if($(oMySelectedSubnav)) $(oMySelectedSubnav).className=$(oMySelectedSubnav).className.replace(" active", "");
			oMySelectedSubnav=oMyLink;
			//
			var oMyParentLink = $(oMyLink).getParent().getParent().getParent().getPrevious();
			if (aSubLinks['sub_'+oMyParentLink.indexs]) {
				aSubLinks['sub_'+oMyParentLink.indexs].slideIn();
				_selectedParentIndexs = oMyParentLink.indexs;
				//
				oMyParentLink.className+=" active";
				if(String(oMySelectedMainnav)!=="undefined"){
					$(oMySelectedMainnav).className=$(oMySelectedMainnav).className.replace(" active", "");;
				}
				oMySelectedMainnav=oMyParentLink;
			} else {
				loadContent();
			}
		}
	} else {
		if($(oMySelectedSubnav)) {
			$(oMySelectedSubnav).className=$(oMySelectedSubnav).className.replace(" active", "");
			oMySelectedSubnav=undefined;
		}
		loadContent();
	}
	/******************************************************************************************/
}
function loadContent(){
	$('loadingPanel').setStyle("display", "block");
	$("cont").setStyle("opacity",0.25);
	//
	var sPageUrl = currentPage;
	var cp = new cpaint();
	cp.set_transfer_mode('get');
	cp.set_response_type('text');

	cp.call('ajaxindex.php?nav1=template','LoadTemplate', LoadTemplateCallBack,sPageUrl);
	//cp.call('ajaxindex.php?nav1=template','SendEmailAndLoadTemplate', LoadTemplateCallBack,sPageUrl,lastname,.....);
}

function LoadTemplateCallBack(result){
	loading= false;
	content = result;
	
	var sPageUrl = currentPage;
	if(sPageUrl=="index.php"){
		document.body.id="home";
	}
	else if(sPageUrl=="index.html"){
		document.body.id="home";
	}	
	else if(sPageUrl=="gerants.html"){
		document.body.id="gerant";

	}
	else if(sPageUrl=="philosophie.html"){
		document.body.id="philosophie";
	}

	else if(sPageUrl=="contact_form.html" || sPageUrl=="mentions.html" || sPageUrl=="press.html" || sPageUrl=="contact_cree.html"){
		document.body.id="contact";
	}
	else if(sPageUrl=="fonds.html" || sPageUrl=="fonds_souscrire.html" || sPageUrl=="fonds_conseil.html" || sPageUrl=="fonds_guide.html"){
		document.body.id="fonds";
	}
	else if(sPageUrl=="login.html" || sPageUrl=="login.html" || sPageUrl=="login.html"){
		document.body.id="login";
	}
	else {
		document.body.id="";
	}
	
	$("cont").setHTML(content);
	$("cont").setStyles("{display:block;}");
	$("cont").setStyle("opacity",1);
	$('loadingPanel').setStyles("{display:none;}");
	fnSetAjaxLinks("cont");
	
	var page = sPageUrl;
	page = page.replace(".html", "" );
	
	var pageTracker = _gat._getTracker("UA-9456296-2");
	pageTracker._initData();
	pageTracker._setDomainName(".eres-gestion.com");
	//pageTracker._setAllowLinker(true);
	//console.log("/"+page);
	pageTracker._trackPageview("/"+page);
	
	
	//
	//
	/*if (window.ie) {
		$("historyFrame").src="blank.html?"+sPageUrl;
	}
	window.location.hash=sPageUrl;*/
	// execute javascript included.
	parseScript(content);
	
	
}

//
function parseScript(str){
	var re1=new RegExp("\<script[a-z\"\/\= ]*\>","i"), re2=new RegExp("\<\/script>","i");
	var startScript=str.split(re1);
	var endScript=-1, scriptStr="";
	for(j=0;j<startScript.length;j++){
		endScript=startScript[j].search(re2);
		scriptStr=startScript[j].substr(0,endScript).trim();
		if (scriptStr!="") eval(scriptStr);
	}
}
//
function fnSetAjaxLinks(sMyObj){
	
	if(sMyObj=="document"){
		aAllLinks=document.getElementsByClassName('AjaxLink');
	} else {
		aAllLinks=oCont.getElementsByTagName("A");
	}
	var linkCount = 1;
	//alert(aAllLinks.length);
	for(i=0;i<aAllLinks.length;i++){
		var oMyLink=aAllLinks[i];
		if(oMyLink.className.indexOf("AjaxLink")!==-1){
			var sGetLink=oMyLink.pathname;
			var aGetLink=sGetLink.split("/");
			sGetLink=aGetLink[aGetLink.length-1];
			oMyLink.href="javascript:void(0);";
			if (oMyLink.className.indexOf("lev1")!==-1) {
				oMyLink.indexs = linkCount;
				linkCount++;
			}
			oMyLink.sGetLink= sGetLink;
			oMyLink.onclick=function(){
				//
				/*if (window.ie) {
					$("historyFrame").src="blank.html?"+this.sGetLink;
				}
				window.location.hash=this.sGetLink;*/
				//alert(this.sGetLink);
				fnLoadPage(this.sGetLink);
			}
			//
			if (oMyLink.className.indexOf("lev1")!==-1) {
				aMyMainLinks[sGetLink]= new Object();
				aMyMainLinks[sGetLink].bVal=true;
				aMyMainLinks[sGetLink].oLink=oMyLink;
			}
			//
			if (oMyLink.className.indexOf("lev2")!==-1) {
				aMySubLinks[sGetLink]= new Object();
				aMySubLinks[sGetLink].bVal=true;
				aMySubLinks[sGetLink].oLink=oMyLink;
			}
		}
	}
}
//
function getIFrameDocument() {
	var historyFrame=document.getElementById("historyFrame");
	var doc=historyFrame.contentDocument;
	if (doc==undefined) doc=historyFrame.contentWindow.document;
	return doc;
}

function sessionExists() {
	var doc=getIFrameDocument();
	try {
		if (doc.body.innerHTML=="") return false;
		else return true;
	}
	catch (exp) {
		// sometimes an exception is thrown if a
		// value is already in the iframe
		return true;
	}
}

function saveState(message) {
	// now write out the new contents
	var doc = getIFrameDocument();
	doc.open();
	doc.write(message);
	doc.close();
}