
/* ----------------------------- */
/* funzioni prototipo */
String.prototype.trim = function() {
	// skip leading and trailing whitespace
	// and return everything in between
	var x=this;
	x=x.replace(/^\s*(.*)/, "$1");
	x=x.replace(/(.*?)\s*$/, "$1");
	return x;
}// fine funzione
/*-----------------------------------------*/
function apriFinestra(name, larghezza, altezza){
	var x = (screen.width - larghezza)/2;
	var y = (screen.height - altezza)/2;
	var finestra = window.open(name, 'ingrandimento', 'width=' + larghezza +',height=' + altezza + ', toolbar=no, directories=no, location=no, status=no, menubar=no, copyhistory=no, scrollbars=no, resizable=no');
	finestra.moveTo(x,y);
	finestra.focus();
}// fine funzione

/**/
function apriScheda(id){
	var larghezza = 460;
	var altezza = 350;
	var x = (screen.width -larghezza)/2;
	var y = (screen.height - altezza)/2;
	var finestra=window.open('./locator_scheda.php?neg=' + id, 'locator', 'width=' + larghezza +',height=' + altezza + ', toolbar=no, directories=no, location=no, status=no, menubar=no, copyhistory=no, scrollbars=yes, resizable=no');
	finestra.moveTo(x,y);
	finestra.focus();
}// fine funzione

/**/
function cerca(){
	var_nome = '';
	var_cat = '';
	var_naz = '';
	var_reg = '';
	var_pro = '';
	// prelevo i dati
	with(document.forms[0]){
		var_nome = frame_nome.value;
		if(eval('document.forms[0].frame_categoria') != undefined){
			var_cat = frame_categoria.options[frame_categoria.selectedIndex].value;
		}
		if(eval('document.forms[0].frame_nazione') != undefined){
			var_naz = frame_nazione.options[frame_nazione.selectedIndex].value;
		}else{
			var_naz=106;
		}
		if(eval('document.forms[0].frame_regione') != undefined){
			var_reg = frame_regione.options[frame_regione.selectedIndex].value;
		}
		if(eval('document.forms[0].frame_provincia') != undefined){
			var_pro = frame_provincia.options[frame_provincia.selectedIndex].value;
		}
	}// fine with
	// li passo al documento padre
	with(parent.document.forms['form_ricerca']){
		// cancello vecchi dati
		frm_nome.value = '';
		frm_nome.value = var_nome;
		frm_cat.value = '';
		frm_cat.value = var_cat;
		frm_naz.value = '';
		frm_naz.value = var_naz;
		frm_reg.value = '';
		frm_reg.value = var_reg;
		frm_pro.value = '';
		frm_pro.value = var_pro;
		/*
		with(parent.document.forms['form_ricerca']){
			for (var i=0; i < elements.length; i++) {
				alert(elements[i].value);
			}
		}// fine with
		return;
		*/
		submit();
	}// fine with
}// fine funzione

/*-----------------------------------------*/

