/* 
 * $Date: 2009-11-05 17:53:18 +0100 (gio, 05 nov 2009) $
 * $Rev: 236 $
 */
  
/*
 * Copyright (c) 2008 Massimiliano Balestrieri
 * 
 * $Date:2008-10-28 17:04:42 +0100 (mar, 28 ott 2008) $
 * $Rev:251 $
 * @requires jQuery v1.3.2
 * @requires jQuery UI v1.7.2
 * 
 * Copyright (c) 2008 Massimiliano Balestrieri
 * Examples and docs at: http://maxb.net/blog/
 * Licensed GPL licenses:
 * http://www.gnu.org/licenses/gpl.html
 */

jQuery.noConflict();

(function($){

var MyDialog = function(options){
	
	// INIZIO AGGIUNTA il 12/1/2010 (Guido)
    //CSS DIALOG:
    var _url = '/ris/css/generaliV3/jquery/dialog_print.css';
    var _css = $('<link type="text/css" href="'+_url+'" rel="stylesheet" media="print" id="dialog-print" />');
    // FINE AGGIUNTA il 12/1/2010 (Guido)
		
	return this.each(function(){
		
		var that = this;
		var _tag = this.tagName.toString().toLowerCase();
		
		var _event = _tag == 'form' ? 'submit' : 'click';
		var _method = _tag == 'form' ? that.method.toString().toUpperCase() : 'GET';
		var _target = _tag == 'form' ? that.action : that.href;
		var _data = '';
		
		//GESTIONE LOGICA OPZIONI
		if (! options) {
			options = {};
	    }
		
		var _options = {};
		if ($.metadata) {
			_options = $(this).metadata();
	    }
		
		if (this.title) {
			_options.title = this.title;
		}
	
		_options = $.extend(_options, options);
		
		if ((_tag == 'a') && (this.href.indexOf("#") !== -1) && (! _options.target)) {
			_options.target = "#" + this.href.split("#")[1];
			_options.type = 'inline';
		}
		
		if (_options.modal) {
			_options.overlay = { opacity: 0.5,background: "black" };
		}

		//disabilitare il resize?
		var _ie6 = false; //typeof document.body.style.maxHeight === "undefined";
        if (_ie6) {
			_options.resizable = false;
	    }
		
		function _close() {
	       $("#ahah").remove();
	       $(".ui-dialog").remove();
	       $("#mydialog-target").remove();
	       
            _css.remove(); // AGGIUNTO il 12/1/2010 (Guido)
	    };
	    
		
		//EVENTO
		$(that).bind(_event, function(){
	        
            $("head").append(_css); // AGGIUNTO il 12/1/2010 (Guido)
	        
			//INLINE
			if ((_options.target) && (_options.type == 'inline')) {
				var _clone = $(_options.target).clone();
				$("body").append(_clone);
				_clone.dialog(_options).show();
			} else {
			
				//FORM - raccolgo i dati (PER ORA SOLO TEXT e HIDDEN
				if (_tag == 'form') {
					_data = [];
					
					$("input:text, input:hidden", that).each(function(){
						if (this.name) {
							_data.push(this.name + "=" + $(this).val());
						}
					});
					
					_data = _data.join("&");
				}
				_options.close = _close;
				
				$.ajax({
					type: _method,
					url: _target,
					data: _data,
					success: function(data){
						//SII
						var re = /<body([\S\s]*)>([\S\s]*)<\/body>/;
						var _d = data.match(re);
						var _html = _d && _d[0] ? _d[0] : data;
						//console.log(_html);
						//return;
						//_html = _html.replace(/<script.?>[\s\S]?<\/script>/ig, '');
						_html = _html.replace(/<script[\s\S]*script>/ig, '');
						//console.log(_html_clean);
						//return;
						
						var _ahah = $('<div id="ahah" style="display:none"></div>');

						$("body").append(_ahah); //+_d[0]+'
						_ahah.append(_html);

						var _dialog = $("#ahah").find("#dialog_target");
						if (_dialog.length == 0) {
							_dialog = _ahah;
						}
							
						//var re = /<div id=\"dialog_target\">([\S\s]*)<!--\/dialog-target-->/;
    					//var _d = data.match(re);
        	            //var _html = _d && _d[0] ? _d[0] : data;
    					//$("body").append('<div id="ahah" style="display:none"></div>');//+_d[0]+'
                    	//var _dialog = $("#ahah").append(_html);
                    
						_dialog.dialog(_options).show();
						
						$("span.stampa", _dialog).jbutton({
							text: 'stampa',
							callback: function(){
								window.print();
							}
						});
						
						// MODIFICATO il 12/1/2010 (Guido)
						$("span.chiudi_dialog", _dialog).jbutton({
							text: 'chiudi',
							callback: function(){
								//_ahah.dialog("close");
								_close();
							}
						});
					}
				});
			}
			
			return false;
		});//evento
	
	});//each

};

$.fn.mydialog = MyDialog;
	
////////////////////////////////////////////////////////////////////////////////
//*********** DIALOG AUTOLOAD **********************************************
////////////////////////////////////////////////////////////////////////////////
$(document).ready(function(){
    
	$('div.dialog').dialog({
        title : this.title
    });
	
	/* MODIFICATO il 12/1/2010 (Guido)
	 * Il caricamento di dialog_print.css non deve avvenire nella pagina base 
	 * ma solo all'atto dell'effettiva apertura della finestra di dialog.
	 */
	/*
	//CSS DIALOG:
	var _url = '/ris/css/generaliV3/jquery/dialog_print.css';
	var _css = $('<link type="text/css" href="'+_url+'" rel="stylesheet" media="print" id="dialog-print" />');
	$("head").append(_css);
	*/

	//VECCHIA IMPLEMENTAZIONE
    //$('a.dialog').click(function(){
	//	$(this).mydialog();
	//	return false;
	//});
	
	//NUOVA IMPLEMENTAZIONE (eredito da sii)
	if($.ui){
		$.ui.dialog.defaults.bgiframe = true;
		$('a.dialog, form.dialog').mydialog();
	}
	
});



////////////////////////////////////////////////////////////////////////////////
//*********** DATEPICKER IT ****************************************************
//Italian initialisation for the $ UI date picker plugin.
//Written by Apaella (apaella@gmail.com).
////////////////////////////////////////////////////////////////////////////////
$(function($){
    $.datepicker.regional['it'] = {
        clearText: 'Svuota', clearStatus: 'Annulla',
        closeText: 'Chiudi', closeStatus: 'Chiudere senza modificare',
        prevText: '&#x3c;Prec', prevStatus: 'Mese precedente',
        prevBigText: '&#x3c;&#x3c;', prevBigStatus: 'Mostra l\'anno precedente',
        nextText: 'Succ&#x3e;', nextStatus: 'Mese successivo',
        nextBigText: '&#x3e;&#x3e;', nextBigStatus: 'Mostra l\'anno successivo',
        currentText: 'Oggi', currentStatus: 'Mese corrente',
        monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno',
        'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'],
        monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu',
        'Lug','Ago','Set','Ott','Nov','Dic'],
        monthStatus: 'Seleziona un altro mese', yearStatus: 'Seleziona un altro anno',
        weekHeader: 'Sm', weekStatus: 'Settimana dell\'anno',
        dayNames: ['Domenica','Luned&#236','Marted&#236','Mercoled&#236','Gioved&#236','Venerd&#236','Sabato'],
        dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'],
        dayNamesMin: ['Do','Lu','Ma','Me','Gio','Ve','Sa'],
        dayStatus: 'Usa DD come primo giorno della settimana', dateStatus: 'Seleziona D, M d',
        dateFormat: 'dd/mm/yy', firstDay: 1, 
        initStatus: 'Scegliere una data', isRTL: false};
    $.datepicker.setDefaults($.datepicker.regional['it']);
});
			
