var lastLoaded = document.location.href;

function loadContent(evt){
	if(!document.addEventListener){
		evt  = window.event;
		evt.target = evt.srcElement;
		evt.returnValue = false;
	} else {
		evt.preventDefault();
	}

	if(evt.target.tagName != "A"){
		src = evt.target.parentNode.getAttribute("href");
		lastLoaded = src;
	} else {
		src = evt.target.getAttribute("href");
		lastLoaded = src
	}
	loadContentStr(src);

	return false;
}

function form2Ajax(){
	formAr = document.getElementsByTagName("form");
	for(i=0; formAr[i]; i++){
		if(formAr[i].getAttribute("name") != "ffu" && formAr[i].getAttribute("name") != "login" && formAr[i].getAttribute("name") != "frmPartAdh"){
			if(document.addEventListener){
				formAr[i].addEventListener("submit", submitForm, false);
			} else {
				formAr[i].attachEvent("onsubmit", submitForm); 
			}
		}
	}
	if(formAr.length > 1){
		setAllRestraints(); 
		signupFrmAutoValidate();
	}
	
}

function loadContentStr(src){
	//alert("load attempt");
	var xmlHttpReq = false;
	if (window.XMLHttpRequest) {
		xmlHttpReq = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if(!src.match(/\?/)){
		src += "?ajax=1";
	} else {
		src += "&ajax=1";
	}

	xmlHttpReq.open('GET', src+"?ajax=1", true);
	xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlHttpReq.onreadystatechange = function() { 
		if (xmlHttpReq.readyState == 4) {
			if(src.match("logout.php")){ doLogout(); } 
			else { document.getElementById("contentZone").innerHTML = xmlHttpReq.responseXML.getElementsByTagName("data")[0].firstChild.nodeValue; }
			replaceAnchors();
		}
	}
	xmlHttpReq.send(null); 

	return false;
}

function replaceAnchors(){		
	aAr = document.getElementsByTagName("a");		
	
	for(i=0; aAr[i]; i++){
		if(document.addEventListener){	
			if(!aAr[i].getAttribute("href").match("/") && (aAr[i].getAttribute("href").match(".html") || aAr[i].getAttribute("href").match(".php"))  ){
				//aAr[i].removeEventListener("click", loadContent, false);
				aAr[i].addEventListener("click", loadContent, false);
			}
		} else {
			if(aAr[i].getAttribute("href").match("localhost") || aAr[i].getAttribute("href").match("jonathan") || aAr[i].getAttribute("href").match("percenautic.com") || aAr[i].getAttribute("href").match("percenautic.ca") && (aAr[i].getAttribute("href").match(".html") || aAr[i].getAttribute("href").match(".php"))  ){
				aAr[i].detachEvent("onclick", loadContent);
				aAr[i].attachEvent("onclick", loadContent);
			}
		}
		
	}

	form2Ajax();

}

function submitForm(evt){		// We'll always use POST
	if(!document.addEventListener){
		evt  = window.event;
		evt.target = evt.srcElement;
	} else {
		evt.preventDefault();
	}

	query = "";
	for(i=0; evt.target.elements[i]; i++){
		query += "&"+evt.target.elements[i].getAttribute("name")+"="+escape(evt.target.elements[i].value);
	}

	var xmlHttpReq = false;
	if (window.XMLHttpRequest) {
		xmlHttpReq = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}

	xmlHttpReq.open('POST', evt.target.action+"?ajax=1", true);
    xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlHttpReq.onreadystatechange = function() { 
		if (xmlHttpReq.readyState == 4) {
			if(evt.target.getAttribute("name") == "loginForm" || evt.target.getAttribute("name") == "pageLoginForm"){
				if(xmlHttpReq.responseXML.getElementsByTagName("logged")[0].firstChild.nodeValue == "O"){
					evt.target.reset();
					showLogged();
				} else {
					document.getElementById("contentZone").innerHTML = xmlHttpReq.responseXML.getElementsByTagName("logged")[0].firstChild.nodeValue;	
				}
			} else {
				document.getElementById("contentZone").innerHTML = xmlHttpReq.responseXML.getElementsByTagName("data")[0].firstChild.nodeValue;		
			}
			form2Ajax();
		}
	}
	
    xmlHttpReq.send(query);

	return false;

}

function showLogged(){		
	document.getElementById("loginBox").style.display  = "none";
	document.getElementById("logoutBox").style.display = "";
	loadContentStr(lastLoaded);
}

function doLogout(){
	document.getElementById("loginBox").style.display  = "";
	document.getElementById("logoutBox").style.display = "none";
}

function prodDetail(which){
	// need some way to get back to where we were in the list...
	document.location.href = "prodDetail.php?which="+which;
}



//onMouseOver="MM_showMenu(window.mm_menu_piscine,0,35,null,'menu_piscine')" onMouseOut="MM_startTimeout();"


function fixFlash(){
  if (document.getElementsByTagName) {
      var objs = document.getElementsByTagName("object");
      for (i=0; i<objs.length; i++) {
        objs[i].outerHTML = objs[i].outerHTML;
      }
   }
}

if(!document.addEventListener){
	window.attachEvent("onload", fixFlash);
}
