var base_address 							= "http://www.ailbologna.it/mydonor_connector/";
var base_path 								= "/var/www/domini/ailbologna.it/www/mydonor_connector/";
var optionsPrj 								= null;	
var selectedPrj								= null;
var optionsNaz 								= null;		
var optionsOrg 								= null;	
var checkMultiNewsletter					= null;
var mod_name								= null;

var lang 									= null;
var variabile_lang							= new Array();
var compulsoryFields						= new Array();
var vincoliPerCampo							= new Array();
var tendine									= new Array();

$(document).ready(function(){
	lang = $('#lang').attr('value') ;
	selectedPrj = $('#proj').attr('value') ;
	mod_name = $('#mod_name').attr('value') ;
	if (mod_name!=null){
		if($('#nazione').length > 0) $('#nazione').html(getNazioniOptions()); 
		$('#nazione').change(function(){deleteGeolab();});
		loadXmlCompulsoryFields(mod_name,lang );	
		buildPrivOrg();
		buildMultiNewsCheckboxDiv();
		$('input[name=tipoPrivOrg]').click(function(){buildPrivOrg(); writeCompulsoryStars();});	
		$('input[name=tipoDonazione]').click(function(){buildImportiDiv();});
		writeCompulsoryStars();
	}
	/*
	if ($('#donazione').length>0){
		$('#nazione').html(getNazioniOptions());
		buildPrivOrg();
		$('input[name=tipoPrivOrg]').click(function(){buildPrivOrg(); writeCompulsoryStars();});		
		$('input[name=tipoDonazione]').click(function(){buildImportiDiv();});
		//carico nell'array globale il contenuto dell'xml,
		//finisco di costruire la pagina - dentro loadXmlCompulsoryFields chiamo buildDonaOraDiv()-
		//e poi applico gli asterischi * - dentro buildDonaOraDiv chiamo writeCompulsoryStars()-		
		loadXmlCompulsoryFields("donazione",lang );
		$('#nazione').change(function(){deleteGeolab();});
	} if ($('#volontario').length>0){
		$('#nazione').html(getNazioniOptions());
		loadXmlCompulsoryFields("volontario",lang);		
		$('#nazione').change(function(){deleteGeolab();});
		writeCompulsoryStars();
	} if ($('#newsletter').length>0){
		loadXmlCompulsoryFields("newsletter", lang);
		writeCompulsoryStars();
	} if ($('#bonifico').length>0){
		$('#nazione').html(getNazioniOptions());
		loadXmlCompulsoryFields("bonifico", lang);
		buildPrivOrg();
		$('input[name=tipoPrivOrg]').click(function(){	buildPrivOrg(); writeCompulsoryStars();	});
		$('#nazione').change(function(){deleteGeolab();});
		writeCompulsoryStars();
	} if ($('#multinewsletter').length>0){
		buildMultiNewsCheckboxDiv();
		loadXmlCompulsoryFields("multinewsletter", lang);
		writeCompulsoryStars();
		$('#testDiv').html($('#cat-news-0').length+'<br>'+$('#cat-news-1').length+'<br>'+$('#cat-news-4').length);
	}*/
});


function buildMultiNewsCheckboxDiv(){
	getCatNewsCheckboxes();
	if (checkMultiNewsletter!='' && checkMultiNewsletter!=null){
		$('#multinewsletterDiv').html(
				'<label for="sel-multinews">'+V('seleziona_la_newsletter')+' :</label>&nbsp;'+
				'<font id="msg-sel-multinews" color="#ff0000"></font><br />'+checkMultiNewsletter);
	}
}

