function viewMex(mex){
  dTop = document.body.scrollTop+200;
  document.getElementById('loader').innerHTML = "<img src=\"img/progress.gif\" style=\"vertical-align: -10px\">&nbsp;"+mex;
  document.getElementById('loader').style.top = dTop+"px";
  document.getElementById('loader').style.display = "block";
}

function hideMex(cont,dbg){
  if(dbg){
    document.getElementById('loader').innerHTML = cont;
  }else{
    document.getElementById('loader').style.display = "none";
    document.getElementById('loader').innerHTML = "";
  } 
}

function buildUri(obj){
  var strUri = "";
  for(var n=0; n<obj.elements.length; n++){
    if(obj.elements[n].name!=""){
                stri = obj.elements[n].value;
        reg = new RegExp("\\+","g");
        stri = stri.replace(reg,"caratzPiu");
        reg = new RegExp("¿","g");
        stri = stri.replace(reg,"caratzEuro");
                strUri += "&"+obj.elements[n].name+"="+escape(stri);
                strUri = strUri.replace("caratzPiu","%2B");
                strUri = strUri.replace("caratzEuro","%26euro;");
    }
  }
  return strUri;
}

function normalizeCampo(obj){
	  obj.style.borderColor = "#999";
}

function resetBorder(obj) {
    for(var n=0; n<obj.elements.length; n++){
      if(obj.elements[n].name!=""){
    obj.elements[n].style.borderColor = "#999";
      }
    }
}

function indirizzoEmailValido(indirizzo) {
	  if (window.RegExp) {
	    var nonvalido = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
	    var valido = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
	    var regnv = new RegExp(nonvalido);
	    var regv = new RegExp(valido);
	    if (!regnv.test(indirizzo) && regv.test(indirizzo))
	      return true;
	    return false;
	  }else {
	    if(indirizzo.indexOf("@") >= 0)
	      return true;
	    return false;
	  }
	}

