/**
 * @author Rafael Chavez Solis
 * @mail rchavez@iensistemas.com
 * @date 19/08/09
 * 
 * Este archivo se encaga de crear una funcion para agregarle los clicks 
 * a los menus de la página web ademas este archivo contiene la logica 
 * para la rotacion de banners de la página web.
 * 
 * ----- Configuracion del Banner Principal ---------
 *  IMAGENES : menores de 50K; 
 *  
 *  FLASH: si son mayores de 30K incluir escena de preload calculando tiempo restante
 *  osea tiempo de banner 10 seg menos tiempo de preload, INCLUIR stop() en ultimo frame
 * 	Archivos Flash  duración máxima 10 seg. (120 frames a 12 frames por segundo)
 *  
 * MEDIDA Universal:
 * Ancho 890 px
 * Alto 160 px
 * -----------------------------------------------------
 * 
 * Banners Secundarios
 * 200 de ancho, gif o jpg no mayores a 50K
 */
//Direccion de controlador para redireccion
var controller = '../../controller/?page='; 
//Variable contadoras para banners
var curP = 1;
var curI = 1;
var curD = 1;
//Totales de anuncios
var totalP = 0;
var totalI = 0;
var totalD = 0;
//Diraccion de archivo de configuracion de banners
var config = '../../config/configBanner.xml';
//Variable para cargar flash
var flash = false;
//Variable con la info de banners
var DATA = "";

$(function(){
	$.ajaxSetup({
		cache:false
	});
				clickTopMenu(); //Añadiendo clicks a menu superior
				clickMenu(); //Añadiendo clics a menu principal
				loadBanners(); //Cargando banners
});

/**
 * Esta funcion se encarga de inicializar las variables para los banners
 * de la página principal asi como cargar los iniciales y establecer 
 * una repeticion cada 10 seg
 */
function loadBanners(){
	//Obteniendo configuracion de banners
	$.get(config, function(data){
		 var $s = $(data).find('banner[id="1"]');
		  totalP = $s.children().size();
		  $s = $(data).find('banner[id="3"]');
		  totalI = $s.children().size();
		  $s = $(data).find('banner[id="2"]');
		  totalD = $s.children().size();
    DATA = data;
	//Estableciendo intervalo de cambio
	//Cargando banner Superior
	window.setInterval('loadPrincipal()', 30000);
	loadPrincipal();
	//Cargando banner de pagina principal
	if(izquierdo){
		window.setInterval('loadIzquierdo()', 10000);
		loadIzquierdo();	
	}
	//Cargando banner de paginas secundarias
	if (derecho) {
			window.setInterval('loadDerecho()', 10000);
			loadDerecho();
		}
		
	});
}				

/**
 * Esta funcion se encarga de cargar lso anuncions del banner principal
 */
function loadPrincipal(){
	var cont = loadAnuncioP(curP);
	$('#BannerPrincipal').empty().html(cont).hide();
	if (flash) {
		$(".ANOUNCE").media({
			width: 890,
			height: 160,
			autoplay: true
		});
		$('#BannerPrincipal').show();
	}
	else
	$('#BannerPrincipal').slideDown();
	if(curP >= totalP){
		curP = 1;
	}
	else 
	   curP++;
}
/**
 * Esta funcion se encarga de cargar un anuncio especifico del banner principal
 * @param Integer idanuncio Identificador de anuncio
 */