function registra_farmacia(lingua){
	switch(lingua){
		default:
			msgUsername='Username non valido!';
			msg_username_esistente='Username gia\' utilizzato!';
			msgNome='Nome non valido!';
			msgCognome='Cognome non valido!';
			msgDataNascita='Inserire la data di nascita!';
			msgEmail="L'indirizzo di e-mail deve essere nel formato nome@dominio.";
			msgAnnoLaurea="Anno di laurea non valido!";
			msgSpecializzazione="Selezionare almeno una specializzazione!";
			msgNumIscrizioneAlbo = "Inserire l'iscrizione all'albo";
			msgAnnoIscrizioneAlbo="Anno di iscrizione all'albo non valido!";
			msgNomeFarmacia="Nome della farmacia non valido!";
			msgLavoroNelProf = "Inserire se lavoro Pubblico o Privato!";
			msgDomicilioProf ="Inserire il domicilio!";	
			msgCittaProf ="Inserire la citta!";	
			msgCapProf ="Inserire il cap!";	
			msgProvinciaProf ="Inserire la provincia!";	
			msgNoteProf ="Inserire le note!";	
			msgDomanda='Selezionare una domanda!';
			msgRisposta='Risposta non valida!';
			msgLegge="Non avete dato il consenso alla Legge 196/2003";
		break;
	}//end switch
	with(document.forms['farmacia']){
		//for(i=0;i< elements.length;i++){	alert(i + elements[i].name + elements[i].value); }
		var reg_anno = new RegExp("^([1-2]{1})([0-9]{3})$");
		
		if(utenUsername.value==''){
			alert(msgUsername);
			utenUsername.focus();
			return;
		}//fine if
		
		if(utenNome.value==''){
			alert(msgNome);
			utenNome.focus();
			return;
		}//fine if

		if(utenCognome.value==''){
			alert(msgCognome);
			utenCognome.focus();
			return;
		}//fine if
		
		if(utenDataNascitaA.value=='' || utenDataNascitaM.value=='' || utenDataNascitaG.value==''){
			alert(msgDataNascita);
			utenDataNascitaG.focus();
			return;
		}//end if
		
   		if(!(reg_anno.test(utenAnnoLaureaProf.value))){
			alert(msgAnnoLaurea);
			utenAnnoLaureaProf.focus();
			return;
		}//fine if
		
		if(utenNomeFarmacia.value==''){
			alert(msgNomeFarmacia);
			utenNomeFarmacia.focus();
			return;
		}//fine if
		
		if(utenCittaProf.value==''){
			alert(msgCittaProf);
			utenCittaProf.focus();
			return;
		}//fine if
		if(utenCapProf.value==''){
			alert(msgCapProf);
			utenCapProf.focus();
			return;
		}//fine if
		if(utenProvinciaProf.value==''){
			alert(msgProvinciaProf);
			utenProvinciaProf.focus();
			return;
		}//fine if
		
		if (utenEmail.value.search(/^\w+([\.\-]\w+)*@\w+([\.\-]\w+)*\.\w+$/) == -1) {
			alert(msgEmail);
			utenEmail.focus();
			return;
		}//fine if

		if(utenDomanda.selectedIndex == 0){
			alert(msgDomanda);
			utenDomanda.focus();
			return;
		}//fine if

		if(utenRisposta.value==''){
			alert(msgRisposta);
			utenRisposta.focus();
			return;
		}//fine if
		// legge
		if (!utenLegge.checked){
			alert(msgLegge);
			utenLegge.focus();
			return;
		}//end if

		
	 	var ajax = assegnaXMLHttpRequest();
	    var elemento = prendiElementoDaId("idutenUsername");
	    elemento.innerHTML = "";
	    loader=document.createElement("img");
	    loader.setAttribute("src","../img/gira.gif");
	    elemento.appendChild(loader);
	    if(ajax){
	    	ajax.open("get","cerca_username.php?uten_seriale=" + utenUsername.value,true);
	    	ajax.setRequestHeader("connection", "close");
	    	ajax.onreadystatechange = function() {
			// verifica dello stato
		      if(ajax.readyState == 4){
		        // verifica della risposta da parte del server
		        if(statusText[ajax.status] === "OK"){
			        if(ajax.responseText!="1"){
				          elemento.innerHTML = ajax.responseText;
				          ///elemento.removeChild(loader);
				          alert(utenUsername.value + ': ' + msg_username_esistente);
				          utenUsername.focus();
				          return;
			        }else{
			        	elemento.innerHTML = "";
			        	//elemento.removeChild(loader);
	        	   		frm_op.value = 'ok';
						submit();
			        }//end if username esistente
			     }else{
			       	// errore di caricamento
			       	///elemento.removeChild(loader);
			       	elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
			       	elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
			       	alert('error');
			       	return;
			     }//end if else
			        
				elemento.removeChild(loader);
				        
		      }//end if
		    }//end function
	    // invio richiesta
	    ajax.send(null);
	    
	    }else{
			alert('Problemi con il controllo ajax!');
		}//end if ajax
		


		
/*			// CONTROLLO DUPLICAZIONE USERNAME
			var l_boUsernameUsato = false;
			// SCORRO L'ARRAY
			for(var i = 0; i < arrayUser.length; i++){
				if(arrayUser[i]==hex_md5(utenUsername.value)){
					l_boUsernameUsato = true;
				}//fine if
			}// fine for
			if(l_boUsernameUsato == true){
				alert(utenUsername.value + " : " + msg_username_esistente);
				utenUsername.focus();
				return;
			} //end if
*/		
	}// fine with
}// fine funzione