function raccogliDati(NID, siteName, modulo){
	if(check($(document))){
		var dataToSend = "";
		if($('#nome').length!=0 		&& $('#nome').val()!='')  		dataToSend +="nome="+$('#nome').val();
		if($('#tipoOrg').length!=0)  									dataToSend +="&tipoOrg="+$('#tipoOrg').val()
		if($('#cognome').length!=0 		&& $('#cognome').val()!='')  	dataToSend +="&cognome="+$('#cognome').val();
		if($('#dataNasc').length!=0 	&& $('#dataNasc').val()!='')  	dataToSend +="&dataNasc="+$('#dataNasc').val();

		if($('input[name=sesso]:radio').length!=0 
				&& $('input[name=sesso]:radio').val()!='')  dataToSend +="&sesso="+$('input[name=sesso]:radio').val();
		if($('#localitaRic').length!=0 	&& $('#localitaRic').val()!='') dataToSend +="&localitaRic="+$('#localitaRic').val();
		if($('#provincia').length!=0 	&& $('#provincia').val()!='')  	dataToSend +="&provincia="+$('#provincia').val();
		if($('#cap').length!=0 			&& $('#cap').val()!='')  		dataToSend +="&cap="+$('#cap').val();
		if($('#viaRic').length!=0 		&& $('#viaRic').val()!='')  	dataToSend +="&viaRic="+$('#viaRic').val();
		if($('#streetType').length!=0 	&& $('#streetType').val()!='')  dataToSend +="&streetType="+$('#streetType').val();
		if($('#civico').length!=0 		&& $('#civico').val()!='')  	dataToSend +="&civico="+$('#civico').val();
		if($('#email').length!=0 		&& $('#email').val()!='')  		dataToSend +="&email="+$('#email').val();
		if($('#cellulare').length!=0 	&& $('#cellulare').val()!='')  	dataToSend +="&cellulare="+$('#cellulare').val();
		if($('#telefono').length!=0 	&& $('#telefono').val()!='') 	dataToSend +="&telefono="+$('#telefono').val();
		//if($('#richiesta').text()!=V('richiesta_dft'))  dataToSend +="&richiesta="+$('#richiesta').text();
		if($($('#nazione').length!=0 	&& '#nazione').val()!='')  		dataToSend +="&nazione="+$('#nazione').val();		
		if($($('#richiesta').length!=0 	&& '#richiesta').val()!='') 	dataToSend +="&richiesta="+encodeURIComponent($('#richiesta').val());
		if($('#unitaImporto').length!=0 && $('#unitaImporto').val()!='')dataToSend += "&importo="+$('#unitaImporto').val();

		dataToSend +="&nid="+NID;

		if (modulo=="volontario"){
			$('#volontario').html(V('elaborazione_in_corso'));
			var pagina=base_address+"mod_volontario/volontarioOps.php?op=raccoglidati-MailAmministrazione&lang="+lang;
			var result =  $.ajax({				
				type: 'POST',
				data: dataToSend,
				url: pagina,
				async: false
			}).responseText;	
			$('#volontario').html('<br/>'+result);
		}else if (modulo=="bonifico"){
			$('#bonifico').html(V('elaborazione_in_corso'));
			var pagina=base_address+"mod_bonifico/bonificoOps.php?op=raccoglidati-bonifico&lang="+lang;
			var result =  $.ajax({
				type: 'POST',
				data: dataToSend,
				url: pagina,
				async: false
			}).responseText;
			$('#bonifico').html('<br/>'+result);
		}else if (modulo=="newsletter"){
			$('#newsletter').html(V('elaborazione_in_corso'));
			var pagina=base_address+"mod_newsletter/newsletterOps.php?op=subscribe&lang="+lang;
			var result =  $.ajax({
				type: 'POST',
				data: dataToSend,
				url: pagina,
				async: false
			}).responseText;
			$('#newsletter').html('<br/>'+result);
		}else if (modulo=="multinewsletter"){			
			var nNews = 0;
			var n = 0;
			while ($('#cat-news-'+nNews).length != 0){
				if ($('#cat-news-'+nNews+':checked').length != 0){
					dataToSend +="&cat-news-"+n+"="+$('#cat-news-'+nNews).val();
					n++;
				}
				nNews++;
			}
			$('#multinewsletter').html(V('elaborazione_in_corso') );
			//dataToSend +="&cat-news-0="+$('#cat-news-0').val();
			var pagina=base_address+"mod_multinewsletter/multinewsletterOps.php?op=subscribe&lang="+lang;
			var result =  $.ajax({
				type: 'POST',
				data: dataToSend,
				url: pagina,
				async: false
			}).responseText;
			$('#multinewsletter').html('<br/>'+result);

		}
	}
}

