//////////////////////////////////////////////////////////////////////////////
// Variabili globali 

var IDinterval,Id,IE55;
var country = 1;
var cap = 1;


//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// Funzioni javascript 
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////



//////////////////////////////////////////////////////////////////////////////
// Controlla email
function controllaEmail(addr) {
    /*if (addr.match(/[\\\$\|\;\,\:\"\£\^\°\§\<\>\?\'\&\/\!\*\à\è\é\ì\ò\ù\ç]/) != null)
      return 1;*/

  if (addr.match(/\b\s+\b/) != null)
  {
      return 1;
  }

  //pattern = /^\s*[a-zA-Z0-9_-]+([^@ ]+)*@([^@ ]+)\s*$/;
   
 //pattern = /^[a-zA-Z][a-zA-Z0-9]*[.-_]?[a-zA-Z0-9]+@[a-zA-Z0-9]+[.-_]?[a-zA-Z0-9]+\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
  pattern = /^[a-zA-Z0-9]*-*_*.+([a-zA-Z0-9])*@[a-zA-Z0-9]+(([-_][a-zA-Z0-9]+)*(\.[a-zA-Z][a-zA-Z]+)*)*\.[a-zA-Z]{2,4}$/;
  //alert("Pattern: " + pattern);

  if (addr.match(pattern) == null ||addr.length <= 3 || addr.length > 150)
  {
    return 1;
  }

  return 0;

}





//////////////////////////////////////////////////////////////////////////////
// Controlla il contenuto del frame nascosto ed eventualmente costruisce il
// select dei comuni o imposta il cap.
function assegna() {

		if (detectIEVersion() <= 5.5) {
    	if (window.frames.retriver.document.body.innerHTML == null) 
					return;			
			else               
					window.clearInterval(IDinterval);      								
		} 
       
    var data = window.frames.retriver.document.body.innerHTML.split("|");

    //alert("Mi è arrivato questo: " + data);

		// evita di distruggere il contenuto del frame se non deve fare operazioni.
		if (data.length && (country == 0 || cap == 0)) {
			window.frames.retriver.document.body.innerHTML='';

      for (var u=0;u<data.length;u++)  
        data[u] = data[u].replace(/\n/g," ");

			if (country == 0 && data.length > 1 )  {
					setCountry(data);    
					country=1;  
					return true;
      }

			if (cap == 0 && data.length >= 1 ) {    
					setCap(data);  
					cap=1; 
			}
		}
		return false;
}

//////////////////////////////////////////////////////////////////////////////
// Crea la select dei comuni dall'array che gli viene passato.
function setCountry(comuni) {

   //alert("setCountry: " + comuni);

    var citta = document.getElementById("citta");
    citta.disabled        = false;

    //eng == 1 ? citta.options[0].text = "(select)" :citta.options[0].text = "(seleziona)";
    citta.options[0].text = "(seleziona)";
    citta.length          = comuni.length;

    for(var i=1;i<=comuni.length;i++)     
        citta.options[i] = new Option(comuni[i-1],comuni[i-1]);         
}

//////////////////////////////////////////////////////////////////////////////
// Imposta il cap
function setCap(comuni) {
    var mCap = document.getElementById("CAP");
    if (mCap != null) {
        mCap.value = comuni[0]; 
    }
    //document.frmConfermaAcq.CAP.value    = comuni[0]; 
}



//////////////////////////////////////////////////////////////////////////////
function richiama_comune(nome_prov) {

  if ((!nome_prov) || (nome_prov=="(seleziona)") || (nome_prov=="(select)"))
		return;
  country = 0;
  var mCap = document.getElementById("CAP");
  if (mCap != null) {
      mCap.value = ""; 
  }
  //document.frmConfermaAcq.CAP.value    = "";

  document.getElementById('retriver').src = "../script/filtra_comune_cap.asp?provincia=" + nome_prov;
   	
  if (detectIEVersion() < 5.5) {
		//alert('Richiamo citta\' in corso');
  	        IDinterval = window.setInterval("assegna()",100);
  } 
}

//////////////////////////////////////////////////////////////////////////////
function richiama_cap(nome_comune, nome_prov) {
  
  //alert("Richiama_cap: " + nome_comune + ", " + nome_prov);

  if ((!nome_comune) || (nome_comune=="(seleziona)") || (nome_comune=="(select)"))
	  return;

  cap = 0;
  document.getElementById('retriver').src = "../script/filtra_comune_cap.asp?comune=" + nome_comune + "&prov=" + nome_prov;
   
  if (detectIEVersion() < 5.5) {
		//alert(eng==1 ? 'Richiamo CAP per Città' : 'Richiamo codice postale in corso');
  	        IDinterval = window.setInterval("assegna()",100);
  }
}


//////////////////////////////////////////////////////////////////////////////
function detectIEVersion() {
   var ie = detectApp();
   var temp = new Array();
   var version;
   if(ie != 'ie')
     return 0;
   temp=navigator.appVersion.split("MSIE");
   version=parseFloat(temp[1]);
   return version;
}


//////////////////////////////////////////////////////////////////////////////
function detectApp() {
  var app;
  var AgntUsr=navigator.userAgent.toLowerCase();
  if(AgntUsr.indexOf('mozilla')!=-1 && AgntUsr.indexOf('compatible')==-1)
    app = 'netscape';
  else if(AgntUsr.indexOf('msie')!=-1 && AgntUsr.indexOf('mac') != -1)
    app = 'mac';
  else if(AgntUsr.indexOf('msie')!=-1 && AgntUsr.indexOf('compatible') != -1 && AgntUsr.indexOf('opera')!=-1)
    app = 'opera';
  else if(AgntUsr.indexOf('msie')!=-1 && AgntUsr.indexOf('compatible') != -1)
    app = 'ie';
  else
    app = 'not defined';
  return app;
}