// variabili globali

var raggio = 127
var cartoDefault = "&carto=base"  
var cartoAziende = "aziende"
var EsciAttiv = false

var ctwUrlPref = "../../scripts/esrimap.dll?name=CesenaMkt&ch=1&nu=0&mm=i&i=0&d=0" 
ctwUrlPref += "&ra="+ raggio;

// msg di errore
msg1 = "valore non numerico";

// nome shape e campi degli shape
var shpAziende = "aziende"
var shpNomeCampoRagioneSociale = "RAGSOC"
var shpNomeCampoIndirizzo = "DESCRIZION"
var shpNomeCampoLocalita = "COD_LOC"
var shpNomeCampoNumeroCivico = "CIVICO"
var shpNomeCampoTelefono = "TELEFONO"
var shpNomeCampoCodAreaProd = "COD_AP"
var shpNomeCampoDescrAreaProd = "DESCRAP"
var shpNomeCampoDescrAttivita = "WORDS"

// --------------- LOCALITA' -------------------
// struttura array località: "località, localita"
var aLocalita = new Array(0);
aLocalita[0]="0,-- qualsiasi località --".split(",");
aLocalita[1]="100,BAGNILE - CESENA".split(",");
aLocalita[2]="101,BORELLO - CESENA".split(",");
aLocalita[3]="102,BORGO PAGLIA - CESENA".split(",");
aLocalita[4]="103,BUDRIO - CESENA".split(",");
aLocalita[5]="104,CALABRINA - CESENA".split(",");
aLocalita[6]="105,CALISESE - CESENA".split(",");
aLocalita[7]="106,CASE CASTAGNOLI - CESENA".split(",");
aLocalita[8]="107,CASE FINALI -  CESENA".split(",");
aLocalita[9]="108,CASE MISSIROLI - CESENA".split(",");
aLocalita[10]="109,CESENA".split(",");
aLocalita[11]="110,DIEGARO - CESENA".split(",");
aLocalita[12]="111,GATTOLINO - CESENA".split(",");
aLocalita[13]="112,MACERONE - CESENA".split(",");
aLocalita[14]="113,MADONNA DEL FUOCO - CESENA".split(",");
aLocalita[15]="114,MARTORANO - CESENA".split(",");
aLocalita[16]="115,OSPEDALE - CESENA".split(",");
aLocalita[17]="116,PIEVESESTINA - CESENA".split(",");
aLocalita[18]="117,PIOPPA - CESENA".split(",");
aLocalita[19]="118,PONTE ABBADESSE - CESENA".split(",");
aLocalita[20]="119,PONTE NUOVO - CESENA".split(",");
aLocalita[21]="120,PONTE PIETRA - CESENA".split(",");
aLocalita[22]="121,RONTA - CESENA".split(",");
aLocalita[23]="122,RUFFIO - CESENA".split(",");
aLocalita[24]="123,S.CARLO - CESENA".split(",");
aLocalita[25]="124,S.CRISROFORO - CESENA".split(",");
aLocalita[26]="125,S.EGIDIO - CESENA".split(",");
aLocalita[27]="126,S.GIORGIO - CESENA".split(",");
aLocalita[28]="127,S.MARTINO IN FIUME - CESENA".split(",");
aLocalita[29]="128,S.MAURO - CESENA".split(",");
aLocalita[30]="129,S.TOMASO - CESENA".split(",");
aLocalita[31]="130,S.VITTORE - CESENA".split(",");
aLocalita[32]="131,SETTECROCIARI - CESENA".split(",");
aLocalita[33]="132,STADIO - CESENA".split(",");
aLocalita[34]="133,TIPANO - CESENA".split(",");
aLocalita[35]="134,TORRE DEL MORO - CESENA".split(",");
aLocalita[36]="135,VIGNE - CESENA".split(",");
aLocalita[37]="136,VILLA ARCO - CESENA".split(",");
aLocalita[38]="137,VILLA CALABRA - CESENA".split(",");
aLocalita[39]="138,VILLA CHIAVICHE - CESENA".split(",");
aLocalita[40]="139,ZONA ROMEA - CESENA".split(",");