function buildPrivOrg(){
	switch ($('input[name=tipoPrivOrg]:radio:checked').val()){
	case 'P':
		$('#priv-org-dati').html('<p >	<label for="nome">'+V('nome')+'</label>&nbsp;'+
				'<font id="msg-nome" color="#ff0000"></font><br />'+ 
				'<input type="text" name="nome" id="nome" size="40"/></p><p>	'+
				'<label for="cognome">'+V('cognome')+'</label>&nbsp;'+
				'<font id="msg-cognome" color="#ff0000"></font><br />'+
		'<input type="text" name="cognome" id="cognome" size="40"/>	</p>');
		$('#div-dataNasc-sesso').html('<p >'+
				'<label for="dataNasc">'+V('data_di_nascita')+'</label>&nbsp;'+
				'<font id="msg-dataNasc" color="#ff0000"></font><br />'+
				'<input type="text" name="dataNasc" id="dataNasc" size="15"/></p><p>'+	
				'<label for="sesso">'+V('sesso')+'</label>&nbsp;'+
				'<font id="msg-sesso" color="#ff0000"></font><br />'+
				'<input type="radio" name="sesso" id="sesso-M" value="M" checked="checked"> M &nbsp;&nbsp;'+
		'<input type="radio" name="sesso" id="sesso-F" value="F"> F');		
		break;
	case 'O':
		$('#priv-org-dati').html('<p >	<label for="tipoOrg">'+V('tipo_di_organizzazione')+'</label>&nbsp;'+
				'<font id="msg-tipoOrg" color="#ff0000"></font><br />'+ 
				'<select STYLE="width: 260px" id="tipoOrg" name="tipoOrg" >'+
				getTipiOrgOptions()+	
				'</select>&emsp;&emsp;&emsp;</p><p>	'+
				'<label for="cognome">'+V('ragione_sociale')+'</label>&nbsp;'+
				'<font id="msg-cognome" color="#ff0000"></font><br />'+
		'<input type="text" name="cognome" id="cognome" size="40"/>	</p>');
		//l'id è ancora nome perche devo scrivere in $utente->Ana1!!!
		$('#div-dataNasc-sesso').html('');

		break;
	default:
		break;
	}

}

function buildImportiDiv(){
	compulsoryFields;
	switch ($('input[name=tipoDonazione]:radio:checked').val()){
	case 'L':
		$('#importiDiv').html('	<p><b>'+V('donazione_libera')+'</b> - <label for="unitaImportoL">'+V('importo')+'</label><br/><br/>'+
				'<font id="msg-unitaImportoL" color="#ff0000"></font><br />'+'<input size="5" type="text" name="unitaImportoL" id="unitaImportoL" /> , '+
		'<input size="2" type="text" name="decimaliImportoL" id="decimaliImportoL" value="00" disabled /> &#8364;</p>');
		sostituisciCampiConTendine();
		writeCompulsoryStars();
		break;
	case 'C':
		var bottoniDonaOra = '<p style="text-align:right;"><span class="art-button-wrapper"><span class="l"></span><span class="r"></span>'+	
		'<input id="eliminaSelezionatiButton" class="art-button" type="button" value="'+V('elimina_selezionati')+'" onclick="eliminaProgettiSelezionati()"/></span>'+
		'&nbsp;<span class="art-button-wrapper"><span class="l"></span><span class="r"></span>'+
		'<input class="art-button" type="button" name="altroProgettoButton" id="altroProgettoButton" value="'+V('aggiungi_progetto')+'"/></span></p>'+
		'<br><br>';		
		$('#importiDiv').html('<p><b>'+V('seleziona_il_progetto_su_cui_donare')+'</b><br/>'+
				'<table id="donaOraProgettiTable" width="100%"></table></p>'+bottoniDonaOra);
		addProgettoSuCuiDonareTR(0);
		$('#altroProgettoButton').live('click',function() {
			//FORSE QUESTO SOTTO IE NON VA???????????????
			addProgettoSuCuiDonareTR($('#donaOraProgettiTable tbody').children().length);
		});
		break;
	default:
		break;
	}

}

