var geoajax={ajaxurl:'/geoajax.jsp', 
	showHideField:function(idN,come) {
		var el
		//el = document.getElementById("label"+idN);
		//el.style.visibility = come;
		el = document.getElementById("sel"+idN);
		el.innerHTML = "";
		el.style.visibility = come;
		
	},
	getRequestObject:function(){

	var req=null;
	if(typeof XMLHttpRequest!="undefined")
		req=new XMLHttpRequest();
	if(!req&&typeof ActiveXObject!="undefined"){
		try{
			req=new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e){
			try{
				req=new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e2){
				try{
					req=new ActiveXObject("Msxml2.XMLHTTP.4.0");
				} catch(e3){
					req=null;
				}
			}
		}
	}
	if(!req&&window.createRequest)
		req=window.createRequest();
	return req;
},
	getFromServer:function(){
		
	var i,xmlhttp,postData, value, url;
	
	url = arguments[0];
	if(document.body)
		document.body.style.cursor='wait';
	window.status='Sending Request...';
	postData="s=x";
	if(arguments.length > 1){
		for(i=1;i <arguments.length;i++){
			value=arguments[i];
			postData+="&xargs="+encodeURIComponent(value);
		}
	}
	xmlhttp=this.getRequestObject();
	if(!xmlhttp)
		return false;
	xmlhttp.open("POST",url,false);
	xmlhttp.setRequestHeader("Method","POST "+url+" HTTP/1.1");
	xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	window.status='Waiting for data...';
	xmlhttp.send(postData);
	if(xmlhttp.status==0||xmlhttp.status==200){
		document.body.style.cursor='default';
		window.status='Done';
		ris = xmlhttp.responseText;
	} else {
		document.body.style.cursor='default';
		window.status='Invalid XML response error';
		ris = "";
	}	
	delete xmlhttp;
	return ris;
    },    
	cambiaComuni:function() {

	    //arg[0]=iddiv, id del <div> dove andra' a essere creata la select
	    //arg[1]=filtro, filtro x la query
	    //arg[2]=idhidval, id campo nascosto che conterra' il value
	    //arg[3]=idnewselect, id select che verra' creata
	    //arg[4]=idhdesc, id campo nascosto che conterra' eventualmente la description
	    //arg[5]=idhvalue, value campo nascosto (idhidval)
		var el;


		if (arguments[1] == "") {
			//this.showHideField('Comune','hidden');
		} else {
			//this.showHideField('Comune','visible');
			el = document.getElementById(arguments[0]);
			if (arguments.length ==6)
			   el.innerHTML = this.getFromServer(this.ajaxurl,'comuni',arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);
			else if (arguments.length ==5)
			   el.innerHTML = this.getFromServer(this.ajaxurl,'comuni',arguments[1],arguments[2],arguments[3],arguments[4]);
			else
			   el.innerHTML = this.getFromServer(this.ajaxurl,'comuni',arguments[1],arguments[2],arguments[3]);
		}
		//document.getElementById(arguments[2]).value ="";
	},
	cambiaProvince:function() {

	    //arg[0]=iddiv, id del <div> dove andra' a essere creata la select
	    //arg[1]=filtro, filtro x la query
	    //arg[2]=idhidval, id campo nascosto che conterra' il value
	    //arg[3]=idnewselect, id select che verra' creata
	    //arg[4]=idhdesc, id campo nascosto che conterra' eventualmente la description
	    //arg[5]=idhvalue, value campo nascosto (idhidval)
		var el;


		if (arguments[1] == "") {
			//this.showHideField('Comune','hidden');
		} else {
			//this.showHideField('Comune','visible');
			el = document.getElementById(arguments[0]);
			if (arguments.length ==6)
			   el.innerHTML = this.getFromServer(this.ajaxurl,'province',arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);
			else if (arguments.length ==5)
			   el.innerHTML = this.getFromServer(this.ajaxurl,'province',arguments[1],arguments[2],arguments[3],arguments[4]);
			else
			   el.innerHTML = this.getFromServer(this.ajaxurl,'province',arguments[1],arguments[2],arguments[3]);
		}
		//document.getElementById(arguments[2]).value ="";
	},
	updateComune:function() {
	   //arg[0]=iddest, id campo nascosto che conterra' il value
	   //arg[1]=idselect, id della select generata
	   //agr[2]=iddesc, id campo nascosto che conterra' eventualmente la description
       document.getElementById(arguments[0]).value =document.getElementById(arguments[1]).value;
       if (arguments.length >2){
          document.getElementById(arguments[2]).value = document.getElementById(arguments[1]).options[document.getElementById(arguments[1]).selectedIndex].text;
       }



	},
	updateProvincia:function() {
	   //arg[0]=iddest, id campo nascosto che conterra' il value
	   //arg[1]=idselect, id della select generata
	   //agr[2]=iddesc, id campo nascosto che conterra' eventualmente la description
       document.getElementById(arguments[0]).value =document.getElementById(arguments[1]).value;
       if (arguments.length >2){
          document.getElementById(arguments[2]).value = document.getElementById(arguments[1]).options[document.getElementById(arguments[1]).selectedIndex].text;
       }
          

	},
	initComuni:function(idpriselect){
	   //prende l'onchange della select dalla pagina jsp di partenza, lo parsa
	   //e riutilizza i parametri
	   if (document.getElementById(idpriselect).value !=""){
	      var args=new String(document.getElementById(idpriselect).onchange);
	      var i=args.indexOf("(",25);
	      var j=args.indexOf(")",i);
	      args= new String(args.substring(i+1,j));
	      args=args.replace(/\"/g,"");
	      args=args.replace(/\.id/g,"");
	      args=args.replace(/ /g,"");
	      var parms=args.split(",");
	   
	      if (parms.length>4)
	         this.cambiaComuni(parms[0],document.getElementById(idpriselect).value,parms[2],parms[3],parms[4],document.getElementById(parms[2]).value);
	      else
	         this.cambiaComuni(parms[0],document.getElementById(idpriselect).value,parms[2],parms[3],document.getElementById(parms[2]).value);

	   }

	},
	initProvince:function(idpriselect){
	   //prende l'onchange della select dalla pagina jsp di partenza, lo parsa
	   //e riutilizza i parametri
	   if (document.getElementById(idpriselect).value !=""){
	      var args=new String(document.getElementById(idpriselect).onchange);
	      var i=args.indexOf("(",25);
	      var j=args.indexOf(")",i);
	      args= new String(args.substring(i+1,j));
	      args=args.replace(/\"/g,"");
	      args=args.replace(/\.id/g,"");
	      args=args.replace(/ /g,"");
	      var parms=args.split(",");
	   
	      if (parms.length>4)
	         this.cambiaProvince(parms[0],document.getElementById(idpriselect).value,parms[2],parms[3],parms[4],document.getElementById(parms[2]).value);
	      else
	         this.cambiaProvince(parms[0],document.getElementById(idpriselect).value,parms[2],parms[3],document.getElementById(parms[2]).value);
	     
	   }
	   
	}
	
}	