////////////////////////////////////////////////////////////////////////////////
//*********** DATEPICKER AUTOLOAD **********************************************
////////////////////////////////////////////////////////////////////////////////
$(document).ready(function(){
    $('div.calendario').datepicker(
        $.extend({},$.datepicker.regional["it"],{
            defaultDate : 0
        })
     );
	$(':input.calendario').each(function(){
		if(!this.disabled){
			var _options = {};
			if($.metadata)
				_options = $(this).metadata();
			$(this).datepicker(
		        $.extend(
					_options,
					$.datepicker.regional["it"],
					{
		            	showOn: "button", 
			            buttonImage: '/ris/css/generaliV3/jquery/im/ico_calendario.gif',  
			            buttonImageOnly: true,
						buttonText: 'clicca sul calendario per selezionare la data'
			        })
	    	);
		}else{
			$(this).after('<img class="ui-datepicker-trigger" src="/ris/css/generaliV3/jquery/im/ico_calendario_disabled.gif" alt="calendario disabilitato" title="calendario disabilitato" />');	
		}
	});
    $(':input.calendario')
});

////////////////////////////////////////////////////////////////////////////////
//*********** THEME AUTOLOAD ***************************************************
////////////////////////////////////////////////////////////////////////////////
$(document).ready(function(){
    var _class = $("body").attr("class");
    //console.log(_class);
    if(_class && _class.indexOf("tema") !== -1){
        _class = _class.replace("tema-","");
        var _url_base = '/ris/css/generaliV3/jquery/temi-1.7.2/' + _class + '/jquery-ui-1.7.2.custom.css';
        //console.log(_url_base);
        $('head').append('<link type="text/css" href="'+_url_base+'" rel="stylesheet" media="screen" />');    
    }
});		