// --------- AREA PRODUTTIVA -----------
// struttura array aree produttive: "areaprod, descrareap"
var aAreeProd = new Array(0);
aAreeProd[0]="0,------- qualsiasi AREA -------".split(",");
aAreeProd[1]="AB,CENTRO".split(",");
aAreeProd[2]="U,EX ZUCCHERIFICIO".split(",");
aAreeProd[3]="F,ZONA AGGREGATA CASELLO SUD A/14".split(",");
aAreeProd[4]="E,ZONA AGGREGATA DEL DEPURATORE".split(",");
aAreeProd[5]="S,ZONA AGGREGATA DI VIA ROMEA".split(",");
aAreeProd[6]="Q,ZONA ARTIG./COMMERCIALE DI CASE FINALI".split(",");
aAreeProd[7]="H,ZONA ARTIG/IND.LE DI TORRE DEL MORO".split(",");
aAreeProd[8]="V,ZONA ARTIGIANALE COMING 2".split(",");
aAreeProd[9]="R,ZONA ARTIGIANALE DI CASE CASTAGNOLI".split(",");
aAreeProd[10]="I,ZONA ARTIGIANALE DI DIEGARO 1".split(",");
aAreeProd[11]="G,ZONA ARTIGIANALE DI DIEGARO 2".split(",");
aAreeProd[12]="P,ZONA ARTIGIANALE DI MACERONE".split(",");
aAreeProd[13]="C,ZONA ARTIGIANALE DI PIOPPA".split(",");
aAreeProd[14]="O,ZONA ARTIGIANALE DI PONTE PIETRA".split(",");
aAreeProd[15]="T,ZONA ARTOGIANALE DI S.CARLO - S.VITTORE".split(",");
aAreeProd[16]="B,ZONA ARTIGIANALE DI S.GIORGIO".split(",");
aAreeProd[17]="D,ZONA ARTIGIANALE DI VILLA CALABRA".split(",");
aAreeProd[18]="M,ZONA COMMERCIALE COMING".split(",");
aAreeProd[19]="L,ZONA COMMERCIALE CONCESSIONARIE".split(",");
aAreeProd[20]="K,ZONA EX ARRRIGONI".split(",");
aAreeProd[21]="N,ZONA EX MERCATO ORTOFRUTTICOLO".split(",");
aAreeProd[22]="A,ZONA INDUSTRIALE DI PIEVESESTINA".split(",");
aAreeProd[23]="Z,ZONE SPARSE".split(",");







// ------------------------ HTML (inizio) -------------------------

function createDropDownList(name, arrValues) {
	var str = "";
	str += '<select name="' + name + '">';
	for (var i=0; i < arrValues.length; i++){
		str += '<option value="' + arrValues[i][0] + '">' + arrValues[i][1] + '</option>';
	}
	str += '</select>';
	return str;
}

// Località
var ddlLocalita = createDropDownList("localita", aLocalita);

// Aree produttive
var ddlAreeProd = createDropDownList("areeprod", aAreeProd);


// ------------------------ HTML (fine) -------------------------

//
//	IsNumeric
//
function IsNumeric(campo) {		
	
	if (isNaN(Trim(campo.value))) {	
		alert(msg1);
		campo.focus();
	}
}

function AddCond(strExpr, cond) {
	if (strExpr == "") {		
		strExpr = cond
	} else {
		if (cond != "") {
			strExpr = strExpr + " and " + cond
		}			
	}	
	return strExpr
}

function IsNumeric(campo) {		
	
	if (isNaN(Trim(campo.value))) {	
		alert(msg1);
		campo.focus();
	}
}

function LTrim(str) {      
	for (var i=0; str.charAt(i)==" "; i++);
    return str.substring(i,str.length);     
}   
  
function RTrim(str) {
	for (var i=str.length-1; str.charAt(i)==" "; i--);
    return str.substring(0,i+1);     
}     

function Trim(str) {
	return LTrim(RTrim(str));     
}

function LeggiLocalita() {
	var str=""
	var form = document.ricerca
	if (form.localita.selectedIndex > 0 ) {		
		//str = shpNomeCampoLocalita + "= '" + Trim(form.localita.options[form.localita.selectedIndex].value) +"'" ;
		str = shpNomeCampoLocalita + "=" + form.localita.options[form.localita.selectedIndex].value;
	}		
	return str;
}

function LeggiAreeProd() {
	var str=""
	var form = document.ricerca
	if (form.areeprod.selectedIndex > 0 ) {		
		str = shpNomeCampoCodAreaProd + "= '" + Trim(form.areeprod.options[form.areeprod.selectedIndex].value) + "'" ;
	}		
	
        //alert(str)
	return str;
}

function LeggiRagioneSociale() {
	var expr=""
	var cond=""
	var form = document.ricerca
	
	if (form.RagioneSociale != null) {
		if (Trim(form.RagioneSociale.value) != "") {
			cond = shpNomeCampoRagioneSociale + " LIKE '%" + Trim(form.RagioneSociale.value) + "%'"
			expr = AddCond(expr, cond)
			
		}
	}		
	// alert(expr.toUpperCase())
	return expr.toUpperCase();	
}

function LeggiIndirizzo() {
	var expr=""
	var cond=""
	var form = document.ricerca
	
	if (form.Indirizzo != null) {
		if (Trim(form.Indirizzo.value) != "") {
			cond = shpNomeCampoIndirizzo + " LIKE '" + Trim(form.Indirizzo.value) + "%'"
			expr = AddCond(expr, cond)
			
		}
	}

	return expr.toUpperCase();	
}

