﻿/* INIZIO FUNZIONE CHE CREA LE FORM HTML DINAMICAMENTE */
function PostData(to, p) {
    var myForm = document.createElement("form");
    myForm.method = "post";
    myForm.action = to;
    for (var k in p) {
        var myInput = document.createElement("input");
        myInput.setAttribute("name", k);
        myInput.setAttribute("value", p[k]);
        myForm.appendChild(myInput);
    }
    document.body.appendChild(myForm);
    myForm.submit();
    document.body.removeChild(myForm);
}
/* FINE FUNZIONE CHE CREA LE FORM HTML DINAMICAMENTE */

/* INIZIO FUNZIONE CERCA */
function Cerca(Variabili){
    var ChiaveRicerca = document["formRicerca"].elements["ChiaveRicerca"].value;
    Variabili = Variabili.replace("R=,","");
    Variabili = Variabili.replace(",R=","");
    Variabili = Variabili.replace("R=","");
    if (ChiaveRicerca != ""){
        if (Variabili == ""){
            Variabili = Variabili + "R="
        }else{
            Variabili = Variabili + ",R="
        }
        document.location.href = "ricerca_locations.aspx?Variabili=" + Variabili + "&ChiaveRicerca=" + ChiaveRicerca;
    }else{
        document.location.href = "ricerca_locations.aspx?Variabili=" + Variabili
    }
}
/* FINE FUNZIONE CERCA */

/* INIZIO FUNZIONE CERCA DA CHIAVE RICERCA */
function Cerca2(Variabili){
    var ChiaveRicerca = document["mainForm"].elements["ChiaveRicerca"].value;
    Variabili = Variabili.replace("R=,","");
    Variabili = Variabili.replace(",R=","");
    Variabili = Variabili.replace("R=","");
    if (ChiaveRicerca != ""){
        if (Variabili == ""){
            Variabili = Variabili + "R="
        }else{
            Variabili = Variabili + ",R="
        }
        document.location.href = "ricerca_locations.aspx?Variabili=" + Variabili + "&ChiaveRicerca=" + ChiaveRicerca;
    }else{
        document.location.href = "ricerca_locations.aspx?Variabili=" + Variabili
    }
}
/* FINE FUNZIONE CERCA DA CHIAVE RICERCA */

/* INIZIO DETECT PRESSIONE TASTO INVIO */
function CheckInvio(e, Variabili, ChiaveRicerca){
    var CodiceTasto
    e = event
    CodiceTasto = e.keyCode //character code is contained in IE's keyCode property
    
    if(CodiceTasto == 13){ //if generated character code is equal to ascii 13 (if enter key)
        //Variabili = Variabili.replace("R=,","");
        Variabili = Variabili.replace(",R=","");
        Variabili = Variabili.replace("R=","");
        if (ChiaveRicerca != ""){
            if (Variabili == ""){
                Variabili = Variabili + "R="
            }else{
                Variabili = Variabili + ",R="
            }
            document.location.href = "ricerca_locations.aspx?Variabili=" + Variabili + "&ChiaveRicerca=" + ChiaveRicerca;
        }else{
            document.location.href = "ricerca_locations.aspx?Variabili=" + Variabili
        }
    }
}
/* FINE DETECT PRESSIONE TASTO INVIO */

/* INIZIO FUNZIONE CERCA DA VOTO MEDIO */
function Cerca3(Variabili, VotoMedio, ChiaveRicerca){
    var VariabiliTemp = Variabili.split(",")
    var Contatore = 0;
    var VotoMedioOLD = "";
    while (Contatore < VariabiliTemp.length){
        if (VariabiliTemp[Contatore].indexOf("V=") != -1) {
            VotoMedioOLD = VariabiliTemp[Contatore].replace("V=", "")
        }
        Contatore += 1;
    }
    if (VotoMedioOLD != ""){
        Variabili = Variabili.replace(",V=" + VotoMedioOLD,"");
        Variabili = Variabili.replace("V=" + VotoMedioOLD,"");
    }
    if (VotoMedio != ""){
        if (Variabili == ""){
            Variabili = Variabili + "V=" + VotoMedio
        }else{
            Variabili = Variabili + ",V=" + VotoMedio
        }
    }
    document.location.href = "ricerca_locations.aspx?Variabili=" + Variabili + "&ChiaveRicerca=" + ChiaveRicerca;
}
/* FINE FUNZIONE CERCA DA VOTO MEDIO */

/* INIZIO FUNZIONE VOTA */
function Vota(Variabili, Voto, ChiaveRicerca, IDLocation){
    document.location.href = "scheda_location.aspx?Variabili=" + Variabili + "&ChiaveRicerca=" + ChiaveRicerca + "&IDLocation=" + IDLocation + "&Voto=" + Voto;
}
/* FINE FUNZIONE VOTA */

/* INIZIO CONTROLLO EMAIL */
function emailCheck (emailStr) {

	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	
	
	if (matchArray==null) {
		//alert("Il formato dell'indirizzo è sbagliato (Controllare \"@\" e \".\")")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	
	
	if (user.match(userPat)==null) {
	    //alert("The username doesn't seem to be valid.")
	    return false
	}
	
	
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
		        //alert("l'IP di destinazione non è valido!")
				return false
		    }
	    }
	    return true
	}
	
	
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		//alert("Il nome di dominio non è valido.")
	    return false
	}
	
	
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
	    domArr[domArr.length-1].length>3) {
	   //alert("Il nome di dominio non è valido.")
	   return false
	}
	
	
	if (len<2) {
	   var errStr="L'indirizzo E-Mail manca dell'Hostname!"
	   //alert(errStr)
	   return false
	}
	return true;
}
/* FINE CONTROLLO EMAIL */

/* INIZIO ETICHETTE FORM */
function Etichette(NomeForm, Campo, Frase){
	if (document[NomeForm].elements[Campo].value == Frase){
		document[NomeForm].elements[Campo].value = "";
	}else if (document[NomeForm].elements[Campo].value == ""){
		document[NomeForm].elements[Campo].value = Frase;
	}
}
/* FINE ETICHETTE FORM */