function loadAnuncioP(idanuncio){
	flash = false; //Resetamos variable flash
	var html = '';			

	$(DATA).find('banner[id="1"]').each(function(){ //Sacar banner principal
		var $banner = $(this);
		$banner.find('anuncio[id="'+idanuncio+'"]').each(function(){ //Sacar anuncio Indicado	
		var $anuncio = $(this);
		var link = $anuncio.attr('link'); //Obteniendo link
		html+='<a href="'+link+'">';
		var $contenido = $anuncio.find('contenido'); //Obteniendo contenido
		var file = $contenido.text();  //Obteniendo nombre de archivo
		//Verificar tipo de anuncio
			if ($contenido.attr('tipo') == 'flash') {
				html += '<a class="ANOUNCE" href="../images/bannerPrincipal/' + file + '"></a>';
				flash = true;
			}
			else 
				html += '<img src="../images/bannerPrincipal/' + file + '" border="0"/>';
		html+='</a>';
		});
	});
	return html;
 }
 
 /**
 * Esta funcion se encarga de cargar los anuncions del banner Izquierdo
 */
 function loadIzquierdo(){
 	 var cont = loadAnuncioI(curI);
	 $('#bannerIzquierdo').animate({width:0},"fast","linear",function(){
	 	$(this).empty().html(cont);
	 });
	 $('#bannerIzquierdo').animate({width:"100%"},2500,"swing");
	 
	 if(curI >= totalI)
	 	curI = 1;
	 else
	    curI++;
 }
 /**
  * Esta function se encarga de cargar el anuncio indicado
  * @param integer idanuncio Identificador de anuncio
  */
 function loadAnuncioI(idanuncio){
 	 var html ='';
	 $(DATA).find('banner[id=3]').each(function(){
	 	var $banner = $(this);
		$banner.find('anuncio[id="'+idanuncio+'"]').each(function(){
			var $anuncio = $(this);
			var link = $anuncio.attr('link'); //Obteniendo link
			html+='<a href="'+link+'" target="_blank">';
			var $contenido = $anuncio.find('contenido'); //Obteniendo contenido
			var file = $contenido.text();  //Obteniendo nombre de archivo
			
			html += '<img src="../images/bannerIzquierda/' + file + '" border="0"/>';
			html+='</a>';
		});
	 });
	 
	 return html;
 }
 
 /**
 * Esta funcion se encarga de cargar los anuncions del banner Publicitario
 */
 function loadDerecho(){
 	 var cont = loadAnuncioD(curD);

	 $('#bannerPublicidad').fadeOut("fast",function(){
	 	$(this).empty().html(cont).hide();
	 });
	 $('#bannerPublicidad').slideDown();
	 
	 if(curD >= totalD)
	 	curD = 1;
	 else
	    curD++;
 }
 /**
  * Esta function se encarga de cargar el anuncio indicado
  * @param integer idanuncio Identificador de anuncio
  */
 function loadAnuncioD(idanuncio){
 	 var html ='';
	 $(DATA).find('banner[id=2]').each(function(){
	 	var $banner = $(this);
		$banner.find('anuncio[id="'+idanuncio+'"]').each(function(){
			var $anuncio = $(this);
			var link = $anuncio.attr('link'); //Obteniendo link
			html+='<a href="'+link+'" target="_blank">';
			var $contenido = $anuncio.find('contenido'); //Obteniendo contenido
			var file = $contenido.text();  //Obteniendo nombre de archivo
			
			html += '<img src="../images/bannerPublicidad/' + file + '" border="0"/>';
			html+='</a>';
		});
	 });
	 
	 return html;
 }
 
 
 
 /*********************************** FUNCIONES PARA MENUS *******************************/
 
 /**
  * Funcion para añadir los clicks al menu superior
  */
 function clickTopMenu(){
 	$(".ItemTopMenu").mouseover(function(){
			$(this).css('color','#333333');
		}).mouseout(function(){
			$(this).css('color','#666666');
		}).each(function (){
			$(this).click(function(){
				window.location=controller+$(this).text().toLowerCase();
			});
	    });
 }

/**
 * Funcion para añadir los clicks al menu principal
 */ 
 function clickMenu(){
 	$(".ItemMainMenu").mouseover(function(){
			$(this).css('color','#999999');
		}).mouseout(function(){
			$(this).css('color','#333333');
		}).each(function (){
			$(this).click(function(){
				page = 'home';
				id= $(this).attr('id');
				switch(id){
					case '1':
						page = 'acerca';
					break;
					case '2':
						page = 'congreso';
					break;
					case '3':
						page = 'calendario';
					break;
					case '4':
						page = 'colegiado';
					break;
					case '5':
						page = 'ligas';
					break;
					case '6':
						page = 'portafolio';
					break;
				}
				window.location=controller+page;
			});
	    });
 }