// JavaScript Document

function cursore(cosa)
	{ 
		var asse_x = window.event.clientX+document.body.scrollLeft;
		var asse_y = window.event.clientY+document.body.scrollTop;

		apri(cosa, asse_x, asse_y);
	}
 function dataOdierna()
 {
		var d=new Date();
		var monthname=new Array("Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre");
		//Ensure correct for language. Italian is "1 Gennaio, 2008"
		var oggi = d.getDate()+ " " + monthname[d.getMonth()] + ", " + d.getFullYear();
		return oggi;
 }
	
function Apri(cosa, asse_x, asse_y)
	{
		if(document.getElementById(cosa).style.display=="none" || document.getElementById(cosa).style.display=="")
			{ 	
				if (asse_x!=0 || asse_y!=0)
					{
						document.getElementById(cosa).style.top=asse_y+"px";
						document.getElementById(cosa).style.left=asse_x+"px";
					}
				document.getElementById(cosa).style.display="block"; 
			}
		else{ 
				document.getElementById(cosa).style.display="none"; 
			}
		
	
	}
function chiudi(cosa)
	{
		document.getElementById(cosa).style.display="none";
	}
	
function Precarica()
	{ 
		var args = Precarica.arguments;
		document.imageArray = new Array(args.length);
		for(var i=0; i<args.length; i++)
		{
			document.imageArray[i] = new Image;
			document.imageArray[i].src = args[i];
		}
	}
	
function up (oggetto)
	{
		return oggetto.value=oggetto.value.toUpperCase();
	}

