// JavaScript Document
var Css={
	reset:function(){
		var styOp="<style type='text/css'>"
		var styCss="#divfriendForm{display:none} #divCompartir{display:none}"
		var styCl="</style>"
		document.write(styOp+styCss+styCl)
	}
}; Css.reset()

var rutaStatics = "/StaticFiles/CastillaLaMancha/"

var dom={
		$:function(id){
			return document.getElementById(id);
		},
		
		/* Written by Jonathan Snook, http://www.snook.ca/jonathan  Add-ons by Robert Nyman, http://www.robertnyman.com */
		getElementsByClassName:function(el, strTagName, strClassName){
    		var oElm=el || document;
			var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
			var arrReturnElements = new Array();
			strClassName = strClassName.replace(/\-/g, "\\-");
			var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
			var oElement;
			for(var i=0; i<arrElements.length; i++){
				oElement = arrElements[i];      
				if(oRegExp.test(oElement.className)){
					arrReturnElements.push(oElement);
				}   
			}
			return (arrReturnElements)
		},
		
     /*Funcion que le pasas 2 parmetros y elimina los elementos undefined de un objeto. Devuelve un array de objetos.*/
		onlyThisElement:function(tag,obj){
			var newObj=[]
			for(var xx=0;xx<obj.childNodes.length;xx++){
				if(obj.childNodes[xx].tagName==tag.toUpperCase()){
					newObj[newObj.length]=obj.childNodes[xx]
				}
			}
			return newObj
		},
		
		//Posicionamiento x e y
		posX:function(objN){
		var curleft = 0;
		if (objN.offsetParent){
			while (objN.offsetParent){
				curleft += objN.offsetLeft
				objN = objN.offsetParent;
			}
		}else if (objN.x){
			curleft += objN.x;
		}
		return curleft;
			
		},
		posY:function(objN){
			var curtop = 0;
			if (objN.offsetParent){
				while (objN.offsetParent){
					curtop += objN.offsetTop
					objN = objN.offsetParent;
				}
			}else if (objN.y){
				curtop += objN.y;
			}
			return curtop;
		}
	}

	/* gestor de eventos */
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; 
			}
		},
		
		releaseEvent : function(obj, evType, fn, useCapture){
			if (obj.addEventListener){
				obj.removeEventListener(evType, fn, useCapture);
				return true;
			}else if (obj.attachEvent){
				var r = obj.detachEvent("on"+evType, fn);
				return r;
				}
				return false;
			}
	}
	
	
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
var	cargar = {
		//Definimos todas las funciones
		funciones : function(){
		
			//Mostramos u ocultamos utilidades en Funcion del javascript
			/*//Botones del Combo
			for(var i=0;i<dom.getElementsByClassName(document,"input","btn_select").length;i++){
				if(dom.getElementsByClassName(document,"input","btn_select")[i]){
					dom.getElementsByClassName(document,"input","btn_select")[i].style.display="none";
				}
			}*/
			
			//Muestra Google maps
			if(dom.$("wrapper_gmpas")){
				dom.$("wrapper_gmpas").style.display="block";
				load(inicio);
			}
			
			for(var i=0;i<dom.getElementsByClassName(document,"span","google").length;i++){
				if(dom.getElementsByClassName(document,"span","google")[i]){
					dom.getElementsByClassName(document,"span","google")[i].style.display="block";
				}
			}
			////////////////////////////////
			if(dom.$("enlacegmap")){
				var gmapLink = dom.getElementsByClassName(document,"a","dirmap");
				for(var i=0;i<gmapLink.length;i++){
					literal = '"'+direccionesGmap[i][2]+'"'
					gmapLink[i].href='javascript:showPoint('+direccionesGmap[i][0]+','+direccionesGmap[i][1]+','+literal+')';
				}
			}
			////////////////////////////////
			//Botones de enviar imprimir volver...
			if(dom.$("utiles")){
				dom.$("utiles").style.display="block";
			}
			
			if(dom.$("print")){
				//funcionesCastilla.anadirCss(rutaStatics + 'css/print.css');
				dom.$("print").onclick=function(){ window.print();return false;}

			}
				
			if(dom.$("goBack")){	
				dom.$("goBack").onclick=function(){ history.back();return false;}
			}
			
			if(dom.$("send")){	
				dom.$("divfriendForm").style.display="none";
				e.addEvent(dom.$("send"),'click',funcionesCastilla.sendFriend,false);
			}
	                if(dom.$("compartir")){
                                dom.$("divCompartir").style.display="none";
                                e.addEvent(dom.$("compartir"),'click',funcionesCastilla.compartir,false);
                        }
	
			if(dom.$("ventClose")){
				dom.$("ventClose").onclick=function(){window.close();return false;}
			}
			
			//Para el Checkbox todas
			if(dom.$("form_suscripcion_opcion")){
				var formChecks = dom.$("form_suscripcion_opcion");
				var labelCheckstodas = formChecks.getElementsByTagName("label")[0];
				labelCheckstodas.style.display="block";
				labelCheckstodas.onclick = function(){
					funcionesCastilla.suscripChecks();
				}
 			}
			
			//calendarios
			if (dom.$("calendario_ida") != null && dom.$("calendario_vuelta") != null){ 
				funcionesCastilla.appendCalendar(dom.$("calendario_ida"),'/StaticFiles/CastillaLaMancha/img/ico_calendario.gif');
				funcionesCastilla.appendCalendar(dom.$("calendario_vuelta"),'/StaticFiles/CastillaLaMancha/img/ico_calendario.gif');
				
				if (document.getElementById("contenedor2") != null){
				funcionesCastilla.launchCalendar(dom.$('calendario_ida'),dom.$('desde'),215,270);
				funcionesCastilla.launchCalendar(document.getElementById('calendario_vuelta'),dom.$('hasta'),215,270);
				}else{
					funcionesCastilla.anadirScript(rutaStatics + 'js/calendario.js');
					funcionesCastilla.launchCalendar(dom.$('calendario_ida'),dom.$('desde'),-20,dom.posY(dom.$('calendario_ida')));
					funcionesCastilla.launchCalendar(dom.$('calendario_vuelta'),dom.$('hasta'),-20,dom.posY(dom.$('calendario_vuelta')));
				}	
			}
			
			//Para abrir en ventana nueva sin necesidad de about blank
			var blank = dom.getElementsByClassName(document,"a","blank");
			if(blank){
				for(var i=0;i<blank.length;i++){
					blank[i].onclick = function(){
						//window.open(this.href,'1024','800');
						window.open(this.href,'','height=700,width=1024,toolbar=1,scollbar=1,resizable=1')  
						return false;
					}
				}
			}
			
			/*//Anadimos evento onchange para cambair combo de tramites
			if(dom.getElementsByClassName(document,"select","combo_tramites")){
				for(var i=0;i<dom.getElementsByClassName(document,"select","combo_tramites").length;i++){
					e.addEvent(dom.getElementsByClassName(document,"select","combo_tramites")[i],'change',funcionesCastilla.cargaTramite,false);
				}
			}
			
			//Anadimos evento onchange para cambair combo de tramites
			if(dom.getElementsByClassName(document,"select","combo_hechos")){
				for(var i=0;i<dom.getElementsByClassName(document,"select","combo_hechos").length;i++){
					e.addEvent(dom.getElementsByClassName(document,"select","combo_hechos")[i],'change',funcionesCastilla.cargaHechos,false);
				}
			}
			*/
			//Borra los values de los campos de texto
			var inputText = document.getElementsByTagName("input");
			if(inputText!=0){
				for(var i=0;i<inputText.length;i++){
					if(inputText[i].type=="text"){
						inputText[i].onfocus = function(){
							this.value="";
						}
					}	
				}	
			}
			
			//Para validar correo
			if(dom.$("validarCorreo")){
				funcionesCastilla.anadirScript(rutaStatics + 'js/sendFriend.js');
				funcionesCastilla.anadirScript(rutaStatics + 'js/validaForm.js');
				
				dom.$("validarCorreo").onclick=function(){	
					if(validaEnvioAmigo.validForm()){
						dom.$("friendForm").submit();
					} return false;					
				}
			}
			
			//Para validar formulario de suscripciones
			if(dom.$("form_suscripcion")){
				funcionesCastilla.anadirScript(rutaStatics + 'js/validaForm.js');
					dom.$("form_suscripcion").onsubmit = validacionSuscripciones.validForm;
			}
			
			//Prepara pop up si existe
			if(dom.getElementsByClassName(document,"a","popUp")){
				funcionesCastilla.preparaPopus();
			}
		}
	}
	
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
var	funcionesCastilla = {
		/*cargaPagina : function(evt){
			evt = (evt) ? evt : ((event) ? event : null);		
			if(evt){
				var aux = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
			}
			document.location.href = aux.value;
		},*/
		
		//Para cargar tramites
		cargaTramite : function(){
			dom.$("form_sel_estructura").submit();
		},
		
		suscripChecks: function(){
			var allInputs = dom.$("form_suscripcion_opcion").getElementsByTagName("input");
			var estado = (allInputs[0].checked)?false:true;
			allInputs[0].checked = estado;		
			for(var i=1; i<allInputs.length; i++){
				allInputs[i].checked = estado;			
			}
		},
		
		//Para cargar tramites
		cargaHechos : function(){
			dom.$("form_sel_hechos").submit();
		},
		
		//Para Calendario
		appendCalendar:function(obj,img_src){
			var img=document.createElement('img');
			img.setAttribute('alt','Abrir calendario');
			obj.appendChild(img);
			img.setAttribute('src',img_src);
		},
		
		sw_calendar:false,
		launchCalendar:function(obj,way_fly,pX,pY){
			obj.onclick	= function(){
				if (calendario.capa != null){
					if (calendario.capa.style.display == 'none'){
						funcionesCastilla.sw_calendar = false;
					}
				}
				if(funcionesCastilla.sw_calendar == false){
					calendario.init(way_fly,dom.posX(obj)-pX,pY);
					funcionesCastilla.sw_calendar = true;				
				}else{
					calendario.capa.style.display='none';	
					funcionesCastilla.sw_calendar = false;					
				}
			}
		},
		
		sendFriend:function(){
			dom.$("divfriendForm").style.display="block";
			dom.$("formClose").onclick = function(){
				dom.$("divfriendForm").style.display="none";
			}
		},
	
                compartir:function(){
                        dom.$("divCompartir").style.display="block";
                        dom.$("formCloseC").onclick = function(){
                                dom.$("divCompartir").style.display="none";
                        }
                },

		//Funcion par anadir script
		anadirScript : function(ruta){	
			var scriptJs = document.createElement('script');
				scriptJs.src = ruta;
				scriptJs.type = 'text/javascript';
				document.getElementsByTagName("head")[0].appendChild(scriptJs);
		},
		
		//Funcion para anadir css
		anadirCss : function(ruta){	
			var newCss = document.createElement('link');
				newCss.media = 'print';
				newCss.href = ruta;
				newCss.type = 'text/css';
				newCss.rel = 'stylesheet';
				document.getElementsByTagName("head")[0].appendChild(newCss);
		},
		
		//preparo enlaces para pop up
		preparaPopus : function () {
			var linksPopup = dom.getElementsByClassName(document,"a","popUp");
			for (var i=0;i<linksPopup.length; i++) {
				linksPopup[i].onclick = function() {
					funcionesCastilla.popUp(this.getAttribute("href"));
					return false;
				}
			}
		},
		
		//Lanzao pop up
		popUp : function(winURL) {
			var dim = winURL.split("=");
			var alto = dim[dim.length-2];
			var _aux_alto = alto.split("&");
			var ancho = dim[dim.length-1];
			//window.open(winURL,"popup","width="+(parseInt(ancho)+30)+",height="+(parseInt(_aux_alto[0])+20)+"");
			 window.open(winURL,"popup","width=846,height=510,menubar=no,scrollbars=yes");
		}
	}
	
	//Validar suscripciones
var validacionSuscripciones = {
		validForm:function () {	
			if(validaForm.isEmpty(dom.$("correo").value)){
				alert("Por favor introduzca su correo electr\u00FAnico");
				return false;
			}else{
				if(!validaForm.validarRE(validaForm.emailRegExp, dom.$("correo"))){
					alert("El correo electr\u00FAnico introducido no es v\u00E1lido");
					return false;
				}
			}
			return true;
		}			
	}
	
	e.addEvent(window,'load',cargar.funciones,false)