function addProgettoSuCuiDonareTR(riga){
	var result = true;
	//$('#testDiv').append(riga+'<br>');
	if (riga>0){
		//result = checkRigaProgetto(riga-1);
		result = check($('#importiDiv'));
//		$('#testDiv').append(result+'<br>');
//		$('#testDiv').append('valore di '+(riga-1)+' '+$('#progetti-riga-'+(riga-1)).val()+'<br>');
	}
	if(result){
		$('#donaOraProgettiTable').append('<tr id="riga-'+riga+'"><td >'+
				'<br /><input id="'+riga+'"  type="checkbox" name="checkProgetto" /></td><td ><p>	'+
				'<label for="progetti-riga-'+riga+'">'+V('progetti')+'</label>&nbsp;'+
				'<font id="msg-progetti-riga-'+riga+'" color="#ff0000"></font><br />'+
				'<select class="progetti" id="progetti-riga-'+riga+'" name="progetti" onchange="loadImgProgetto('+riga+')">'+
				getProgettiOptions()+	
				'</select>&emsp;&emsp;&emsp;'+
				'</p></td><td><label for="unitaImportoC-'+riga+'">'+V('importo')+'</label>&nbsp;'+
				'<font id="msg-unitaImportoC-'+riga+'" color="#ff0000"></font><br />'+
				'<input size="5" type="text" name="unitaImporto" id="unitaImportoC-'+riga+'" /> , '+
				'<input size="2" type="text" name="decimaliImporto" id="decimaliImportoC-'+riga+'" value="00" disabled /> '+V('valuta')+
				'</td><td id="img-progetto-'+riga+'"></td>'+
		'</tr>');	
		if ((riga==0) && (selectedPrj !=null) && (selectedPrj != '')){
			$('#progetti-riga-'+riga+' option[value="'+selectedPrj+'"]').attr('selected', 'selected');
			loadImgProgetto(riga);
		}
		sostituisciCampiConTendine();		
		writeCompulsoryStars();
	}
}

function getProgettiOptions(){ 
	/*funzione che restituisce le descrizioni dei progetti nel db come elenco di <option></option>
	 * la richiesta ajax è eseguita una volta sola alla prima esecuzione di questa funzione, poi viene
	 * sempre restituito il contenuto della variabile globale var optionsPrj*/
	if (optionsPrj==null){
		var pagina=base_address+"mod_donazione/donazioneOps.php?op=getProgettiDesc";
		optionsPrj =  $.ajax({
			url: pagina,
			async: false
		}).responseText;	
		optionsPrj='<option selected value="">'+V('seleziona_un_progetto')+'</option>'+optionsPrj;
	}
	return optionsPrj;
}

function getNazioniOptions(){ 
	/*funzione che restituisce le descrizioni delle nazioni nel db come elenco di <option></option>
	 * la richiesta ajax è eseguita una volta sola alla prima esecuzione di questa funzione, poi viene
	 * sempre restituito il contenuto della variabile globale var optionsNaz*/
	if (optionsNaz==null){
		var pagina=base_address+"mod_donazione/donazioneOps.php?op=getNazioniDesc";
		optionsNaz =  $.ajax({
			url: pagina,
			async: false
		}).responseText;	
	}
	return optionsNaz;
}

