var urlRegxp = /^www\.([\w]+)\.([\w]+){2,3}$/;
var mailRegxp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var lungMax = 1000;

function IsNumeric(strString){
	var strValidChars = "0123456789.-";
	var strChar;
	var blnResult = true;
	if (strString.length == 0) return false;
	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++){
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1){
			blnResult = false;
		}
	}
	return blnResult;
}
function datecompare(d1,d2){
	// 1	d1 > d2
	// 0	d1 = d2
	// -1	d1 < d2
	var ar1 = d1.split("-");
	var dat1 = new Date();
	dat1.setDate(ar1[0]);
	dat1.setMonth(ar1[1]-1);
	dat1.setFullYear(ar1[2]);

	var ar2 = d2.split("-");
	var dat2 = new Date();
	dat2.setDate(ar2[0]);
	dat2.setMonth(ar2[1]-1);
	dat2.setFullYear(ar2[2]);

	if(dat1 > dat2){
		blnResult = 1;
	}
	else if(dat1 == dat2){
		blnResult = 0;
	}
	else if(dat1 < dat2){
		blnResult = -1;
	}
	return blnResult;
}

function moreToday(d){
	// d = gg-mm-aaaa
	// return true if today date is more than d date
	var oggi = new Date();
	var ar = d.split("-");
	var spedita = new Date();
	var blnResult;
	spedita.setDate(ar[0]);
	spedita.setMonth(ar[1]-1);
	spedita.setFullYear(ar[2]);

	if(spedita >= oggi){
		// alert (d + " > " + oggi);
		blnResult = false;
	}
	if(spedita < oggi){
		// alert (d + " < " + oggi);
		blnResult = true;
	}

	//alert (spedita + " ########## " + oggi);
	return blnResult;
}
function validate_pr(){
	var valid = true;

	if ( document.form.rag_soc.value == ""){
		alert ( "Mi dispiace ma non hai impostato la ragione sociale." );
		document.form.rag_soc.focus();
		valid = false;
	}
	else if ( document.form.tel.value == ""){
		alert ( "Mi dispiace ma il telefono è obbligatorio." );
		document.form.tel.focus();
		valid = false;
	}
	else if ( document.form.email.value == ""){
		alert ( "Mi dispiace ma non hai impostato nessuna e-mail." );
		document.form.email.focus();
		valid = false;
	}
	return valid;
}
function validate_lcl(){
	var valid = true;
	// numero di categorie
	var num = 8;
	var ck = false;
	var w;
	for(w=0;w<num;w++){
		if (document.form.tipologia[w].checked){
			ck = true;
		}
	}
	if (ck == false){
		alert ( "Mi dispiace ma la tipologia del locale è obbligatoria." );
		valid = false;
	}
		
	else if ( document.form.nomeLocale.value == ""){
		alert ( "Mi dispiace ma il nome del locale è obbligatorio." );
		document.form.nomeLocale.focus();
		valid = false;
	}
	else if ( document.form.localita.value == ""){
		alert ( "Mi dispiace ma la località è obbligatoria." );
		document.form.localita.focus();
		valid = false;
	}
	else if ( document.form.provincia.value == ""){
		alert ( "Mi dispiace ma la provincia è obbligatoria." );
		document.form.provincia.focus();
		valid = false;
	}
	else if (document.form.sitoInternet.value.length > 0){
		if (!urlRegxp.test(document.form.sitoInternet.value)){
			alert ( "Mi dispiace ma il link non è corretto. Il formato è www.nomesito.ex etc..." );
			document.form.sitoInternet.focus();
			valid = false;
		}
	}
	else if (document.form.mail.value.length > 0){
		if (!mailRegxp.test(document.form.mail.value)){
			alert ( "Mi dispiace ma la mail inserita non ha un formato corretto." );
			document.form.mail.focus();
			valid = false;
		}
	}

	return valid;
}


