  var strBrowser=navigator.appName;
  if (navigator.userAgent.toLowerCase().indexOf("applewebkit/")!= -1){
    strBrowser="wk";
  }else if (strBrowser=='Microsoft Internet Explorer'){
    strBrowser="ie";
  }else if (strBrowser=='Konqueror'){
    strBrowser="ko";
  }else{
    strBrowser="ff";
  };

  function getElementValue(xmlDoc, strName){
      if (strBrowser=='ie'){
        try{ 
          return xmlDoc.getElementsByTagName(strName).item(0).text;
        }catch(e){
          return "";
        }
      }else if ((strBrowser=='ko') || (strBrowser=='wk')){
        try{ 
          return xmlDoc.getElementsByTagName(strName).item(0).firstChild.nodeValue;
        }catch(e){
          return "";
        }
      }else{
        try{ 
          return xmlDoc.getElementsByTagName(strName)[0].textContent;
        }catch(e){
          return "";
        }
      }
  };
  function XMLDoc(strXML){
    if (document.implementation.createDocument){ 
      var parser = new DOMParser(); 
      var xmldoc = parser.parseFromString(strXML, "text/xml"); 
    }
    else if (window.ActiveXObject) { 
      var xmldoc = new ActiveXObject("Microsoft.XMLDOM");   
      //xmldoc.async=false;
      xmldoc.loadXML(strXML);                                     
    }
    return xmldoc;
  };
  function fnKy(nV){
    return nV.replace(".", "");
  };
  function jsHttpPost(sUrl, strXML){
    var xmlhttp=false;
    var sR;
    sR='';
    try{
		  try {
			  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		  } catch (e) {
			  try {
			    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			  } catch (e) {}
		  }
    }catch (e) {
      xmlhttp = false;
    }
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') { //firefox e altri
      xmlhttp = new XMLHttpRequest();
      xmlhttp.open("POST", sUrl,false);
      xmlhttp.send(strXML);
      sR=xmlhttp.responseText;
      return sR;
    }
    else{                                                 //internet explorer
      xmlhttp.open("POST", sUrl,false);
      xmlhttp.send(strXML); 
      return xmlhttp.ResponseText;
    }
  };

  function caricaComuni_Ky(strFieldProvincia, strFieldComune){
    var sHTML;
    var listField;
    var strWHERE;
    var strXML;
    
    if (document.getElementById(strFieldProvincia).value.length>0){
      listField=document.getElementById(strFieldComune);
      listField.length=0;
      strWHERE="Province_Ky=" + document.getElementById(strFieldProvincia).value;
      strXML="<db><rs><st>frk_Read<\/st><tb>Comuni<\/tb><ky>Comuni_Ky<\/ky><whr>" + strWHERE + "<\/whr><ord>Comuni_Comune<\/ord><fields>Comuni_Ky,Comuni_Comune<\/fields><\/rs><\/db>";
      strXML=jsHttpPost("/frk/db/SQLServer/frkStoreExecute.asp",strXML);
      var xmldoc=XMLDoc(strXML);
      var db = xmldoc.getElementsByTagName("rs");
      var len = listField.length++; 
      listField.options[len].value = '';
      listField.options[len].text = 'Qualsiasi'; 
      for(var i = 0; i < db.length; i++) {
        var len = listField.length++; 
        var e = db[i];
        listField.options[len].value = fnKy(getElementValue(e,"Comuni_Ky"));
        listField.options[len].text = getElementValue(e,"Comuni_Comune");
      }
    }
  };  
  function MM_validateForm() { //v4.0
    if (document.getElementById){
      var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
      for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
        if (val) { nm=val.name; if ((val=val.value)!="") {
          if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
            if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
          } else if (test!='R') { num = parseFloat(val);
            if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
            if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
              min=test.substring(8,p); max=test.substring(p+1);
              if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
        } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
      } if (errors) alert('The following error(s) occurred:\n'+errors);
      document.MM_returnValue = (errors == '');
  } }