function getTipiOrgOptions(){ 
	/*funzione che restituisce le descrizioni dei tipi organizzazione nel db come elenco di <option></option>
	 * la richiesta ajax è eseguita una volta sola alla prima esecuzione di questa funzione, poi viene
	 * sempre restituito il contenuto della variabile globale var optionsOrg*/
	if (optionsOrg==null){
		var pagina=base_address+"mod_donazione/donazioneOps.php?op=getTipiOrgDesc";
		optionsOrg =  $.ajax({
			url: pagina,
			async: false
		}).responseText;	
	}
	return optionsOrg;
}

function getCatNewsCheckboxes(){ 
	/*funzione che restituisce le descrizioni dei tipi organizzazione nel db come elenco di <option></option>
	 * la richiesta ajax è eseguita una volta sola alla prima esecuzione di questa funzione, poi viene
	 * sempre restituito il contenuto della variabile globale var optionsOrg*/
	if (checkMultiNewsletter==null){
		var pagina=base_address+"mod_multinewsletter/multinewsletterOps.php?op=getMultiNewsletterCheckboxes";
		checkMultiNewsletter =  $.ajax({
			url: pagina,
			async: false
		}).responseText;	
	}
	return checkMultiNewsletter;
}

function dona(NID){
	//$('#testDiv').append("chiamata la funzione dona()<br>");
	var problems=false;
	if( check($(document))){
		var pagina=base_address+"mod_donazione/donazioneOps.php?op=dona";
		var tipo=$('input:radio[name=tipoDonazione]:checked').val(); //'L' o 'C'

		var dataToSend = "";
		if($('#nome').length!=0 		&& $('#nome').val()!='')  		dataToSend +="nome="+$('#nome').val();
		if($('#tipoOrg').length!=0)  									dataToSend +="&tipoOrg="+$('#tipoOrg').val()
		if($('#cognome').length!=0 		&& $('#cognome').val()!='')  	dataToSend +="&cognome="+$('#cognome').val();

		if($('#localitaRic').length!=0 	&& $('#localitaRic').val()!='') dataToSend +="&localitaRic="+$('#localitaRic').val();
		if($('#provincia').length!=0 	&& $('#provincia').val()!='')  	dataToSend +="&provincia="+$('#provincia').val();
		if($('#cap').length!=0 			&& $('#cap').val()!='') 		dataToSend +="&cap="+$('#cap').val();
		if($('#viaRic').length!=0 		&& $('#viaRic').val()!='')  	dataToSend +="&viaRic="+$('#viaRic').val();
		if($('#streetType').length!=0 	&& $('#streetType').val()!='')  dataToSend +="&streetType="+$('#streetType').val();
		if($('#civico').length!=0 		&& $('#civico').val()!='')  	dataToSend +="&civico="+$('#civico').val();
		if($('#email').length!=0 		&& $('#email').val()!='')  		dataToSend +="&email="+$('#email').val();
		if($('#cellulare').length!=0 	&& $('#cellulare').val()!='')  	dataToSend +="&cellulare="+$('#cellulare').val();
		if($('#telefono').length!=0 	&& $('#telefono').val()!='')  	dataToSend +="&telefono="+$('#telefono').val();		
		if($('#nazione').length!=0 		&& $('#nazione').val()!='')  	dataToSend +="&nazione="+$('#nazione').val();

		dataToSend +="&tipoDonazione="+tipo+"&nid="+NID;
		
		switch (tipo){
		case 'L':
			var importo=$('#unitaImportoL').val();
//			if($('#decimaliImportoL').val()!=''){
//			importo=importo+'.'+$('#decimaliImportoL').val()
//			}
			dataToSend +="&ImportoL="+importo;
			break;
		case 'C':
			var nProgetto=0;
			while ($('#riga-'+nProgetto).length!=0){
				var importo = $('#unitaImportoC-'+nProgetto).val();
				dataToSend +="&progetti-riga-"+nProgetto+"="+$('#progetti-riga-'+nProgetto).val()+
				"&ImportoC-"+nProgetto+"="+importo;
				nProgetto++;
			}
			break;
		default:
			problems=true;
		break;
		}
//		var orderN="mydCorti"+(Math.floor(Math.random()*10000));
//		dataToSend += "&orderN="+orderN;
		var result =  $.ajax({
			type: 'POST',
			data: dataToSend,
			url: pagina,
			async: false
		}).responseText;	
		if (result=='no'){
			problems=true;
		}
		
		var resultArr = result.split('___');
		var orderN = resultArr[0];
		var responceString = resultArr[1];
		var totaleImporto = resultArr[2];

		if(problems ){
			$('#donazione').html('<br/>'+V('dona_msg_er')+V('dettaglio_er_db'));
		}else{			
			invioRichiesta(orderN, totaleImporto, responceString);
			/***TEST KEYCLIENT. Successivamente portare tutti i parametri in configurazione***
			$('#donazione').html('<form id="formCim" action="https://ecommerce.cim-italia.it/ecomm/DispatcherServlet" method="post"' +
				'target="_blank">'+
				'<input type="hidden" name="alias" value="payment_testm_urlmac" />'+
				'<input type="hidden" name="codTrans" value="'+orderN+'" />'+
				'<input type="hidden" name="divisa" value="EUR" />'+
				'<input type="hidden" name="importo" value="1" />'+
				'<input type="hidden" name="mail" value="'+$('#email').val()+'" />'+
				'<input type="hidden" name="url" value="http://94.92.180.4/italia-it/esito-della-donazione" />'+
				'<input type="hidden" name="languageId" value="ITA" />'+
				'<input type="hidden" name="mac" value="'+decodeURIComponent(responceString)+'" />'+
				'</form>');
			$('#formCim').submit(); 
			/***TEST PAGONLINE
			var pagina=base_address+"mod_banca/bancaOps.php?system=pagonline";
			var rispostaUrl =  $.ajax({
				type: 'POST',
				data: 'MACcode='+decodeURIComponent(result)+'&orderN='+orderN,
				url: pagina,
				async: false
			}).responseText;	
			
			window.open(rispostaUrl);
			*/
		}

	}
	//else 
	//	problems=true;

}

