var W3CDOM = (document.createElement && document.getElementsByTagName);

document.getElementsByClassName = function(className, container){
   var data = tags = [];
   var obj = document.getElementById("wrapper");
   var node = aux = null;
	var strClassName = className.replace(/\-/g, "\\-");
    var pattern = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	if(container) node = (typeof(container) == "object") ? container : document.getElementById(container);
	else node = (obj) ? obj : document;
	aux = node.getElementsByTagName("*");
	tags = (document.all) ? node.all : aux;
   for(var i=0;i<tags.length;i++) { if(pattern.test(tags[i].className)) data.push(tags[i]);}
   return data;
}


var e = {
	addEvent : function(obj, evType, fn, useCapture){
		if (obj.addEventListener){
			obj.addEventListener(evType, fn, useCapture);
			return true;
		}else if (obj.attachEvent){
			var r = obj.attachEvent("on"+evType, fn);
			return r;
		}else {
			return false;
		}
	}
}

var behaviours = {	
	borraCampo:function(id){
		document.getElementById(id).onfocus=function(){
			document.getElementById(id).value=""
		}
	},
	commentsForms:{
		init:function(){
			//botones cerrar de los formularios de comentarios
			var formularios = $(".comentarioForm")			
			if(formularios.length>0){
				formularios.each( function(){
					var cerrar =$('<a href="" class="closeComents">cerrar</a>')
					$this = $(this);
					cerrar.click( function($this){
						return function(){
							$this.addClass('oculto');
							$this.removeClass("visible");
							return false;
						}
					}($this));
					$this.find("fieldset:first").parent().prepend(cerrar);
					$this.addClass('oculto');
				});								
			}
		},
		checkOpen:function(){
			var formularios = $(".comentarioForm");
			formularios.each( function(){
				$(this).addClass('oculto');					   
			});			
		},
		createReply:function(){			
			$("#listComments > li").each(function(){
				var $this = $(this);						
				var form = $this.find("form").eq(0);
				var reply = null;
				if(logado){
					reply = $('<span class="reply"><a href="#">Responder</a></span>');					
					reply.click( function(form){
						return function(){
							behaviours.commentsForms.checkOpen();
							form.removeClass('oculto');
							return false;
						}
					}(form));					
				}
				form.before(reply);	
			})
		}
	}
}


var curves={		
	setButtons:function(){
		var btns = document.getElementsByClassName("btn", "wrapper");
		var cTr = cBr = null;
		for(var i = 0; i < btns.length; i++){
			cTr = curves.createElementsCurves("cTr");
			cBr = curves.createElementsCurves("cBr");
			btns[i].appendChild(cTr);
			btns[i].appendChild(cBr);
			cTr = cBr = null;
		}
	},
	setNavBar:function(){
		var lis = document.getElementById("navBar").getElementsByTagName("li");
		var cTl = cTr = null;
		for(var i = 0; i < lis.length; i++){
			cTl = curves.createElementsCurves("cTl");
			lis[i].appendChild(cTl);				
			if (lis[i].className == "sel") {			
				cTr = curves.createElementsCurves("cTr");
				lis[i].appendChild(cTr);				
			}
			cTl = cTr = null;
		}
	},
	setMain:function(){
		var obj = document.getElementById("content");
		var cTr = null;		
		cTr = curves.createElementsCurves("mainCTr");
		obj.appendChild(cTr);				
	},
	createElementsCurves:function(style){
		var element = document.createElement("div");
		element.className = style + " sp";
		element.appendChild(document.createTextNode(" "));
		return element;
	}
}

var fixes={
	setBck:function(){
		var obj = document.getElementById("main");
		var div = document.createElement("div");
		div.className = "sp fixSobre";
		div.appendChild(document.createTextNode(" "));
		obj.appendChild(div);
	}
}