function validate_cnt(){
	var valid = true;

	if ( document.form.cantante.value == ""){
		alert ( "Mi dispiace ma non hai impostato nessun gruppo o cantante." );
		document.form.cantante.focus();
		valid = false;
	}
	else if ( document.form.descrizione.value.length > lungMax){
		alert ( "La descrizione massima per il web è di "+ lungMax +" caratteri." );
		document.form.descrizione.focus();
		valid = false;
	}
	else if ( document.form.data.value == ""){
		alert ( "Mi dispiace ma la data del concerto è obbligatorio." );
		valid = false;
	}
	else if ( document.form.luogo.value == ""){
		alert ( "Mi dispiace ma non hai impostato nessun luogo per il concerto." );
		document.form.luogo.focus();
		valid = false;
	}
	else if ( document.form.paese.value == ""){
		alert ( "Mi dispiace ma non hai impostato nessun paese per il concerto." );
		document.form.paese.focus();
		valid = false;
	}
	else if ( document.form.provincia.value == ""){
		alert ( "Mi dispiace ma non hai impostato nessuna provincia per il concerto." );
		document.form.provincia.focus();
		valid = false;
	}
	else if (document.form.linkPrenota.value.length > 0){
		if (!urlRegxp.test(document.form.linkPrenota.value)){
			alert ( "Mi dispiace ma il link di prenotazione non è corretto. Il formato è www.nomesito.ex/etc etc..." );
			document.form.linkPrenota.focus();
			valid = false;
		}
	}

	if (valid){
		var mytool_array= document.form.data.value.split(" ");
		document.form.data.value = mytool_array[0];
	}
	if (moreToday(document.form.data.value)){
		alert ( "Mi dispiace ma la data non può essere già passata." );
		valid = false;
	}
	return valid;
}
function validate_mod_data(){
	valid = true;
	if ( document.form.mail.value == ""){
		alert ( "Mi dispiace ma la e-mail è obbligatoria." );
		document.form.mail.focus();
		valid = false;
	}
	else if ( document.form.localita.value == ""){
		alert ( "Mi dispiace ma la localita è obbligatoria." );
		document.form.localita.focus();
		valid = false;
	}
	else if ( document.form.provincia.value == ""){
		alert ( "Mi dispiace ma la provincia è obbligatoria." );
		document.form.provincia.focus();
		valid = false;
	}
	else if (!mailRegxp.test(document.form.mail.value)){
		alert ( "Mi dispiace ma la mail inserita non ha un formato corretto." );
		document.form.mail.focus();
		valid = false;
	}
	return valid;
}

function validate_rcs(){
	valid = true;
	if ( document.form_1.locale_codice.value == ""){
		alert ( "Mi dispiace ma non si ha selezionato nessun locale di riferimento." );
		valid = false;
	}
	else if (!IsNumeric(document.form_1.locale_codice.value)){
		alert ( "Mi dispiace ma non si ha selezionato nessun locale di riferimento." );
		valid = false;
	}
	else if ( document.form_1.commento.value == ""){
		alert ( "Mi dispiace ma il commento al locale è obbligatorio. Di la tua opinione!" );
		document.form_1.commento.focus();
		valid = false;
	}
	else if ( document.form_1.commento.value.length > lungMax){
		alert ( "La descrizione massima del commento è di "+ lungMax +" caratteri." );
		document.form_1.commento.focus();
		valid = false;
	}
	else if ( document.form_1.musica.value == "0"){
		alert ( "Le votazioni vanno da un minimo di 1 stella al massimo di 5 stelle." );
		valid = false;
	}
	else if ( document.form_1.servizio.value == "0"){
		alert ( "Le votazioni vanno da un minimo di 1 stella al massimo di 5 stelle." );
		valid = false;
	}
	else if ( document.form_1.economicita.value == "0"){
		alert ( "Le votazioni vanno da un minimo di 1 stella al massimo di 5 stelle." );
		valid = false;
	}
	else if ( document.form_1.parcheggio.value == "0"){
		alert ( "Le votazioni vanno da un minimo di 1 stella al massimo di 5 stelle." );
		valid = false;
	}
	return valid;
}

