// ==========================================================================			 
// carica le pagine da inserire  
// ==========================================================================

 
var completeahahMenu = {

	loading : '',

	ahahMenu : function (url5, target5, delay5, method5, parameters5) {

	  if ( ( method5 == undefined ) || ( method5 == "GET" ) || ( method5 == "get" ) ){
			
			this.creaDIV(target5, this.loading);
			
			if (window.XMLHttpRequest) {
				req5 = new XMLHttpRequest();
			} 
			else if (window.ActiveXObject) {
				req5 = new ActiveXObject("Microsoft.XMLHTTP");
			}
			if (req5) {
				req5.onreadystatechange = function() {
					completeahahMenu.ahahMenuDone(url5, target5, delay5, method5, parameters5);
				};
				req5.open(method5, url5, true);
				req5.send("");
			}
		}
		if ( (method5 == "POST") || (method5 == "post") ){

			this.creaDIV(target5, this.loading);

			if (window.XMLHttpRequest) {
				req5 = new XMLHttpRequest();
			} 
			else if (window.ActiveXObject) {
				req5 = new ActiveXObject("Microsoft.XMLHTTP");
			}
			if (req5) {
				req5.onreadystatechange = function() {
					completeahahMenu.ahahMenuDone(url5, target5, delay5, method5, parameters5);
				};
				req5.open(method5, url5, true);
				req5.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				req5.send(parameters5);
			 }
		}
	},
	
	creaDIV : function (target5, html5){

	   if (document.body.innerHTML){
			   document.getElementById(target5).innerHTML = html5;
	   }
	   else if (document.getElementById){
			   var element5 = document.getElementById(target5);
			   var range5 = document.createRange();

			   range5.selectNodeContents(element5);
			   range5.deleteContents();
			   element5.appendChild(range5.createContextualFragment(html5));

	   }
	},

	execJS : function (node5) {

		var st5 = node5.getElementsByTagName('SCRIPT');
		var strExec5;

		var bSaf5 = (navigator.userAgent.indexOf('Safari') != -1);
		var bOpera5 = (navigator.userAgent.indexOf('Opera') != -1);
		var bMoz5 = (navigator.appName == 'Netscape');

		for(var i5=0;i5<st5.length; i5++) {     
			if (bSaf5) {
			  strExec5 = st5[i5].innerHTML;
			}
			else if (bOpera5) {
			  strExec5 = st5[i5].text;
			}
			else if (bMoz5) {
			  strExec5 = st5[i5].textContent;
			}
			else {
			  strExec5 = st5[i5].text;
			}
			try {
			  eval(strExec5);
			} catch(e5) {
			  alert(e5);
			}
		}

	},	

	ahahMenuDone : function (url5, target5, delay5, method5, parameters5) {		
		if (req5.readyState == 4) { 
			element5 = document.getElementById(target5);
			if (req5.status == 200) {

				//this.creaDIV(target, req.responseText);
				output5 = req5.responseText;
				document.getElementById(target5).innerHTML = output5;
				var j5 = document.createElement("div");
				j5.innerHTML = "_" + output5 + "_";
				this.execJS(j5);

			} 		
			else {
				this.creaDIV(target5, "[error:\n"+req5.statusText+"]");
			}
		}
	},

	/*

	@@ parameters : 
	fileName	= name of your cgi or other
	method		= GET or POST, default is GET
	formName	= name of your form
	dynamicTarget	= name of your dynamic Target DIV or other

	@@ usage : 
	<form id="formName" action="javascript:completeAHAH.likeSubmit('fileName', 'method', 'formName', 'dynamicTarget');">

	*/

	likeSubmit : function ( file5, method5, formName5, target5 ) {

		var the_form5 = document.getElementById(formName5);
		var num5 = the_form5.elements.length;
		var url5 = "";
		var radio_buttons5 = new Array();
		var nome_buttons5 = new Array();
		var check_buttons5 = new Array();
		var nome_buttons5 = new Array();


		// submit radio values
		var j5 = 0;
		var a5 = 0;
		for(var i5=0; i5<the_form5.length; i5++){
			var temp5 = the_form5.elements[i5].type;
			if ( (temp5 == "radio") && ( the_form5.elements[i5].checked) ) { 
				nome_buttons5[a5] = the_form5.elements[i5].name;
				radio_buttons[j5] = the_form5.elements[i5].value; 
				j5++; 
				a5++;
			}
		}
		for(var k5 = 0; k5 < radio_buttons5.length; k5++) {
			url5 += nome_buttons5[k5] + "=" + radio_buttons5[k5] + "&";
		}

		// submit checkbox values
		var j5 = 0;
		var a5 = 0;
		for(var i5=0; i5<the_form5.length; i5++){
			var temp5 = the_form5.elements[i5].type;
			if ( (temp5 == "checkbox") && ( the_form5.elements[i5].checked) ) { 
				nome_buttons5[a5] = the_form5.elements[i5].name;
				check_buttons5[j5] = the_form5.elements[i5].value; 
				j5++; 
				a5++;
			}
		}
		for(var k5 = 0; k5 < check_buttons5.length; k5++) {
			url5 += nome_buttons5[k5] + "=" + check_buttons[k5] + "&";
		}

		// submit all kind of input		
		for (var i5 = 0; i5 < num5; i5++){	
			var chiave5 = the_form5.elements[i5].name;
			var valore5 = the_form5.elements[i5].value;
			var tipo5 = the_form5.elements[i5].type;

			if ( (tipo5 == "submit") || (tipo5 == "radio") || (tipo5 == "checkbox") ){}
			else {
				url5 += chiave5 + "=" + valore5 + "&";
			}
		}

		var parameters5 = url5;
		url5 = file5 + "?" + url5;

		if (method5 == undefined) { 
			method5 = "GET"; 	
		}
		if (method5 == "GET") { 
			this.ahahMenu(url5, target5, '', method5, ''); 
		}
		else { 
			this.ahahMenu(file5, target5, '', method5, parameters5); 
		}
	}

};