var galeria = {
	mostrarImagenesAccion : function(_wrapper,_target,_gallery,_type,itemsGallery,_height,_width){
		var wrapper = $(_wrapper);
		wrapper.each(function(i){
			var itemActual = $(this);
			var target = itemActual.find(_target); 
			var type = _type;
			var gallery = itemActual.find(_gallery);
			gallery.find("a").each(function(i){
				$(this).click(function(){
					switch (type) {
						case "object":
							
								var s1 = new SWFObject("/extension/ezvideoflv/design/standard/flash/player_flv_maxi.swf","single","183","145","7");
								s1.addParam("allowfullscreen","true");
								s1.addParam("movie","/extension/ezvideoflv/design/standard/flash/player_flv_maxi.swf");
								s1.addVariable("flv", itemsGallery[i].src);	
								s1.addVariable("startimage", itemsGallery[i].startimage);	
								s1.addVariable("showstop", "1");	
								s1.addVariable("showvolume", "1");		
								s1.addVariable("showplayer", "always");	
								s1.addVariable("showloading", "always");	
								s1.addVariable("showfullscreen", "1");
								s1.addVariable("width", "183");
								s1.addVariable("height", "145");								
								s1.write("wrapperMedia");
							
							if (target.parent().parent().find('div.textContent').length>0)
								target.parent().parent().find('div.textContent').text(itemsGallery[i].description);

/*s1.addParam("FlashVars","flv="+itemsGallery[i].src+"&startimage="+itemsGallery[i].startimage +"&showstop=1&showvolume=1&showplayer=1&showloading=always&showfullscreen=1&width=183&height=145")*/
							/*var flashAux = '<object height="' + _height + '" width="' + _width + '" type="application/x-shockwave-flash" data="' + itemsGallery[i].src + '"><param name="movie" value="' + itemsGallery[i].src + '"/><param name="wmode" value="transparent"/></object>';
							target.html(flashAux);*/

							break;
						case "img":
							target.find(type).attr("src", itemsGallery[i].src );
							target.find(type).attr("alt", itemsGallery[i].alt );		
							target.find(type).parent().attr("href", itemsGallery[i].href); 					
							/*if (target.find('span.descripcion').length>0) {
								target.find('span.descripcion').text(itemsGallery[i].description);
							}*/
							if (target.parent().parent().find('div.textContent').length>0)
								target.parent().parent().find('div.textContent').text(itemsGallery[i].description);
							break;
					}
					
					return false;
				});
			});
		});
	}
}

