// JavaScript Document
/*
i nomi dei file... es. sport_1.jpg oppure con link sportdipiu.com_1.jpg

il link deve avere _1 perchè può esserci magari + di un banner per lo stesso sito

se c'è anche il link lo si mette rinominando il file come il dominio da raggiungere
*/


//----------------------------- NON USATO
function ruota_banner(path,nome_banner,array_banner){
	if(nome_banner=='banner_sopra')
	{
		if (indice>=array_banner.length)
		{
			indice=0;
		}
		var obj=document.getElementById(nome_banner);
		obj.src=path+array_banner[indice]+"?"+array_databanner[indice];
		
		var array_punti=array_banner[indice].split(".");
			//alert (obj.src+" - "+array_punti+" - "+array_punti.length);
		if (array_punti.length>2) //se c'è link lo si mette rinominando il file come il dominio da raggiungere
		{	
			obj.style.cursor="pointer";
			var mylink=array_banner[indice].substr(0,array_banner[indice].lastIndexOf("_"));
			obj.onclick = function ()
			{
				//alert ("'http://www."+array_banner[indice].substr(0,array_banner[indice].lastIndexOf("."))+"'");
				
				window.open("http://www."+mylink);
			}
		}  else {
			obj.style.cursor="auto";
			obj.onclick = null;
		}
		
		setTimeout("ruota_banner(path,nome_banner,array_banner)",5000);
		indice++;
	} else {
		if (indice>=array_banner.length)
		{
			indice=0;
		}
		var obj=document.getElementById(nome_banner);
		obj.src=path+array_banner[indice]+"?"+array_databanner[indice];
		
		var array_punti=array_banner[indice].split(".");
			//alert (obj.src+" - "+array_punti+" - "+array_punti.length);
		if (array_punti.length>2) //se c'è link lo si mette rinominando il file come il dominio da raggiungere
		{	
			obj.style.cursor="pointer";
			var mylink=array_banner[indice].substr(0,array_banner[indice].lastIndexOf("_"));
			obj.onclick = function ()
			{
				//alert ("'http://www."+array_banner[indice].substr(0,array_banner[indice].lastIndexOf("."))+"'");
				
				window.open("http://www."+mylink);
			}
		}  else {
			obj.style.cursor="auto";
			obj.onclick = null;
		}
		
		setTimeout("ruota_banner(path,nome_banner,array_banner)",5000);
		indice++;
	}
}

// ---------------------------------------------------------------------------------




function prendiElementoDaId(id_elemento) {
 // elemento da restituire
 var elemento;
 
 // se esiste il metodo getElementById
 // questo if sarà diverso da false, null o undefined
 // e sarà quindi considerato valido, come un true
 if(document.getElementById)
  elemento = document.getElementById(id_elemento);
 
 // altrimenti è necessario usare un vecchio sistema
 else
  elemento = document.all[id_elemento];

 // restituzione elemento
 return elemento;
}


function assegnaXMLHttpRequest() {
			var
				XHR = null,
				browserUtente = navigator.userAgent.toUpperCase();
			if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
				XHR = new XMLHttpRequest();
			else if(window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0) {
				if(browserUtente.indexOf("MSIE 5") < 0)
					XHR = new ActiveXObject("Msxml2.XMLHTTP");
				else
					XHR = new ActiveXObject("Microsoft.XMLHTTP");
			}
			return XHR;
		};
		
// oggetto di verifica stato
		var readyState = {
			INATTIVO:	0,
			INIZIALIZZATO:	1,
			RICHIESTA:	2,
			RISPOSTA:	3,
			COMPLETATO:	4
		};

	// array descrittivo dei codici restituiti dal server
	// [la scelta dell' array è per evitare problemi con vecchi browsers]
		var statusText = new Array();
		statusText[100] = "Continue";
		statusText[101] = "Switching Protocols";
		statusText[200] = "OK";
		statusText[201] = "Created";
		statusText[202] = "Accepted";
		statusText[203] = "Non-Authoritative Information";
		statusText[204] = "No Content";
		statusText[205] = "Reset Content";
		statusText[206] = "Partial Content";
		statusText[300] = "Multiple Choices";
		statusText[301] = "Moved Permanently";
		statusText[302] = "Found";
		statusText[303] = "See Other";
		statusText[304] = "Not Modified";
		statusText[305] = "Use Proxy";
		statusText[306] = "(unused, but reserved)";
		statusText[307] = "Temporary Redirect";
		statusText[400] = "Bad Request";
		statusText[401] = "Unauthorized";
		statusText[402] = "Payment Required";
		statusText[403] = "Forbidden";
		statusText[404] = "Not Found";
		statusText[405] = "Method Not Allowed";
		statusText[406] = "Not Acceptable";
		statusText[407] = "Proxy Authentication Required";
		statusText[408] = "Request Timeout";
		statusText[409] = "Conflict";
		statusText[410] = "Gone";
		statusText[411] = "Length Required";
		statusText[412] = "Precondition Failed";
		statusText[413] = "Request Entity Too Large";
		statusText[414] = "Request-URI Too Long";
		statusText[415] = "Unsupported Media Type";
		statusText[416] = "Requested Range Not Satisfiable";
		statusText[417] = "Expectation Failed";
		statusText[500] = "Internal Server Error";
		statusText[501] = "Not Implemented";
		statusText[502] = "Bad Gateway";
		statusText[503] = "Service Unavailable";
		statusText[504] = "Gateway Timeout";
		statusText[505] = "HTTP Version Not Supported";
		statusText[509] = "Bandwidth Limit Exceeded";		




