var Modulos = new Class({
	Implements: [Events, Options],
	options: { },
	initialize: function() {  // capturo todos los elementos "modulo" y segun su tipo lanzo las ordenes.

	},


	getModulos : function(){		
		var d = $$('div.tipos','div.tipos_nopad').each(function(item,index){
				this.switchModulo(item);	
		}.bind(this));
	},


	switchModulo: function (element){
		switch( (element.id)){
			case 'modulo_buscador': this.modulo_buscador(element); break;
			case 'vineta': this.vineta(element); break;
			case 'noticia_concabecera_sinfoto_normal': this.noticia_normal(element);break;
			case 'noticia_sinfoto_grande': this.noticia_normal(element); break;
			case 'noticia_grande': this.noticia_normal(element); break;
			case 'noticia_normal_sin_cabecera': this.noticia_normal(element); break;
			case 'noticia_desarrollada': this.noticia_normal(element); break;
			case 'noticia_normal': this.noticia_normal(element); break;
			case 'noticia_super': this.noticia_normal(element); break;
			case 'noticia_deportes': this.noticia_normal(element); break;
			case 'noticia_sinfoto_normal': this.noticia_normal(element); break;
			case 'noticia_multimedia': this.noticia_multimedia(element); break;
			case 'modulo_formatea_fecha': this.modulo_format_date(element); break;
			case 'encuesta': this.encuesta(element); break;
			case 'ultima_hora': this.modulo_ultima_hora(element); break;
			case 'fotos_dia': this.fotos_dia(element); break;
		};
	},
	nocache: function(){
		return Math.floor(Math.random()*99999);
	},
	ajaxmoduloform: function(modulo,form,data,onSuccess){
		data = $(form).toQueryString() + data;
		this.ajaxmodulo(modulo,data,onSuccess);
	},
	ajaxmodulo: function(modulo,data,onSuccess){
		var modulo    = (arguments.length > 0) ? modulo		: 0;
		var data      = (arguments.length > 1) ? data		: {};
		var onSuccess = (arguments.length > 2) ? onSuccess 	: $empty;

		// compatibilidad si data es string u Object.
		if (typeOf(data) == 'object') Object.append(data,{'ajax-modulo':modulo,'ajaxcontrol':'1','nocache': this.nocache()});
		else data = data + '&ajax-modulo='+ modulo +'&ajaxcontrol=1&nocache=' + this.nocache();

		var success = function(responseJSON, responseText){
			onSuccess(responseJSON, responseText);
		}
		new Request.JSON({	
				method:'post',
				url:'/index.php',
				data:data,
				evalScripts: 'true',
				evalResponse:true,
				onSuccess: success
			}
		).send();
		return false;
	},
	
	noticia_normal: function(element){
		date_options = {
			contenedor: element,
			lang: "es-ES"
		}
		var ToDate = new FormDates(date_options);
	},
	

	modulo_buscador: function(element) {
		var go = function(){
			if(f.value != ''){
				var valor = f.value.replace(/ /g,"-");
				document.location.href="/buscador/" + valor;
			 }
		}	
		var f = element.getElement('input[id=query]').addEvents({
			'keypress': function(event){ if(event.key == 'enter') go(); },
			'focus':  function(event){this.value = '';}
			,'mouseout':   function(event){ if(this.value == '') this.value = 'Buscar...';}


		});
		if (element.getElement('[id=buscar]'))
		element.getElement('[id=buscar]').addEvent('click',go);	
	},
	
	noticia_multimedia: function(element) {
		var actual     = 0; var estado     = 1; 
		var piezas     = element.getElements('div[id=pieza]');
		var conta      = piezas.length;
		var limbo      = new Element('div');
		var contenedor = element.getElement('div[id=contenedor_piezas]');
		if(conta!=1){
			element.getElement('a#ant').addEvent('click',  function(){anterior();     }     );
			element.getElement('a#sig').addEvent('click',  function(){siguiente();    }     );
			var toogle_e = element.getElement('a#toogle').addEvent('click',  function(){toogle(); });
			var siguiente = function(){actual = (actual < (piezas.length -1)) ? actual + 1 : 0;load(actual);}
			var anterior  = function(){actual = (actual != 0) ? actual - 1 : (piezas.length -1);load(actual);}
			var toogle    =  function(){
				if(estado){
					toogle_e.getChildren().set('src','http://statics.miamidiario.com/imagenes/btn_play_galeria.gif');
					estado = 0;
					clearInterval(timer);
				}else{
					toogle_e.getChildren().set('src','http://statics.miamidiario.com/imagenes/btn_pausa.gif');
					estado = 1;
					timer = siguiente.periodical(5000);
				}
			}
		var load = function(index){
			actual = index;
			if (typeof slimbox != 'undefined'){
				$$("#pieza a").slimbox({
					counterText: "Imagen {x} de {y}"
				});
			}
			piezas.inject(limbo);
			piezas[index].tween('opacity',['0.6','1']).inject(contenedor);
		}
		load(0);
		var timer = siguiente.periodical(5000);
		}else{
			if (typeof slimbox != 'undefined'){
				$$("#pieza a").slimbox({
					counterText: "Imagen {x} de {y}"
				});
			}
			element.getElement('div[class=contenedor_btns_galeria]').dispose();
		}
		
	},

	fotos_dia: function(element) {	
		var periodical = !(this.options.admin);
		var actual     = 0; var estado     = 1; 		
		var limbo      = new Element('div');
		var contenedor = element.getElement('div[id=contenedor_piezas]');
		var piezas     = element.getElements('div[id=pieza]');
		var controles   = element.getElements('a[id=control]').each(function(item,index){item.addEvent('click', function(){ switch(index){case 0: siguiente(); break;case 1: anterior(); break;}}); });
		var load = function(index){actual = index;piezas.inject(limbo);	piezas[index].tween('opacity',['0.6','1']).inject(contenedor);	}
		var stop = function(){  estado = 0; clearInterval(timer); }
		var play = function(){  estado = 1; if(periodical) {timer = siguiente.periodical(5000);}}		
		var siguiente = function(){actual = (actual < (piezas.length -1)) ? actual + 1 : 0;load(actual);}
		var anterior  = function(){actual = (actual != 0) ? actual - 1 : (piezas.length -1);load(actual);}
		if(periodical){ var timer  =  siguiente.periodical(5000);}
		load(0);		
		element.addEvents({mouseover: stop,mouseout:  play});
	},
	
	vineta: function(element){
		var window = element.getElement('div[class=window]');
		if(window){
		var area = window.getSize().y / (2.5);
		var myScroller = new Scroller(window,{area: area,velocity:0.2}).start();
		}
	},
	
	
	encuesta: function(element){
		var cod_enc = element.getElement('input[id=cod_enc]').value;
		element.getElement('div[id=respuestas]').getChildren().each(function(item){
			item.addEvent('click',function(){
				var iscookie = Cookie.read('survey'+cod_enc);
				if(iscookie){ alert("Voto ya registrado"); return false;}else{
				new Request.JSON({url: '/index.php', onSuccess: function(JSON){
				Cookie.write('survey'+JSON.cod_encuesta, JSON.cod_encuesta, {duration: 1});
				var params = {menu:"false",scale:"noScale",allowFullScreen:"true",wmode:"transparent"};
				var flashvars = {'library_path':'/statics/assets/charts_library/',
						 'xml_source':'%2Findex%2Ephp%3Fajax%2Dmodulo%3Dencuesta%26cod%5Fencuesta%3D'+JSON.cod_encuesta};
						 swfobject.embedSWF('/statics/assets/charts.swf', 'grafica' +JSON.cod_encuesta , 150, 150, "9.0.0","", flashvars, params, {});
				}}).post( {'ajax-modulo':'encuesta','cod_respuesta':item.id} );
			}
			});
		});
		var borde = element.getElement('div[class=wrap]');
	},
	
	
	modulo_ultima_hora: function(element){
		var window = element.getElement('div[id=pagina_titulares]');
		var area = window.getSize().y / (2.5);
		var myScroller = new Scroller(window,{area: area,velocity:0.2}).start();
	}

});

