/**
 * Effects
 *
 * Adds various fancy effects to index.html
 *
 * @version 0.75 Apr.21.2008 Replaced 'domready' event for 'load'.
 * This corrects the issue of effects not loading properly for dynamically
 * generated content (using AJAX) on index.html
 *
 * @author Rafael Alejandro Huerta Pérez
 * 	   Luis Fernando González Fernández
 */

/**
 * Global flags used to determine the visibility of email panel.
 */ 
var userFocus = false;
var passFocus = false;
var serverFocus = false;

function setupMenuEffects(menuCategoryDivId){
	/*
	 * Sets up all '#listMenu li' block-level elements 'mouseenter'
	 * and 'mouseleave' events, to change the element's class visual
	 * attributes,therefore the element visual aspect.
	 *
	 * The result is the hovered fancy menu on '#listMenu li'
	 */
	if(menuCategoryDivId == 'listMenu'){

		var list = $$('#listMenu li');
		list.each(function(element) {
			
			var fx = new Fx.Styles(element, {duration:200, wait:false});
			
			element.addEvent('mouseenter', function(){
				fx.start({
					'margin-left': 4,
					'background-color': '#B2B9C9', //#A5A5A5 rgb(165, 166, 165)
					'color': '#FFFFFF'
				});
			});
			
			element.addEvent('mouseleave', function(){
				fx.start({
					'margin-left': 0,
					'background-color': '#E6E6E6', //#E6E6E6 rgb(231, 231, 231)
					'color': '#666'
				});
			});
			
		});

	}

	/*
	 * Sets up all '#servicios li' block-level elements 'mouseenter'
	 * and 'mouseleave' events, to change the element's class visual
	 * attributes,therefore the element visual aspect.
	 *
	 * The result is the hovered fancy menu on '#servicios li'
	 */
	if(menuCategoryDivId == 'servicios'){
	
		var list = $$('#servicios li');
		list.each(function(element) {
			
			var fx = new Fx.Styles(element, {duration:200, wait:false});
			
			element.addEvent('mouseenter', function(){
				fx.start({
					'margin-left': 4,
					'background-color': '#EDE5CC', //#EEEEDE
					'color': '#FFFFFF' //#F6EEDE
				});
			});
			
			element.addEvent('mouseleave', function(){
				fx.start({
					'margin-left': 0,
					'background-color': '#F6F2E6', //#F6EEDE F6F2E6
					'color': '#666' //#E6E6C5
				});
			});
			
		});

	}
}

function setupEmailEffect(){
	var emailSlide = new Fx.Slide('email-panel', {duration: 700});
	emailSlide.hide();
	$('email').addEvent('mouseenter', function(e){
		e = new Event(e);
		emailSlide.slideIn();
		e.stop();
	});
	
	$('email').addEvent('mouseleave', function(e){
		if(document.emailForm.IDToken1.value == '' && document.emailForm.IDToken2.value == '' && !userFocus && !passFocus &&!serverFocus){
			e = new Event(e);
			emailSlide.slideOut();
			e.stop();
		}
	});
}

function setupEncuEffect(){
	var emailSlide = new Fx.Slide('encu-panel', {duration: 700});
	emailSlide.hide();
	$('encu').addEvent('mouseenter', function(e){
		e = new Event(e);
		emailSlide.slideIn();
		e.stop();
	});
	
	$('encu').addEvent('mouseleave', function(e){
		
			e = new Event(e);
			emailSlide.slideOut();
			e.stop();
		
	});
}


/*
 * This adds the slide effect to 'buscador' block-level element
 * and then calls it's hide() method. This makes the slide be 
 * ready to be used.
 */
function setupSliderEffect(){
	var searchSlide = new Fx.Slide('buscador');
	searchSlide.hide();
	$('toggle').addEvent('click', function(e){
		e = new Event(e);
		searchSlide.toggle();
		e.stop();
	});
}

function setupCalendar(eventDays){
	var today = new Date();
	var today_string = (today.getMonth() + 1) + '-' + today.getDate() + '-' + today.getFullYear();
	
	var td_events = [];
	var dateon = [];

	/*var d_16 = (today.getMonth() + 1) + '-16-' + today.getFullYear();
	td_events[d_16] = {'click': 
				function(td, date_str){ alert(new Date().fromString(date_str)); }
			  };*/

	dateon[today_string] = function(td, date_str){
					td.setStyle('font-weight', 'bold');
					td.setStyle('text-decoration', 'underline');
				};

	for(var i = 0; i < eventDays.length; i++){
		dateon[eventDays[i]] = function(td, date_str){
					td.setStyle('background-color', '#D7DEC7');
					td.setStyle('text-decoration', 'underline');
					};
		td_events[eventDays[i]] = {
					'click': function(td, date_str){ loadContent('eventos_fecha', 'eventos_fecha', {'date': date_str}, true); }
					};
	}

	/*var d_19 = (today.getMonth() + 1) + '-5-' + today.getFullYear();
	dateon[d_19] = function(td, date_str){
			td.setStyle('background-color', '#DAD1BC');
			td.setStyle('color', '#FFFFFF');
			td.setStyle('font-weight', 'bold');
		       };*/

	var calendar_options = {
		inputType: 'none',
		idPrefix:'es_cal',
		visible: true,
		startDay: 1,
		dateOnAvailable: dateon,
		tdEvents: td_events,
		language:{
			'days':{
				'char':['S','L','M','M','J','V','S'],
				'short':['So','Lu','Ma','Mi','Ju','Vi','Sá'],
				'mid':['D','L','M','M','J','V','S'],
				'long':['Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado']
			},
			'months':{
				'short':['Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic'],
				'long':['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre']
			},
			'am_pm':{
				'lowerCase':['am','pm'],
				'upperCase':['AM','PM']
			}
		}
		//onSelect: alertSelection
	};

	var es_cal = new Calendar('cal_es', null, calendar_options);
	loadContent('eventos_fecha', 'eventos_fecha', {'date': today_string}, true);
}