function validate_vnt(){
	valid = true;
	if ( document.form_1.locale_codice.value == ""){
		alert ( "Mi dispiace ma non si ha selezionato nessun locale di riferimento." );
		valid = false;
	}
	else if (!IsNumeric(document.form_1.locale_codice.value)){
		alert ( "Mi dispiace ma non si ha selezionato nessun locale di riferimento." );
		valid = false;
	}
	else if (document.form_1.tipo_evento.selectedIndex == 0 ){
		alert ( "Devi selezionare il tipo di evento per continuare." );
		document.form_1.tipo_evento.focus();
		valid = false;
	}
	else if (document.form_1.tipo_musica.selectedIndex == 0 ){
		alert ( "Devi selezionare il tipo di musica per continuare." );
		document.form_1.tipo_musica.focus();
		valid = false;
	}
	else if ( document.form_1.titolo.value == ""){
		alert ( "Devi inserire il titolo dell'evento." );
		document.form_1.titolo.focus();
		valid = false;
	}
	else if ( document.form_1.titolo.value.length > 50){
		alert ("Il titolo ha la lunghezza massima di 50 caratteri.");
		document.form_1.titolo.focus();
		valid = false;
	}
	else if ( document.form_1.dexi_web.value == ""){
		alert ( "La descrizione per la parte web di mynight è obbligatoria." );
		document.form_1.dexi_web.focus();
		valid = false;
	}
	else if ( document.form_1.dexi_web.value.length > lungMax){
		alert ( "La descrizione massima per il web è di "+ lungMax +" caratteri." );
		document.form_1.dexi_web.focus();
		valid = false;
	}

	else if ( document.form_1.dexi_mob.value == ""){
		alert ( "La descrizione per la parte mobile di mynight è obbligatoria. Ricordati al massimo 250 caratteri." );
		document.form_1.dexi_mob.focus();
		valid = false;
	}
	else if ( document.form_1.dexi_mob.value.length > 250){
		alert ( "La descrizione per la parte mobile di mynight può avere al massimo 250 caratteri." );
		document.form_1.dexi_mob.focus();
		valid = false;
	}
	else if ( document.form_1.data.value == ""){
		alert ( "Devi selezionare la data di questo evento. Usa il link 'seleziona data' per farlo." );
		valid = false;
	}
	else if (moreToday(document.form_1.data.value)){
		alert ( "Mi dispiace ma la data non può essere già passata." );
		valid = false;
	}
	// 
	if (!(undefined===document.form_1.imgVolantino)){
		if(document.form_1.imgVolantino.checked == true){
			if(document.form_1.file1.value == ""){
				alert ( "Mi dispiace ma devi caricare un flyer se selezioni l'opzione flyer." );
				valid = false;
			}
		}
	}
	if (valid){
		var mytool_array = document.form_1.data.value.split(" ");
		document.form_1.data.value = mytool_array[0];
//		alert(document.form_1.data.value);
	}
	return valid;
}

function validate_fly(){
	valid = true;
	if(document.form.file1.value == ""){
		alert ( "Mi dispiace ma devi caricare un flyer se selezioni l'opzione flyer." );
		valid = false;
	}
	return valid;
}


function validate_fst(){
	valid = true;

	if ( document.form.nomeFesta.value == ""){
		alert ( "Mi dispiace ma non si ha impostato il nome della festa." );
		document.form.nomeFesta.focus();
		valid = false;
	}
	else if ( document.form.descrizioneFesta.value == ""){
		alert ( "Devi inserire la descrizione della festa." );
		document.form.descrizioneFesta.focus();
		valid = false;
	}
	else if ( document.form.descrizioneFesta.value.length > 1500){
		alert ( "La descrizione massima è di "+ 1500 +" caratteri." );
		document.form.descrizioneFesta.focus();
		valid = false;
	}
//	else if ( document.form.descrizioneMusica.value == ""){
//		alert ( "Devi inserire la descrizione della musica." );
//		document.form.descrizioneMusica.focus();
//		valid = false;
//	}
//	else if ( document.form.descrizioneMusica.value.length > lungMax){
//		alert ( "La descrizione massima è di "+ lungMax +" caratteri." );
//		document.form.descrizioneMusica.focus();
//		valid = false;
//	}
	else if ( document.form.riferimento.value == ""){
		alert ( "Devi inserire il luogo di svolgimento della festa." );
		document.form.riferimento.focus();
		valid = false;
	}
	else if (document.form.dataInizio.value == ""){
		alert ( "Mi dispiace ma non si ha selezionato nessuna data di inizio festa." );
		valid = false;
	}
	else if (document.form.dataFine.value == ""){
		alert ( "Mi dispiace ma non si ha selezionato nessuna data di fine festa." );
		valid = false;
	}
	else if ( document.form.localita.value == ""){
		alert ( "Devi impostare il paese della festa." );
		document.form.localita.focus();
		valid = false;
	}
	else if (document.form.link_info.value.length > 0){
		if (!urlRegxp.test(document.form.link_info.value)){
			alert ( "Mi dispiace ma il link di prenotazione non è corretto. Il formato è www.nomesito.ex/etc etc..." );
			document.form.link_info.focus();
			valid = false;
		}
	}
	else if ( document.form.provincia.value == ""){
		alert ( "Devi impostare la provincia della festa." );
		document.form.provincia.focus();
		valid = false;
	}
	else if (moreToday(document.form.dataInizio.value)){
		alert ( "Mi dispiace ma la data di inizio festa non può essere già passata." );
		valid = false;
	}
	else if (moreToday(document.form.dataFine.value)){
		alert ( "Mi dispiace ma la data di fine festa non può essere già passata." );
		valid = false;
	}

	if (valid){
		var d1_tmp = document.form.dataInizio.value;
		var d2_tmp = document.form.dataFine.value;
		
		var ar1= d1_tmp.split(" ");
		var ar2= d2_tmp.split(" ");

		document.form.dataInizio.value = ar1[0];
		document.form.dataFine.value = ar2[0];

		return true;
	}
	else{
		return false;
	}
}