function registrazione_newsletter(url)
{
	var inf="";
	
	if (!document.formNewsletter.consenso_privacy.checked) {
		inf+="- Devi dare il consenso al Trattamento dei Dati Personali \n";
	}
	
	if(!controllo_email_newsletter("emailNewsletter","formNewsletter")) {
		inf+="- Email troppo corta o con caratteri non consentiti \n";
	}
	
	if (inf=="")
	{
		
		var params = "";
		
		var td_status=prendiElementoDaId("registrazione_status");
		td_status.innerHTML='<img src="./img/loader.gif" alt="immagine di attesa" />';
	
		var ajax = assegnaXMLHttpRequest();
		
		params += "email="+prendiElementoDaId('emailNewsletter').value;
				
		//serve perchè se lo ho in cache non lo carica.. quindi aggiungo getTime
		var d= new Date();
		url += "?nocache="+d.getTime();
				
	
		ajax.open("POST", url, true);
			//window.open(url+"?"+params);
		
		//Send the proper header information along with the request
		ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded; text/plain; charset=ISO-8859-1;");
		ajax.setRequestHeader("Content-length", params.length);
		ajax.setRequestHeader("Connection", "close");
		
		

		// impostazione controllo e stato della richiesta
		ajax.onreadystatechange = function() 
		{
			// verifica dello stato
			if(ajax.readyState === readyState.COMPLETATO)
			{
				// verifica della risposta da parte del server
				if(statusText[ajax.status] === "OK")
				{
				
				// operazione avvenuta con successo
					
					td_status.innerHTML=ajax.responseText;
									
				} else {
					// errore di caricamento
					td_status.innerHTML=statusText[ajax.status]+"\n"+ajax.responseText;
				}
			} 
		}
		
		// invio richiesta
		ajax.send(params);
		
	} else {
		alert (inf);
	}
}




function cancellazione_newsletter(url)
{
	var inf="";

	if(!controllo_email_newsletter("email","formNewsletter_canc")) {
		inf+="- Email troppo corta o con caratteri non consentiti \n";
	}

	if (inf=="")
	{
	
		var params = "";
	
		var td_status=prendiElementoDaId("cancellazione_status");
		td_status.innerHTML='<img src="../img/loader.gif" alt="immagine di attesa" />';
	
		var ajax = assegnaXMLHttpRequest();
		
		params += "email="+prendiElementoDaId('email').value;		
		
		//serve perchè se lo ho in cache non lo carica.. quindi aggiungo getTime
		var d= new Date();
		url += "?nocache="+d.getTime();
	
		ajax.open("POST", url, true);
			//window.open(url);
		
		//Send the proper header information along with the request
		ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded; text/plain; charset=ISO-8859-1;");
		ajax.setRequestHeader("Content-length", params.length);
		ajax.setRequestHeader("Connection", "close");
		
		

		// impostazione controllo e stato della richiesta
		ajax.onreadystatechange = function() 
		{
			// verifica dello stato
			if(ajax.readyState === readyState.COMPLETATO)
			{
				// verifica della risposta da parte del server
				if(statusText[ajax.status] === "OK")
				{
				
				// operazione avvenuta con successo
					
					td_status.innerHTML=ajax.responseText;
									
				} else {
					// errore di caricamento
					td_status.innerHTML=statusText[ajax.status]+"\n"+ajax.responseText;
				}
			} 
		}
		
		// invio richiesta
		ajax.send(params);
		
	} else {
		alert (inf);
	}
}

//controllo email
function controllo_email_newsletter(campo,form) {
	/* 
	Spiegazione della Regular Expression Email
	^([a-z0-9]{1} -> il primo carattere deve essere un numero tra [0-9] o una lettera tra [a-z]
	[a-z0-9\_\-\.]{1,25} -> la seconda parte può essere da 1 a 25 lettere, numeri e  _ - .
	\@{1} -> 1 simbolo chiocciola
	[a-z0-9]{2,25} -> da 2 a 25 lettere e numeri
	\.{1} -> 1 punto
	[a-z]{2,4}$ -> da 2 a 4 lettere, con lettera alla fine
	*/
	var RegExpEmail = /^([a-z0-9]{1}[a-z0-9\_\-\.]{1,38})\@{1}([a-z0-9]{2,35})\.{1}([a-z]{2,4}$)/;
	var strEmail = document[form][campo].value;
  	//controllo che l'email sia nel corretto formato
	if(!RegExpEmail.test(strEmail)) {
    	return(false);
	} else {
		return(true); 
	  }
}

//controllo testo generico
function controllo_codice_generico(campo,lungh,form) {
	/* 
	controllo solo la lunghezza minima del testo
	*/
	var strCampo = document[form][campo].value;
	//controllo che il Testo Generico sia abbastanza lungo
	//alert(strCampo.length);
	if(strCampo.length<lungh) {
		return(false); 
	} else {
		return(true); 
	  }
}	


/*
function controllo_privacy_newsletter()
{
	inf="";
	
	if(!controllo_email_newsletter("emailNewsletter")) {
		inf+="- Email troppo corta o con caratteri non consentiti \n";
	} 
	
	if (!document.formNewsletter.consenso_privacy.checked) {
		inf+="- Devi dare il consenso al Trattamento dei Dati Personali \n";
	}
	
	if (inf!="") {
		alert(inf);
	} else {
		registrazione_newsletter('http://www.sportdipiu.com/result_registrazione.php');
	}
}
*/