function loadXmlCompulsoryFields(form, lang){	
	var urlXML;
	urlXML=base_address+"mod_"+form+"/"+form+"CompulsoryFields.xml";
	/*if (form=="moduloDonazioneOnline")
		urlXML=base_address+"mod_donazione/DonazioneOnlineCompulsoryFields.xml";
	else if (form=="moduloDiventaVolontario")
		urlXML=base_address+"mod_volontario/DiventaVolontarioCompulsoryFields.xml";
	else if (form=="moduloNewsletter")
		urlXML=base_address+"mod_newsletter/NewsletterCompulsoryFields.xml";
	else if (form=="moduloBonifico")
		urlXML=base_address+"mod_bonifico/BonificoCompulsoryFields.xml";
	else if (form=="moduloMultiNewsletter")
		urlXML=base_address+"mod_multinewsletter/MultiNewsletterCompulsoryFields.xml";
	 */
	$.ajax({
		type: "GET",
		url: urlXML,
		dataType: "xml",
		async: false,
		success: function(xml) {
		var node=$(xml).find('lang[value="'+lang+'"]');

		node.find('compulsory').find('field').each(function(){
			compulsoryFields.push($(this).text());				
		});

		var n=0;
		node.find('vincoli').find('field').each(function(){
			var tipoVincolo=$(this).attr('tipoVincolo');
			var arrTemp = new Array();
			switch(tipoVincolo){
			case 'checked':
			case 'integer':
			case 'email':
			case 'data':
				arrTemp["field"]=$(this).text();
				arrTemp["tipoVincolo"]=tipoVincolo;
				arrTemp["msg"]=$(this).attr('msg');
				break;
			case 'minmax':
				arrTemp["field"]=$(this).text();
				arrTemp["tipoVincolo"]=tipoVincolo;
				arrTemp["min"]=$(this).attr('min');
				arrTemp["max"]=$(this).attr('max');	
				arrTemp["msg"]=$(this).attr('msg');				
				break;
			default:
				break;
			}
			vincoliPerCampo[n]=arrTemp;
			//$('#testDiv').append("ho caricato da XML: " +vincoliPerCampo[n]['field']+" vincolo di tipo "+ vincoliPerCampo[n]['tipoVincolo']+"<br>");
			n++;
		});			


		node.find('tendine').find('field').each(function(){
			var arrTemp = new Array();
			arrTemp[0]=$(this).attr('identif');
			$(this).find('valore').each(function(){
				arrTemp.push($(this).text());
			});
			tendine.push(arrTemp);
		});
//		if (form="moduloDonazioneOnline"){
		if (form="donazione"){
			//chiamo qui la funzione di costruzione dell'ultimo div così sono sicura che tutto l'xml è già caricato
			buildImportiDiv();	
		}
	}
	});
}