function controlField(nome,id,id2,tipo){
	var colore = "#ff0000";
  switch(tipo){
    case "_":       // controlla se il campo è vuoto
    if(document.getElementById(id).value == false){
    	alert(nome+": campo mancante");
    	document.getElementById(id).focus();
    	document.getElementById(id).style.border = "1px solid "+colore;
    	return false;
    }else{
    	return true;
    }
    break;
    case "__":      // controlla se il campo è vuoto con ""
    if(document.getElementById(id).value == ""){
    	alert(nome+": campo mancante");
    	document.getElementById(id).focus();
    	document.getElementById(id).style.border = "1px solid "+colore;
    	return false;
    }else{
      return true;
    }
    break;
    case "@":       // controlla la validità del campo mail
    if(!indirizzoEmailValido(document.getElementById(id).value)){
      alert(nome+": campo non valido");
      document.getElementById(id).style.border = "1px solid "+colore;
      document.getElementById(id).focus();
      return false;
    }else{
      return true;
    }
    break;
    case "=":       // confronta  due campi
    if(document.getElementById(id).value != document.getElementById(id2).value){
      alert("Le Password non Coincidono");
      document.getElementById(id).focus();
      document.getElementById(id).style.border = "1px solid "+colore;
      document.getElementById(id2).value = "";
      return false;
    }else{
      return true;
    }
    break;
    case "h":       // controlla se il campo hidden è vuoto
    if(document.getElementById(id2).value == false){
    	alert(nome+": campo mancante");
    	document.getElementById(id).focus();
    	document.getElementById(id).style.border = "1px solid "+colore;
    	return false;
    }else{
    	return true;
    }
    break;
    case "hS":       // controlla se il campo autoSuggest è vuoto
    if(document.getElementById(id2).value == false){
    	if(document.getElementById(id).value == false){
    		alert(nome+": campo mancante");
    	}else{
    		alert(nome+": non presente tra i dati disponibili");
    	}
    	document.getElementById(id).focus();
    	document.getElementById(id).style.border = "1px solid "+colore;
    	return false;
    }else{
    	return true;
    }
    break;
    case "c":       // controlla se il campo e' piu' lungo di un tot
    if(document.getElementById(id).value.length > id2){
        alert(nome+": il campo deve contenere un massimo di "+id2+" caratteri");
        document.getElementById(id).focus();
        document.getElementById(id).style.border = "1px solid "+colore;
        return false;
    }else{
        return true;
    }
    break;
    case "c-":       // controlla se il campo e' piu' lungo di un tot
    if(document.getElementById(id).value.length < id2){
        alert(nome+": il campo deve contenere almeno "+id2+" caratteri");
        document.getElementById(id).focus();
        document.getElementById(id).style.border = "1px solid "+colore;
        return false;
    }else{
        return true;
    }
    break;
    case "n":       // controlla se il campo e' un numero
    if(isNaN(document.getElementById(id).value)){
        alert(nome+": il campo deve contenere solo numeri");
        document.getElementById(id).focus();
        document.getElementById(id).style.border = "1px solid "+colore;
        return false;
    }else{
        return true;
    }
    break;
    case "img": // controllo se il file è una img
	    obj = document.getElementById(id);
	    var extensions = new Array();  
		 	extensions[1] = "jpg";  
			extensions[0] = "jpeg";  
			extensions[2] = "gif";  
			/*extensions[3] = "png";  
			extensions[4] = "bmp";*/   
			var image_file = obj.value;
			var image_length = image_file.length;
			var pos = image_file.lastIndexOf('.') + 1;   
			var ext = image_file.substring(pos, image_length);   
			var final_ext = ext.toLowerCase();   
			  
			for (i = 0; i < extensions.length; i++){   
			    if(extensions[i] == final_ext){
					return true;   
			    }   
			}
			alert("Seleziona un'immagine con una delle seguenti estensioni:\n\n gif, jpeg, jpg");
			return false;
		break;
	  default:
	  alert("tipo non riconosciuto");
	  return false;
  }
}

function getPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
            while (obj.offsetParent) {
                    curleft += obj.offsetLeft
                    obj = obj.offsetParent;
            }
    }
    else if (obj.x)
    curleft += obj.x;
    return curleft;
}

function getPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
            while (obj.offsetParent) {
                    curtop += obj.offsetTop
                    obj = obj.offsetParent;
            }
    }
    else if (obj.y)
    curtop += obj.y;
    return curtop;
}


function muovi(pos){
	iInt = setInterval('muovi2()', 20);
}

function muovi2(pos){
	w = document.getElementById('cont').offsetHeight;
	old = document.getElementById('cont').marginTop;
	nuovo = old-1;
	alert(nuovo);
	document.getElementById('cont').marginTop = nuovo;
}

function inviaNewsletter(obj){
	flag = true;
	  flag = flag && controlField("NOME COGNOME",'nome','','_');
	  flag = flag && controlField("E-MAIL",'blabla','','_');
	  flag = flag && controlField("E-MAIL",'blabla','','@');

	  
	  if(flag){
	    strUri = buildUri(obj);
	    viewMex("Iscrizione newsletter in corso!");
	    myajax.post("?cmd=exIscrLetter", strUri);
	  }
	   myajax.echoFunction=function(aa){
	    hideMex(aa,0);
	    if(aa=="ok"){
	    	alert("Grazie per esserti iscritto alla newsletter del Festival energie alter-native!");
	    }
	    /*
	    if(aa=="user"){
	      //document.getElementById('password').value = "";
	      alert("Email presente nel nostro database, utilizzarne una nuova per proseguire con la registrazione.");
	    }else if(aa=="ok"){
	        alert("Abbiamo spedito un'email al tuo indirizzo. Clicca sul link nel testo dell'e-mail per completare la registrazione.");
	    }
	    */
	  }

}