function LeggiNumeroCivico() {
	var expr=""
	var cond=""
	var form = document.ricerca
	
	if (form.NumeroCivico != null) {
		if (Trim(form.NumeroCivico.value) != "") {
			cond = shpNomeCampoNumeroCivico + "=" + Trim(form.NumeroCivico.value)
			expr = AddCond(expr, cond)
			
		}
	}

	return expr;	
}

function LeggiTelefono() {
	var expr=""
	var cond=""
	var form = document.ricerca
	
	if (form.Telefono != null) {
		if (Trim(form.Telefono.value) != "") {
			cond = shpNomeCampoTelefono + "= '" + Trim(form.Prefisso.value)+"/"+Trim(form.Telefono.value) + "'"
			expr = AddCond(expr, cond)
			
		}
	}
	return expr;	
}

function LeggiAttivita() {
	var expr="";
	var cond="";
	var form = document.ricerca;
        var aElementi = new Array();
        var i=0;
        EsciAttiv=false;
        if (form.Attivita != null) {
		if (Trim(form.Attivita.value) != "") {
                        
                        aElementi=Trim(form.Attivita.value).split(" ");
			
                        for (var i=0; i < aElementi.length; i++){
                           
                           if (aElementi[i].length !=0  && aElementi[i].length < 3) {

		              EsciAttiv=true;
	
                           }
		        
                           if (i==0) {                           
                           
                              cond = cond + shpNomeCampoDescrAttivita + " LIKE '%" + Trim(aElementi[i]) + "%'";
                           	                
                           } else {
                        
                              cond = cond + " OR " + shpNomeCampoDescrAttivita + " LIKE '%" + Trim(aElementi[i]) + "%'";
                           }
                        
                        }

                        cond="(" + cond + ")";
                      
			//cond = shpNomeCampoDescrAttivita + " LIKE '%" + Trim(form.Attivita.value) + "%'"
			expr = AddCond(expr, cond);
			
		}
	}
	
	return expr.toUpperCase();       
}

//
// splitParameter
// suddivide un parametro in sottoparametri di lunghezza inferiore a len;
// i sottoparametri hanno come nome il prefisso passato in input, concatento con un
// progressivo
function splitParameter(param,value,len, flagEscape) {
	var tmpStr=""
	var i
	var flagEnd
		
	flagEnd = false
	i = 1	
	while (!flagEnd) {
		// lunghezza del parametro tenendo conto che poi devo applicare l'escape
		if (escape(value).length >= len) {
			x = unescape(escape(value).substring(0,len-1)).length
		} else {
			x = value.length;
			flagEnd = true;
		}
		if (flagEscape) {												
			tmpStr += "&" + param + i + "=" + escape(value.substring(0,x))
		} else {
			tmpStr += "&" + param + i + "=" + value.substring(0,x)
		}
		value = value.substring(x, value.length)	
		i++;
	}
	return tmpStr		
}

//
//	CercaAzienda
//

function CercaAzienda(link, nomeShp, carto) {
	var mycmd=""	
	var form = document.ricerca
	var expr=""
	var cond=""

        mycmd += ctwUrlPref	
	mycmd += "&co=1&shpog="+nomeShp;
	mycmd += cartoDefault + "+" + carto;

	var tempRagioneSociale=""
	tempRagioneSociale=form.RagioneSociale.value

	//alert(tempRagioneSociale.length)


	if (tempRagioneSociale.length !=0  && tempRagioneSociale.length < 4) {

		alert("Il campo RAGIONE SOCIALE deve contenere almeno 4 caratteri!")

                return false;
	
        } else { 
        
            
        	
            expr = AddCond(expr, LeggiRagioneSociale())	
            expr = AddCond(expr, LeggiIndirizzo())
            expr = AddCond(expr, LeggiNumeroCivico())
	    expr = AddCond(expr, LeggiLocalita())
            expr = AddCond(expr, LeggiTelefono())
            expr = AddCond(expr, LeggiAreeProd())
            expr = AddCond(expr, LeggiAttivita())	
	                
            //alert(expr);

            if (EsciAttiv==true) {

               alert("Il campo ATTIVITA' deve contenere voci di almeno 3 caratteri!")

               return false;

            } else {

               if (escape(expr.length) > 250) {		
	              expr = splitParameter("expr", expr, 250, true);
               } else {
	              expr = "expr=" + escape(expr)		
               }
	
               mycmd = mycmd + "&" + expr	
	
               //alert(mycmd);
	
	       link.href = mycmd;
	       return true;
              
            }

         }

}	