function writeCompulsoryStars(){
	for(var i=0;i<compulsoryFields.length;i++){		
		$('label[for^="'+compulsoryFields[i]+'"]:not(:has("font"))').append('<font color="#ff0000"> *</font>');
		var currentClass = $('#'+compulsoryFields[i]).attr('class');
		$('[id^="'+compulsoryFields[i]+'"]').attr('class', currentClass+' required');
	}
}

function eliminaProgettiSelezionati(){
	//var elSel= $('input[name="checkProgetto"]:checked');
	$('input[name="checkProgetto"]:checked').each( function(){
		$('#riga-'+$(this).attr('id')).remove();
	});

	if($('#donaOraProgettiTable tbody').children().length==0){
		addProgettoSuCuiDonareTR(0);		
	}
}

function check(element ){
	//reset dei campi con errore segnalato: prima li faccio tornare TUTTI normali poi li riesamino!
	var result =true;
	setNormalField(element.find('input'));  //vale già per tutti!
	setNormalField(element.find('select'));  //vale già per tutti!
	element.find('[id^="msg-"]').each(function (){
		$(this).html('');
	});

	element.find('[class~="required"]').each(function(){
		if($(this).val()==""){
			setErrorField($(this));
			result=false;
		}
	});

	for (var i=0;i<vincoliPerCampo.length;i++){
		//for(vincolo in vincoliPerCampo){
		var vincolo=new Array();
		vincolo = vincoliPerCampo[i];

		switch (vincolo['tipoVincolo']){
		case 'checked':
			element.find('input[id^="'+vincolo['field']+'"]:not(:checked)').each(function(){
				setErrorField($(this));
				element.find("#msg-"+$(this).attr('id')).html(vincolo['msg']);
				result=false;
			});
			break;
		case 'email':
			element.find('input[id^="'+vincolo['field']+'"]').each(function(){
				if(!isEmail($(this).val())){
					setErrorField($(this));
					element.find("#msg-"+$(this).attr('id')).html(vincolo['msg']);
					result=false;
				}
			});
			break;
		case 'integer':
			element.find('input[id^="'+vincolo['field']+'"]').each(function(){
				if(!isInteger($(this).val())){
					setErrorField($(this));
					element.find("#msg-"+$(this).attr('id')).html(vincolo['msg']);
					result=false;
				}
			});
			break;
		case 'data':
			element.find('input[id^="'+vincolo['field']+'"]').each(function(){
				//$('#testDiv').append("test di: " +vincolo['field']+ "<br>");
				if( $(this).val()!=""  &&  !isData($(this).val())){
					setErrorField($(this));
					element.find("#msg-"+$(this).attr('id')).html(vincolo['msg']);
					result=false;
				}
			});
			break;
		case 'minmax':
			element.find('input[id^="'+vincolo['field']+'"]').each(function(){
				if(!isInteger($(this).val())){
					setErrorField($(this));
					element.find("#msg-"+$(this).attr('id')).html(vincolo['msg']);
					result=false;
				}
				var el = parseInt($(this).val()); 
				//$('#testDiv').append(" valore dell input corrispondente : " +el+ "<br>");

				if ( (el < vincolo["min"]) || ( el > vincolo["max"]) ){
					setErrorField($(this));
					result=false;
					if ( (el < vincolo["min"])){     
						element.find("#msg-"+$(this).attr('id')).html(vincolo['msg']);
					}
					if ( (el > vincolo["max"])){
						element.find("#msg-"+$(this).attr('id')).html(vincolo['msg']);
					}
				}

			});						
			break;
		default:
			break;
		}
	}

	return result;
}