var load={
	existeId:function(cid){	
		if(document.getElementById(cid)) return true;		
		return false;
	},
	setEvents:function(){
		curves.setButtons();
		curves.setNavBar();
		curves.setMain();
		if(load.existeId("wrapBodyContent")){
			if(document.getElementById("wrapBodyContent").className == "layoutTwoColumns" || load.existeId("subHome")) { fixes.setBck(); }
		}
		if (typeof($) == 'function') { // si esta cargado jquery
			//ocultamos elementos al cargar 
			if($('.ocultar').length>0){
				$(".ocultar").addClass("oculto");
				}	
			}
			
			//mostramos elementos al hacer click
			if ($('a.despliegaOculto').length){
				$('a.despliegaOculto').click(function(){
				    if($(".blog")) behaviours.commentsForms.checkOpen();
					var destino = $(this).attr('href');
					$(destino).removeClass('oculto');					
				});
			}

			
			//esquinas
			if($("div.esquinas01").size()>0){
				$esquinas01 = $("div.esquinas01");
				$esquinas01.prepend("<span class='cTl'></span><span class='cTr'></span>");
				$esquinas01.append("<span class='cBl'></span><span class='cBr'></span>");
			}
			if($("form.forms").size()>0){
				$forms = $("form.forms");
				$forms.prepend("<span class='cTr'></span>");
				$forms.append("<span class='cBr'></span>");
			}
			if($("div.forms").size()>0){
				$forms = $("div.forms");
				$forms.prepend("<span class='cTr'></span>");
				$forms.append("<span class='cBr'></span>");
			}
			if (typeof(checkAllPrettyCheckboxes) == 'function' ) {
				$('input[type=checkbox]').prettyCheckboxes({ //damos estilo a los checkbox y radiobutton
					checkboxWidth: 19,
					checkboxHeight: 19,
					className: 'prettyCheckbox'
				});
			}
			//carruseles
			
			//inicio carrusel 1 elem 
			if($('.jcarousel-skin-mycarousel1').size()>0){
				$('.jcarousel-skin-mycarousel1').each(function(){
					var carrusel = $(this);
					var $item = $(this).parents("div.gallery02");
					$item.append('<div class="navigator"><span class="previous"><a href="" class="mycarousel-prev">Anterior</a></span><div class="paginas"></div><span class="next"><a href="" class="mycarousel-next">Siguiente</a></span></div>');
					$(this).jcarousel({
						scroll:1,
						visible:1,
						initCallback: function(carousel){
							jQuery('.mycarousel-next', $item).bind('click', function() {
								carousel.next();
								return false;
							});
						
							jQuery('.mycarousel-prev', $item).bind('click', function() {
								carousel.prev();
								return false;
							});
						},
						buttonNextHTML:null,
						buttonPrevHTML:null,
						itemFirstInCallback: function(carousel, item, index, state){
							if(index == 1){
								$('.mycarousel-prev', $item).hide();
							}  else {
								$('.mycarousel-prev', $item).show();
							}
						},
						itemLastInCallback: function(carousel, item, index, state){
							if(index == carousel.size()){
								$('.mycarousel-next', $item).hide();
							}  else {
								$('.mycarousel-next', $item).show();
							}
							$item.find("div.paginas").html( index  + ' de ' + carousel.size());
						}
					});										   
				});	
			}
			//fin carrusel 1 elem 
			
			//inicio carrusel 2 elem 
			if($('.jcarousel-skin-mycarousel2').size()>0){
				$('.jcarousel-skin-mycarousel2').each(function(){
					var carrusel = $(this);
					var $item = $(this).parents("div.gallery01");
					var $modulePadre = $item.parents('div.moduleNovedades');
					if ($modulePadre.size()>0 && $.browser.msie && parseInt($.browser.version) == 6){
						$modulePadre.css('margin-left','0.8em');
					}
					$item.append('<div class="navigator"><span class="previous"><a href="#" class="mycarousel-prev">Anterior</a></span><div class="paginas"></div><span class="next"><a href="#" class="mycarousel-next">Siguiente</a></span></div>');
					$(this).jcarousel({
						scroll:2,
						visible:2,
						initCallback: function(carousel){
							jQuery('.mycarousel-next', $item).bind('click', function() {
								carousel.next();
								return false;
							});
						
							jQuery('.mycarousel-prev', $item).bind('click', function() {
								carousel.prev();
								return false;
							});
						},
						buttonNextHTML:null,
						buttonPrevHTML:null,
						itemFirstInCallback: function(carousel, item, index, state){
							if(index == 1){
								$('.mycarousel-prev', $item).hide();
							}  else {
								$('.mycarousel-prev', $item).show();
							}
						},
						itemLastInCallback: function(carousel, item, index, state){
							if(index == carousel.size()){
								$('.mycarousel-next', $item).hide();
							}  else {
								$('.mycarousel-next', $item).show();
							}
							$item.find("div.paginas").html( 'P&aacute;gina ' + (Math.ceil(index/2)) + ' de ' + (Math.ceil(carousel.size()/2)));
						}
					});										   
				});	
			}
			//fin carrusel 2 elem 
			
			//inicio carrusel 3 elem 
			if($('.jcarousel-skin-mycarousel3').size()>0){
				$('.jcarousel-skin-mycarousel3').each(function(){
					var carrusel = $(this);							   
					var $item = $(this).parents("div.gallery01");
					$item.append('<div class="navigator"><span class="previous"><a href="" class="mycarousel-prev">Anterior</a></span><div class="paginas"></div><span class="next"><a href="" class="mycarousel-next">Siguiente</a></span></div>'); //creo el contenedor de la navegacion
					$(this).jcarousel({
						scroll:3,
						visible:3,
						initCallback: function(carousel){
							jQuery('.mycarousel-next', $item).bind('click', function() { 
								carousel.next();
								return false;
							});
						
							jQuery('.mycarousel-prev', $item).bind('click', function() {
								carousel.prev();
								return false;
							});
						},
						buttonNextHTML:null,
						buttonPrevHTML:null,
						itemFirstInCallback: function(carousel, item, index, state){
							if(index == 1){
								$('.mycarousel-prev', $item).hide(); //oculto anterior
							}  else {
								$('.mycarousel-prev', $item).show();
							}
						},
						itemLastInCallback: function(carousel, item, index, state){
							if(index == carousel.size()){
								$('.mycarousel-next', $item).hide();
							}  else {
								$('.mycarousel-next', $item).show();
							}
							$item.find("div.paginas").html( 'P&aacute;gina ' + (Math.ceil(index/3)) + ' de ' + (Math.ceil(carousel.size()/3)));
						}
					});										   
				});	
			}
			//fin carrusel 3 elem 
			if($("#galeria01.galleryWrapperObj").length>0){		
				//galeria.mostrarImagenesAccion("#galeria01.galleryWrapperObj",".galleryTarget",".galleryContent","object",galleries[0],"145","183");			
				
			}
			
			if($("#galeria03.galleryWrapperObj").length>0){
				//galeria.mostrarImagenesAccion("#galeria03.galleryWrapperObj",".galleryTarget",".galleryContent","object",galleries[5],"145","183");			
				
			}
			
			if($("#galeria02.galleryWrapperImg").length>0){
				galeria.mostrarImagenesAccion("#galeria02.galleryWrapperImg",".galleryTarget",".galleryContent","img",galleries[1]);			
			}
			
			if($("#galeria04.galleryWrapperImg").length>0){
				galeria.mostrarImagenesAccion("#galeria04.galleryWrapperImg",".galleryTarget",".galleryContent","img",galleries[2]);			
			}
			
			if($("#galeria05.galleryWrapperImg").length>0){
				galeria.mostrarImagenesAccion("#galeria05.galleryWrapperImg",".galleryTarget",".galleryContent","img",galleries[3]);			
			}
			
			if($("#galeria06.galleryWrapperImg").length>0){
				galeria.mostrarImagenesAccion("#galeria06.galleryWrapperImg",".galleryTarget",".galleryContent","img",galleries[4]);			
			}
			if($("#galeria07.galleryWrapperImg").length>0){
				galeria.mostrarImagenesAccion("#galeria07.galleryWrapperImg",".galleryTarget",".galleryContent","img",galleries[6]);			
			}

			
			//impresion
			if ($("a.print, div.print a").length>0){
				$("a.print, div.print a").click(function(){
					window.print();						
				});
			}
			
			//botón volver atrás
			var volver = $("#volver");
			if(volver.length==1){
				if(volver.is("ul")){ 
					volver.append('<li class="last"><a href="#"><< Volver</a></li>');
					volver.find("a").eq(1).click(function(){					
						history.go(-1);
						return false;
					});
				}else {
					volver.append('<ul class="options"><li class="last"><a href="#"><< Volver al listado</a></li></ul>');
					volver.click(function(){					
						history.go(-1);
						return false;
					});
				}
			}
			var volver = $("#volverType2");
			if(volver.length==1){				
				volver.append('<ul class="options"><li class="last"><a href="#"><< Volver</a></li></ul>');
				volver.click(function(){
					history.go(-1);
					return false;
				});
			}
			behaviours.commentsForms.init();
			if($("#listComments")) behaviours.commentsForms.createReply();
	}
}
if(W3CDOM) e.addEvent(window, "load", load.setEvents, false);




	