function setupEffects(){
	/*
	 * This call adds the 'load' event into the current window.
	 * The function passed sets up all '#listMenu li' and '#servicios li'
	 * block-level elements 'mouseenter' and 'mouseleave' events, to
	 * change the element's class visual attributes,therefore the element
	 * visual aspect.
	 *
	 * The result is the hovered fancy menu on '#listMenu li' and '#servicios li'
	 */

	var list = $$('#listMenu li');
	list.each(function(element) {
		
		var fx = new Fx.Styles(element, {duration:200, wait:false});
		
		element.addEvent('mouseenter', function(){
			fx.start({
				'margin-left': 4,
				'background-color': '#A5A5A5', //#A5A5A5 rgb(165, 166, 165)
				'color': '#FFFFFF'
			});
		});
		
		element.addEvent('mouseleave', function(){
			fx.start({
				'margin-left': 0,
				'background-color': '#E6E6E6', //#E6E6E6 rgb(231, 231, 231)
				'color': '#666'
			});
		});
		
	});
	
	var list = $$('#servicios li');
	list.each(function(element) {
		
		var fx = new Fx.Styles(element, {duration:200, wait:false});
		
		element.addEvent('mouseenter', function(){
			fx.start({
				'margin-left': 4,
				'background-color': '#EDE5CC', //#EEEEDE
				'color': '#FFFFFF' //#F6EEDE
			});
		});
		
		element.addEvent('mouseleave', function(){
			fx.start({
				'margin-left': 0,
				'background-color': '#F6F2E6', //#F6EEDE F6F2E6
				'color': '#666' //#E6E6C5
			});
		});
		
	});

	/*
	 * This adds the slide effect to 'buscador' block-level element
	 * and then calls it's hide() method. This makes the slide be 
	 * ready to be used.
	 */

	var searchSlide = new Fx.Slide('buscador');
	searchSlide.hide();
	$('toggle').addEvent('click', function(e){
		e = new Event(e);
		searchSlide.toggle();
		e.stop();
	});


	var emailSlide = new Fx.Slide('email-panel', {duration: 700});
 	emailSlide.hide();
	$('email').addEvent('mouseenter', function(e){
		e = new Event(e);
		emailSlide.slideIn();
		e.stop();
	});
	
	$('email').addEvent('mouseleave', function(e){
		if(document.emailForm.IDToken1.value == '' && document.emailForm.IDToken2.value == '' && !userFocus && !passFocus &&!serverFocus){
			e = new Event(e);
			emailSlide.slideOut();
			e.stop();
		}
	});
}
//**************************************************************************

//**************************************************************************
/*window.addEvent('domready', function(){
	var szNormal = 100, szSmall  = 80, szFull   = 130;
	
	var kwicks = $$("#menubar .menu");
	var fx = new Fx.Elements(kwicks, {wait: false, duration: 300, transition: Fx.Transitions.Back.easeOut});
	kwicks.each(function(kwick, i) {
		kwick.addEvent("mouseenter", function(event) {
			var o = {};
			o[i] = {width: [kwick.getStyle("width").toInt(), szFull]}
			kwicks.each(function(other, j) {
				if(i != j) {
					var w = other.getStyle("width").toInt();
					if(w != szSmall) o[j] = {width: [w, szSmall]};
				}
			});
			fx.start(o);
		});
	});
	
	$("menubar").addEvent("mouseleave", function(event) {
		var o = {};
		kwicks.each(function(kwick, i) {
			o[i] = {width: [kwick.getStyle("width").toInt(), szNormal]}
		});
		fx.start(o);
	})
	
}); */
//**************************************************************************

/*Menú Lateral*/ //loadContent('listMenu', 'menu', {'menu_category_name' : 'Menú Lateral', 'div_id': 'listMenu'}, true);
/*Fecha*/ //loadContent('fecha-actual', 'fecha', null, true);
/*Load Content Divs*/ //loadContent('content-sidebar-right', 'contenido', null, true);
	/*Noticias Encabezado*/ //loadContent('noticias', 'noticia', null, true);
	/*Banner*/ //loadContent('banner', 'banner', {'width': 465, 'height': 72}, true);
	/*Actividades Principal*/ //loadContent('actividades_principal', 'actividades', null, true);
	/*Actividades Secundarias*/ //loadContent('actividades_secundarias', 'actividades_secundarias', null, true);
	/*Agenda*/ //loadContent('agenda', 'agenda', null, true);
	/*Comunidad Universitaria*/ //loadContent('comunidad-universitaria', 'comunidad', null, true);
/*Panel E-Mail*/ //loadContent('email', 'panel_email', null, true);
/*Servicios en Línea*/ //loadContent('servicios', 'menu', {'menu_category_name': 'Servicios en Linea'}, true);
/*Encuesta*/ //loadContent('encuesta', 'encuesta', null, true);
//window.addEvent('load', setupEffects());