//							----------------- CHECKFIELDS -----------------
// funzione per la conversione dei carattaeri minuscoli in maiuscoli e la 
// conversione dell'apostrofo usato
function checkFields(objForm) {
	i=0;
	field=objForm.elements[i];
	while (field) {
		if (field.type=="text") {
			field.value=field.value.toUpperCase();
			field.value=field.value.replace(/'/g, "`");
			field.value=field.value.replace(/"/g, "`");
		}
		if (field.type=="textarea") {
			field.value=field.value.toUpperCase();
			field.value=field.value.replace(/'/g, "`");
			field.value=field.value.replace(/"/g, "`");
		}
		field=objForm.elements[i++];
	}

	return true;
}


//							----------------- DISATTIVALL -----------------
function disattivaAll(qualeForm) {
	// procedura per la disattivazione di tutti gli imput box e le select del form
	i=0;
	field=qualeForm.elements[i];
	while (field) {
		if (field.type=="text" || field.type=="select-one") {
			field.disabled=true;
		}
		field=qualeForm.elements[i++];
	}
}
		
//							----------------- TUTTOSCHERMO ----------------------
function tuttoSchermo() {
	self.moveTo(0,0);
	if (screen.width<=1024)
		{self.resizeTo(screen.width, screen.height-30);
		} else self.resizeTo('1024', screen.height);
}
			
			
//							----------------- SETFOCUS -----------------
function setFocus(obj) {
	obj.focus();
	obj.select();
}

//							----------------- ATTIVALL -----------------
function attivaAll(qualeForm) {
	// procedura per la disattivazione di tutti gli imput box e le select del form
	i=0;
	field=qualeForm.elements[i];
	while (field) {
		if (field.type=="text" || field.type=="select-one") {
			field.disabled=false;
		}
		field=qualeForm.elements[i++];
	}
}
		
function abilita(qualeForm) {
	i = 0;
	field=qualeForm.elements[i];
	while (field) {
		if (field.type=="text" || field.type=="select-one") {
			field.readonly = false;
			field.style.backgroundColor = "#ffffff";
		}
		field=qualeForm.elements[i++];
	}
}		


function disabilita(qualeForm) {
	i = 0;
	field=qualeForm.elements[i];
	while (field) {
		if (field.type=="text" || field.type=="select-one") {
			field.readonly = true;
			field.style.backgroundColor = "#cccccc";
		}
		field=qualeForm.elements[i++];
	}
}		

/*								---------------------- controlla_SoloNumeri -----------------------------

controlla che vengano inseriti solo numeri all'interno di un campo
*/

function controlla_SoloNumeri(Obj) {
	if (Obj.value!="") 
		{
			ER=/\D/g;
			if (ER.test(Obj.value))
				{
					alert("Sono consentite solo cifre!!");
					Obj.value="";
					Obj.focus();
				}
		}
}

function ControllaData(Obj){
        //  Funzione per riconoscere le date in tutti i formati: ggmmaaaa gmaa g/m/aa gg/mm/aaaa, 
        //	e tutte le combinazioni fra questi.
        if (Obj.value=='') return "";
        giorno = ((Obj.value.substr(0,1)==0)? Obj.value.substr(1,1)-0:Obj.value.substr(0,2)-0);
        mese   = ((Obj.value.substr(2,1)==0)? Obj.value.substr(3,1)-0:Obj.value.substr(2,2)-0);
        anno   = Obj.value.substr(4,4)-0;
        if ((Obj.value.substr(1,1)=="/")&&(Obj.value.substr(3,1)== "/"))
        {
                giorno= Obj.value.substr(0,1) -0 ;
                mese =  Obj.value.substr(2,1) -0 ;
                anno =  Obj.value.substr(4,4) -0;
        }
         if ((Obj.value.substr(1,1)=="/")&&(Obj.value.substr(4,1)== "/"))
         {
                giorno= Obj.value.substr(0,1) -0 ;
                mese =  Obj.value.substr(2,2) -0 ;
                anno =  Obj.value.substr(5,4) -0;
        }
         if ((Obj.value.substr(2,1) == "/")&&(Obj.value.substr(4,1)== "/"))
         {
                giorno= Obj.value.substr(0,2) -0 ;
                  mese  = Obj.value.substr(3,1) -0 ;
                  anno =  Obj.value.substr(5,4) -0;
         }

        if ((Obj.value.substr(2,1)=="/")&&(Obj.value.substr(5,1)=="/"))
         {
                  giorno= Obj.value.substr(0,2) -0 ;
                  mese =  Obj.value.substr(3,2) -0 ;
                  anno =  Obj.value.substr(6,4) -0;
         }

         if (Obj.value == ""){ exit(0);}
         Errore = false;
         switch(mese)
         {
                case 1:
                  case 3:
                  case 5:
                  case 7:
                  case 8:
                  case 10:
                  case 12:
                   if(!(giorno<=31) && (giorno > 0))
                   {
                            Errore = true;
                            alert("Il giorno inserito non e' corretto!");
                   }
                   break;
                  case 4:
                  case 6:
                  case 9:
                  case 11:
                   if(!(giorno<=30) && (giorno > 0))
                   {
                            Errore = true;
                            alert("Il giorno inserito non e' corretto!");
                   }
                   break;
                  case 2:
                   giorniFebbraio = ((anno % 4) == 0)?29:28;
                   if(!(giorno<=giorniFebbraio) && (giorno > 0))
                   {
                            Errore = true;
                            alert("Il giorno inserito non e' corretto!");
                   }
                   break;
                  default :
                   Errore = true;
                   alert("Il mese inserito non e' corretto!");
                   break;
         }
        if (!Errore)
        {
                  if ((anno < 100) && (anno >20)) anno += 1900 ;
				  if ((anno >= 0) && (anno <=20)) anno += 2000 ;
                  Obj.value = ((giorno < 10)?"0"+giorno:giorno)+""+""+((mese<10)?"0"+mese:mese)+anno;
         }
         if((anno<1900)&&!Errore) { alert('Anno non corretto!'); Errore=1;}
        if(!Errore)
        {
                  if (giorno<=9)giorno="0"+giorno;
                  if (mese<=9  )mese="0"+mese;
                  Obj.value=giorno+"/"+mese+"/"+anno;
         }
        if (Errore)
        {
                Obj.value="";
                  Obj.focus();
            //      hlerror(Obj);
         }	// else
            //      hlcorrect(Obj);
}

function ControllaDataShort(Obj) {
	//  Funzione per riconoscere le date in tutti i formati: mmaaaa maa m/aa mm/aaaa, 
	//	e tutte le combinazioni fra questi.
	if (Obj.value=='') return "";
	
	mese = ((Obj.value.substr(0,1)==0)? Obj.value.substr(1,1)-0:Obj.value.substr(0,2)-0);
	anno   = Obj.value.substr(2,2)-0;
	if (Obj.value.substr(1,1)=="/") {
		mese = Obj.value.substr(0,1) -0 ;
		anno =  Obj.value.substr(2,4) -0 ;
	}

	if (Obj.value.substr(2,1) == "/") {

		mese = Obj.value.substr(0,2) -0 ;
		anno = Obj.value.substr(3,4) -0 ;
	}

	if (Obj.value == ""){ exit(0);}

	Errore = false;
	if (!Errore)	{
//		if (anno < 100) anno += 2000 ;
                  if ((anno < 100) && (anno >20)) anno += 1900 ;
				  if ((anno >= 0) && (anno <=20)) anno += 2000 ;

		Obj.value = ((mese<10)?"0"+mese:mese)+anno;
	}
	if((anno<1900)&&!Errore) { 
		alert('Anno non corretto!'); 
		Errore=1;
	}
	if(!Errore)	{
		if (mese<=9  )mese="0"+mese;
		Obj.value=mese+"/"+anno;
	}
	if (Errore)	{
		Obj.value="";
		Obj.focus();
		//      hlerror(Obj);
	}	// else
	//      hlcorrect(Obj);
}

/*
Funzione per il confronto di due date 
i parametri passati sono le due date e la prima deve essere la MAGGIORE della seconda
torna true per il buon esito del confronto

Se il parametro in ingresso e' nullo o e' vuoto si imposta per default alla data attuale
*/
function ConfrontoDate(dataMaggiore, dataMinore) {
	
	if (dataMaggiore != null &&  dataMaggiore != "") {
		Giorno = dataMaggiore.substr(0,2);
		Mese = dataMaggiore.substr(3,2) - 1;
		Anno = dataMaggiore.substr(6,4);
		maggiore = new Date(Anno, Mese, Giorno);
	} else {
		maggiore = new Date();
	}

	if (dataMinore != null &&  dataMinore != "") {
		Giorno = dataMinore.substr(0,2);
		Mese = dataMinore.substr(3,2) - 1;
		Anno = dataMinore.substr(6,4);
		minore = new Date(Anno, Mese, Giorno);
	} else {
		minore = new Date();
	}
	
	if (maggiore < minore) return false;
	
	return true;
}

/*								---------------------- controllaAnno -----------------------------

controlla e coregge l'anno inserito nel formato (aa, a, aaaa) 
*/


function controllaAnno(Obj) {
	controlla_SoloNumeri(Obj)
	if (Obj.value!="")
		{
		  anno=Obj.value.substr(0,4) -0;
		  //alert (anno);
		  if ((anno < 100) && (anno >20)) anno += 1900 ;
		  if ((anno >= 0) && (anno <=20)) anno += 2000 ;
		  if(anno<1900) { 
		  	alert('Anno non corretto!');
			Obj.value="";
			Obj.focus();
			}
		 else Obj.value=anno;
		}
	 
}

/*    ---------------------scambio oggetto in un div----------------*/
	 x2=0;
	 x1=317;
	 direzione=0;
	 chi=0;
 
function incrementaApertura(obj1,obj2)
{
	//alert (x1);
	if (direzione==0)
		{
			x1--;
			x2++;
		}
	else
		{
			x1++;
			x2--;
		}
	document.getElementById(obj1).style.height=x1;
	document.getElementById(obj2).style.height=x2; 
	if (x1==0)
		{
			window.clearInterval(chi);
			direzione=1;
		}
	if (x1==317)
		{
			direzione=0;
			window.clearInterval(chi);
		}
}

function scambio(obj)
{
	chi=setInterval('incrementaApertura("img1","img2")',3)
}

//function sostituisci (obj)
//{
//	document.getElementById(obj).src=	
//}


// transazione a sfumatura di 2 img 
function trans(imgNome,imgNomeFile,divDescrImg,descrizioneImg)
{
  if (document.all)
  {
    document.getElementById(imgNome).style.filter="blendTrans(duration=2)";
    document.getElementById(imgNome).filters.blendTrans.Apply();
  }
  document.getElementById(imgNome).src = imgNomeFile;
  if (document.all)
  {
    document.getElementById(imgNome).filters.blendTrans.Play();
  }
  document.getElementById(divDescrImg).innerHTML=descrizioneImg;
}

// lancia una data funzione ad intervalli specifici
function intervallo(funzioneConParametri, secondi)
	{
		obj=setInterval(funzioneConParametri,secondi*1000);
		return obj;
	}

//dichiaro la variabile globale per tenere il conto di quale img sono arrivato a stampare
var qualeImagine=2;
var chiStampo=2;
//gli si passa un elenco di img che devono essere visualizzate in sequenza
function elencoimg()
	{ 
		var args = elencoimg.arguments;
		if (args.length!=2)
			{
				trans('leFoto',args[qualeImagine],'didascalia','<p class="centro">'+args[qualeImagine+1]+'</p><br><p class="centro">Immagine ' + (chiStampo) + '/' + args.length/2 + '</p>');
				qualeImagine=qualeImagine+2;
				chiStampo ++;
				if (qualeImagine>=args.length)
					{
						qualeImagine=0;
						chiStampo=1;
					}
			}
	}