function loadImgProgetto(riga){
	//riga è sia l'id del progetto sia la riga in cui posizionarlo!
	var idProg= $('#progetti-riga-'+riga).val();
	var pagina=base_address+"mod_donazione/donazioneOps.php?op=getProgettoImg&id="+idProg;
	img =  $.ajax({
		url: pagina,
		async: false
	}).responseText;	
	$('#img-progetto-'+riga).html(img);
}

function sostituisciCampiConTendine(){
	for(var i=0;i<tendine.length;i++){
		var selectString='';
		for(var j=1;j<tendine[i].length;j++){  //j=0 corrisponde all'id del campo!
			selectString+='<option>'+tendine[i][j]+'</option>';
		}
		$('input[id^="'+tendine[i][0]+'"]').each(function (){
			var idString=$(this).attr('id');
			selectString='<select id="'+idString+'">'+selectString+'</select>';
			$(this).replaceWith(selectString);
		});		
	}
}

function isInteger(numString){
	var patt=new RegExp("[^0-9]");
	//se contiene un carattere diverso dai caratteri compresi tra 0 e 9 oppure è = a '' allora ==> return false
	return !(patt.test(numString));
}

function setErrorField(element){
	element.css("border","2px solid");
	element.css("border-color","#ff0000");
}

function setNormalField(element){
	element.css("border","");
	element.css("border-color","");
}

function isEmail(emailString) {
	var patt=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i;
	return (patt.test(emailString));
}

function isData(dateStr) {
	var datePat = /^(\d{1,2})(\/)(\d{1,2})(\/)(\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?
	if (matchArray == null) {
		return false;
	}
	month = matchArray[3]; // p@rse date into variables
	day = matchArray[1];
	year = matchArray[5];
	if (month < 1 || month > 12) { // check month range
		return false;
	}
	if (day < 1 || day > 31) {		return false;	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {		return false;	}
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap)) {
			return false;
		}
	}
	return true; // date is valid
}

function V(variabile){
	if (variabile_lang[variabile] == null) {
		variabile_lang[variabile] = $.ajax({
			url: base_address+"conf/intestazione.php?var="+variabile+"&lang="+lang,
			async: false
		}).responseText;
	}
	return variabile_lang[variabile];
}

function deleteGeolab(){ //ritorna true se la nazione è italia false altrimenti
	if ($('#nazione').val()=='IT'){
		window.location.href=window.location.href;
	}else{
		$('.myGeo').remove();
		$(document).find('[href*="94.92.180.3"]').each(function(){$(this).remove()});
		$(document).find('[src*="94.92.180.3"]').each(function(){$(this).remove()});
		$('#ALIASviaRic').remove();
		$('html > script').each(function(){$(this).remove()});
		return false;
	}
}