/*#######################################################################*/
/** FUNZIONI AJAX */
/*#######################################################################*/
	// funzione per prendere un elemento con id univoco
		function prendiElementoDaId(id_elemento) {
			var elemento;
			if(document.getElementById)
				elemento = document.getElementById(id_elemento);
			else
				elemento = document.all[id_elemento];
			return elemento;
		};
	
	// funzione per assegnare un oggetto XMLHttpRequest
		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;
		};



/** OGGETTI / ARRAY */

	// 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";
		
/*#######################################################################*/
/** FINE FUNZIONI AJAX */
/*#######################################################################*/		


/*-----------------------------------------*/
function login_accedi(){
	with(document.forms['entrata']){
		if(UNAME.value.length<=2){
			alert('Username non valido!');
			UNAME.focus();
			return;
		}//fine if
		if(PASSWD.value.length<=2){
			alert('Password non valida!');
			PASSWD.focus();
			return;
		}//fine if
		submit();
	}// fine with
}// fine funzione

/* ----------------------------- */
function contattaci(lingua){
	// Italiano
	var testi1 = new Array(
	'Devi inserire il nome',
	'Devi inserire il cognome',
	'Devi inserire l\'indirizzo email in maniera corretta\nFormato: nome@dominio.xx',
	'Devi inserire un testo',
	'Non avete dato il consenso alla Legge 196/2003',
	'Specificare una professione'
	);
	// Inglese
	var testi2 = new Array(
	'Insert the name!',
	'Insert the surname',
	'E-mail format not correct\nFormat: name@dom.xx',
	'Insert a text message',
	'Non avete dato il consenso alla Legge 196/2003',
	'Specificare una professione'
	);

	with(document.forms[0]){
		
		// Nome
		frm_nome.value = frm_nome.value.trim();
		if(frm_nome.value==''){
			alert(eval('testi' + lingua  + '[0]'));
			frm_nome.focus();
			frm_nome.select();
			return;
		}//fine if

		// Cognome
		frm_cognome.value = frm_cognome.value.trim();
		if(frm_cognome.value==''){
			alert(eval('testi' + lingua  + '[1]'));
			frm_cognome.focus();
			frm_cognome.select();
			return;
		}//fine if

		// Mail
		frm_email.value = frm_email.value.trim();
		if (frm_email.value.search(/^\w+([\.\-]\w+)*@\w+([\.\-]\w+)*\.\w+$/) == -1) {
			alert(eval('testi' + lingua  + '[2]'));
			frm_email.focus();
			frm_email.select();
			return;
		}//fine if

		// MESSAGGIO
		frm_mess.value = frm_mess.value.trim();
		if(frm_mess.value==''){
			alert(eval('testi' + lingua  + '[3]'));
			frm_mess.focus();
			frm_mess.select();
			return;
		}//fine if

		// Legge
		if(!frm_legge.checked){
			alert(eval('testi' + lingua  + '[4]'));
			frm_legge.focus();
			return;
		}// fine if

		frm_op.value = 'ok';
		submit();
	}// fine with
}// fine funzione