////////////////////////////////////////////////////////////////////////////////
//*********** ACCORDION AUTOLOAD ***********************************************
////////////////////////////////////////////////////////////////////////////////
$(document).ready(function(){
    $(".accordion").accordion({
        header: ".ui-accordion-header",
        clearStyle: true
    });
});

	
////////////////////////////////////////////////////////////////////////////////
//*********** SLIDER AUTOLOAD **************************************************
////////////////////////////////////////////////////////////////////////////////
$(document).ready(function(){
    $('.slider').slider();
    $('.slider-range').slider({range: true});
});
////////////////////////////////////////////////////////////////////////////////
//*********** TABS AUTOLOAD ****************************************************
////////////////////////////////////////////////////////////////////////////////
$(document).ready(function(){
    $(".tabs").tabs();
});

////////////////////////////////////////////////////////////////////////////////
//*********** WIZARD ***********************************************************
////////////////////////////////////////////////////////////////////////////////

var TabsWizard = function(){
	
	
	return this.each(function(){
		
		var that = this;
		var _tpl_a_avanti = '<a href="#" class="nav160" title="#">avanti</a>';
		var _tpl_a_indietro = '<a href="#" class="nav160" title="#">indietro</a>';
		//var _tabs = $(that).find("div:regex([id, /fragment-/g])");
		//console.log($(that).find("div:regex([id, /fragment-/g])"));
		//console.log($(that).find("div[id^='fragment-']"));
		var _tabs = $(that).find("div[id^='fragment-']");
		//alert(_tabs.length);
		var _size = _tabs.length;
		
		_tabs.each(function(nr){
			
			var _tab  = $(this);
			var _a_avanti = $(_tpl_a_avanti);
			var _a_indietro = $(_tpl_a_indietro);
			
			
			if(nr != 0){
				
				$(".wiz_indietro",_tab).append(_a_indietro);
				_a_indietro.click(function(){
					$(that).tabs("select", (nr - 1));
					return false;
				});
			
			}
				

			if(nr != (_size +1)){

				$(".wiz_avanti",_tab).append(_a_avanti);
				_a_avanti.click(function(){
					$(that).tabs("select", (nr + 1));
					return false;
				});

			}
			
		});
	});
};
	
$.fn.tabs_wizard = TabsWizard;

$(document).ready(function(){
	$(".wizard").tabs_wizard();
});
	

})(jQuery);
