/*
 * FeatureList - simple and easy creation of an interactive "Featured Items" widget
 * Examples and documentation at: http://jqueryglobe.com/article/feature_list/
 * Version: 1.0.0 (01/09/2009)
 * Copyright (c) 2009 jQueryGlobe
 * Licensed under the MIT License: http://en.wikipedia.org/wiki/MIT_License
 * Requires: jQuery v1.3+
*/

	jQuery(function() {
		
		var active_section = "proposte_lettori";

		// GESTIONE INVIO FORM ARTICOLO
		function send_story(active_section,Titolo,Sommario,Testo,Nickname,Email) {

			$.ajax({
				type: "POST",
				url: "/stories/"+active_section+"/invio_story/",
				data: "titolo="+Titolo+"&sommario="+Sommario+"&testo="+Testo+"&nickname="+Nickname+"&email="+Email,
				success: function(msg){
					$("#dialog-form-inchiesta").dialog( "close" );
					$("#dialog-conferma").dialog( "open" );
				},
				error: function(msg){
					//alert('errore');
				}
			});
		
		}
	
		
		// a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
		$( "#dialog:ui-dialog" ).dialog( "destroy" );
		
		var Titolo = $( "#Titolo" ),
			Sommario = $( "#Sommario" ),
			Testo = $( "#Testo" ),
			//Nickname = $( "#Nickname" ),
			Nickname = $( "#Email" )
			
			Email = $( "#Email" ),
			Titolo_f = $( "#Titolo_f" ),
			Didascalia = $( "#Didascalia" ),
			Scegli = $( "#Scegli" ),
			//Nickname_f = $( "#Nickname_f" ),
			Nickname_f = $( "#Email_f" ),

			Email_f = $( "#Email_f" ),
			allFields_i = $( [] ).add( Titolo ).add( Sommario ).add( Testo ).add( Nickname ).add( Email ),
			allFields_f = $( [] ).add( Titolo_f ).add( Didascalia ).add( Scegli ).add( Nickname_f ).add( Email_f ),
			tips = $( ".validateTips" );

		function updateTips( t ) {
			tips
				.text( t )
				.addClass( "ui-state-highlight" );
			setTimeout(function() {
				tips.removeClass( "ui-state-highlight", 1500 );
			}, 500 );
		}

		function checkLength( o, n, min, max ) {
			if ( o.val().length > max || o.val().length < min ) {
				o.addClass( "ui-state-error" );
				var art = "del ";
				if (n == 'email')
				{
				art = "della ";
				}
				updateTips( "La lunghezza " + art + n + " deve essere compresa tra " +
					min + " e " + max + " caratteri." );
				return false;
			} else {
				return true;
			}
		}

		function checkRegexp( o, regexp, n ) {
			if ( !( regexp.test( o.val() ) ) ) {
				o.addClass( "ui-state-error" );
				updateTips( n );
				return false;
			} else {
				return true;
			}
		}
		
		// APERTURA FORM INCHIESTA
		$( "#dialog-form-inchiesta" ).dialog({
			autoOpen: false,
			height: 600,
			width: 400,
			modal: true,
			buttons: {
				Cancella: function() {
					$( this ).dialog( "close" );
				},
				"Inserisci": function() {
					var bValid = true;
					allFields_i.removeClass( "ui-state-error" );

					bValid = bValid && checkLength( Titolo, "titolo", 3, 200 );
					bValid = bValid && checkLength( Testo, "testo", 3, 500 );
					//bValid = bValid && checkLength( Nickname, "nickname", 3, 50 );
					bValid = bValid && checkLength( Email, "email", 6, 80 );
					bValid = bValid && checkRegexp( Email, /^((([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, "Il formato della mail deve essere ui@jquery.com" );

					if ( bValid ) {
						
						// INVIO FORM
						send_story(active_section,Titolo.val(),Sommario.val(),Testo.val(),Nickname.val(),Email.val());
						//$( this ).dialog( "close" );
					}
				}
			},
			close: function() {
				allFields_i.val( "" ).removeClass( "ui-state-error" );
			}
		});

		// APERTURA FORM FOTO (non viene gestito tramite ajax ma tramite refresh a una specifica pagina con il parametro send_photo_result)
		$( "#dialog-form-foto" ).dialog({
			autoOpen: false,
			height: 600,
			width: 400,
			modal: true,
			buttons: {
				Cancella: function() {
					$( this ).dialog( "close" );
				},
				"Inserisci": function() {
					var bValid = true;
					allFields_f.removeClass( "ui-state-error" );

					bValid = bValid && checkLength( Titolo_f, "titolo", 3, 50 );
					bValid = bValid && checkLength( Didascalia, "didascalia", 3, 500 );
					bValid = bValid && checkLength( Scegli, "file", 1, 1000 );
					//bValid = bValid && checkLength( Nickname_f, "nickname", 3, 50 );
					bValid = bValid && checkLength( Email_f, "email", 6, 80 );
					bValid = bValid && checkRegexp( Email_f, /^((([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, "Il formato della mail deve essere ui@jquery.com" );

					if ( bValid ) {
						
						// INVIO FORM
						//send_photo(active_section,Titolo.val(),Didascalia.val(),Scegli.val(),Nickname.val(),Email.val());
						$("#form_invio_foto").submit();
					
					}
				}
			},
			close: function() {
				allFields_f.val( "" ).removeClass( "ui-state-error" );
			}
		});

		$( "#dialog-conferma" ).dialog({
			autoOpen: false,
			modal: true,
			close: function() {
				allFields_f.val( "" ).removeClass( "ui-state-error" );
			}
		});

		$( "#proponi_inchiesta" )
			/*.button()*/
			.click(function() {
				$( "#dialog-form-inchiesta" ).dialog( "open" );
			});

		$( "#proponi_foto" )
			/*.button()*/
			.click(function() {
				$( "#dialog-form-foto" ).dialog( "open" );
			});
	});
