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;
}

String.prototype.trim = function() { return this.replace(/^[\s]+|[\s]+$/g,'') }
String.prototype.numOfCharacters = function(character){
	var rep = 0;
	for(var i=0; i<=this.length-1;i++) if(this.charAt(i) == character) rep++;
	return rep;
}

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 fixes={
	setLinkPrint:function(){	
		var obj = document.getElementById("pageOptions");
		var firstChild = obj.getElementsByTagName("li")[0];
		var liElement = document.createElement("li");
		var aElement = document.createElement("a");
		aElement.href = "javascript:window.print()";
		aElement.appendChild(document.createTextNode("Imprimir"))
		liElement.appendChild(aElement);
		liElement.className = "print";
		obj.insertBefore(liElement,firstChild);
		
	},
	setBubble:function(){
		var obj = document.getElementById("bubble");
		var imgElement = document.createElement("img");
		imgElement.src = "/img/bck_arrow-bullet.gif";
		obj.appendChild(imgElement);		
	},
	setBckHome:function(){
		var obj = document.getElementById("content").getElementsByTagName("div")[1];
		var img = document.createElement("img");
		img.src = "/img/bck_hand3.gif";
		img.alt = "";
		obj.appendChild(img);
	},
	setBackRecommend:function(){
		var obj = document.getElementById("recommendPage");
		var forms = obj.getElementsByTagName("form");
		var parent = obj.parentNode;
		var spanElement = document.createElement("span");
		var spanElement2 = document.createElement("span");
		var aElement = document.createElement("a");
		spanElement.className = "btn";
		aElement.appendChild(document.createTextNode("Volver"));
		aElement.href = (forms.length != 0) ? "javascript:history.back()" : "javascript:history.go(-2)";
		spanElement2.appendChild(aElement);
		spanElement.appendChild(spanElement2);		
		parent.appendChild(spanElement);
	},
	setContactPressForm:function(){
		var obj = document.getElementById("contactPressForm").getElementsByTagName("div")[0];
		var divElement = document.createElement("div");
		divElement.className = "arrow sp";
		divElement.appendChild(document.createTextNode(""));
		obj.appendChild(divElement);
	},
	setMsgError:function(){
		var obj = document.getElementById("error").getElementsByTagName("div")[0];
		var divElement = document.createElement("div");
		divElement.className = "fix sp";
		divElement.appendChild(document.createTextNode(""));
		obj.appendChild(divElement);
	}
}

var curves={
	
	createMainCurves:function(){
		var obj = document.getElementById("wrapperContent");
		var obj2 = document.getElementById("wrapperFooter");
		var cTopLeft = cTopRight = cBottomLeft = cBottomRight = null;		
		cTopLeft = curves.createElementsCurves("cLeftTop");
		cTopRight = curves.createElementsCurves("cRightTop");
		cBottomLeft = curves.createElementsCurves("cLeftBottom");
		cBottomRight = curves.createElementsCurves("cRightBottom");
		obj.appendChild(cTopLeft);
		obj.appendChild(cTopRight);
		obj2.appendChild(cBottomLeft);
		obj2.appendChild(cBottomRight);
		obj2.appendChild(cTopLeft.cloneNode(true));
		obj2.appendChild(cTopRight.cloneNode(true));		
	},
	createGalleryCurves:function(){
		var obj = document.getElementById("createGalleryCurves");		
		var blocks = document.getElementsByClassName("title", obj)
		var cLeft = cRight = null;		
		for(var i = 0; i < blocks.length; i++){
			cLeft = curves.createElementsCurves("cLeft");
			cRight = curves.createElementsCurves("cRight");
			blocks[i].appendChild(cLeft);
			blocks[i].appendChild(cRight);
			cLeft = cRight = null;
		}		
	},
	createFormGallery:function(){
		var obj = document.getElementById("galleryDetail");		
		var element = obj.getElementsByTagName("form")[0];
		var cLeft = cRight = null;			
		cLeft = curves.createElementsCurves("cLeft");
		cRight = curves.createElementsCurves("cRight");
		element.appendChild(cLeft);
		element.appendChild(cRight);
	},
	createReportsCurves:function(){
		var obj = document.getElementById("annualReport");		
		var blocks = document.getElementsByClassName("report", obj);
		var titles = document.getElementsByClassName("title", obj);
		var cLeft = cRight = null;			
		for(var i = 0; i < titles.length; i++){
			cLeft = curves.createElementsCurves("cLeft");
			cRight = curves.createElementsCurves("cRight");
			titles[i].appendChild(cLeft);
			titles[i].appendChild(cRight);
			cLeft = cRight = null;
		}
	},
	createGroupsCurves:function(){
		var obj = document.getElementById("interestGroup");		
		var elements = obj.getElementsByTagName("h5")
		var cLeft = cRight = null;		
		for(var i = 0; i < elements.length; i++){
			cLeft = curves.createElementsCurves("cLeft");
			cRight = curves.createElementsCurves("cRight");
			elements[i].appendChild(cLeft);
			elements[i].appendChild(cRight);
			cLeft = cRight = null;
		}		
	},
	createMillestonesCurves:function(){
		var obj = document.getElementById("millestones");		
		var thElements = obj.getElementsByTagName("thead");
		var tbodyElements = obj.getElementsByTagName("tbody");
		var cLeft = cRight = null;		
		var elements = [];
		for(var j = 0; j < thElements.length; j++){
			elements = thElements[j].getElementsByTagName("th");		
			for(var i = 0; i < elements.length; i++){
				cLeft = curves.createElementsCurves("cLeft");
				cRight = curves.createElementsCurves("cRight");
				elements[i].appendChild(cLeft);
				elements[i].appendChild(cRight);
				cLeft = cRight = null;
			}
		}
		for(var j = 0; j < tbodyElements.length; j++){
			elements = tbodyElements[j].getElementsByTagName("th");		
			for(var i = 0; i < elements.length; i++){
				cLeft = curves.createElementsCurves("cLeft");
				cRight = curves.createElementsCurves("cRight");
				elements[i].appendChild(cLeft);
				elements[i].appendChild(cRight);
				cLeft = cRight = null;
			}
		}
	},
	/*createIntProject:function(){
		var obj = document.getElementById("detailProjectInt");		
		var element = obj.getElementsByTagName("h4")[0].parentNode;
		var cLeft = cRight = null;			
		cLeft = curves.createElementsCurves("cLeft");
		cRight = curves.createElementsCurves("cRight");
		element.appendChild(cLeft);
		element.appendChild(cRight);
	},
	createJobs:function(){
		var obj = document.getElementById("galleryLogo");		
		var element = obj.getElementsByTagName("h4")[0].parentNode;
		var cLeft = cRight = null;			
		cLeft = curves.createElementsCurves("cLeft");
		cRight = curves.createElementsCurves("cRight");
		element.appendChild(cLeft);
		element.appendChild(cRight);
	},*/
	createCommonTitleCurves:function(obj){
		var element = obj.getElementsByTagName("h4")[0].parentNode;
		var cLeft = cRight = null;			
		cLeft = curves.createElementsCurves("cLeft");
		cRight = curves.createElementsCurves("cRight");
		element.appendChild(cLeft);
		element.appendChild(cRight);
	},
	createFormDirectory:function(){
		var obj = document.getElementById("mapDirectory").getElementsByTagName("form")[0];			
		var cLeft = cRight = null;			
		cLeft = curves.createElementsCurves("cLeft");
		cRight = curves.createElementsCurves("cRight");
		obj.appendChild(cLeft);
		obj.appendChild(cRight);
	},
	createAddressesDirectory:function(){
		var obj = document.getElementById("directory");			
		var uls = obj.getElementsByTagName("ul");
		var title = hType1 = hType2 = cLeft = cRight = null;			
		title = document.getElementsByClassName("title", obj);
		if(uls.length != 0){			
			hType1 = uls[0].getElementsByTagName("h4");
			//hType2 = uls[1].getElementsByTagName("h5");
			for(var i = 0; i < hType1.length; i++){			
				cLeft = curves.createElementsCurves("cLeft");
				cRight = curves.createElementsCurves("cRight");
				hType1[i].appendChild(cLeft);
				hType1[i].appendChild(cRight);
				cLeft = cRight = null;
			}
			/*for(var i = 0; i < hType2.length; i++){			
				cLeft = curves.createElementsCurves("cLeft");
				cRight = curves.createElementsCurves("cRight");
				hType2[i].appendChild(cLeft);
				hType2[i].appendChild(cRight);
				cLeft = cRight = null;
			}*/
		}
			for(var i = 0; i < title.length; i++){			
				cLeft = curves.createElementsCurves("cLeft");
				cRight = curves.createElementsCurves("cRight");								
				title[i].appendChild(cLeft);
				title[i].appendChild(cRight);
				cLeft = cRight = null;
			}
		

	},
	createNationalDirectory:function(){
		var obj = document.getElementById("directory").getElementsByTagName("h5");
		var cLeft = cRight = null;	
		for(var i = 0; i < obj.length; i++){			
			cLeft = curves.createElementsCurves("cLeft");
			cRight = curves.createElementsCurves("cRight");
			obj[i].appendChild(cLeft);
			obj[i].appendChild(cRight);
			cLeft = cRight = null;
		}
	},
	createDetailCountryInt:function(){
		var obj = document.getElementById("detailCountryInt");		
		var cLeft = element = cRight = null;
		var titles = obj.getElementsByTagName("h5");
		if(titles.length != 0){
			element = titles[0].parentNode;			
			cLeft = curves.createElementsCurves("cLeft");
			cRight = curves.createElementsCurves("cRight");
			element.appendChild(cLeft);
			element.appendChild(cRight);
		}
	},
	createDetailCountryIntType2:function(){
		var obj = document.getElementById("detailCountryIntType2");		
		var titles = document.getElementsByClassName("title", obj);
		var cLeft = cRight = null;			
		for(var i = 0; i < titles.length; i++){			
			cLeft = curves.createElementsCurves("cLeft");
			cRight = curves.createElementsCurves("cRight");
			titles[i].appendChild(cLeft);
			titles[i].appendChild(cRight);
			cLeft = cRight = null;			
		}
	},
	createAddressesInter:function(){
		var obj = document.getElementById("detailCountryIntType2");
		var uls = obj.getElementsByTagName("ul");
		var ul = (uls.length == 3 ) ? uls[2] : uls[1];		
		var cLeft = cRight = null;			
		var titles = ul.getElementsByTagName("h5");
		for(var i = 0; i < titles.length; i++){		
			cLeft = curves.createElementsCurves("cLeft");
			cRight = curves.createElementsCurves("cRight");
			titles[i].appendChild(cLeft);
			titles[i].appendChild(cRight);
			cLeft = cRight = null;
		}
	},
	createClimate:function(){
		var obj = document.getElementById("climateChange");
		var cLeft = null;
		cLeft = curves.createElementsCurves("cLeft");
		obj.appendChild(cLeft);
	},
	createFilterMap:function(){
		var obj = document.getElementById("formFilter");						
		cLeft = curves.createElementsCurves("cLeft");
		cRight = curves.createElementsCurves("cRight");
		obj.appendChild(cLeft);
		obj.appendChild(cRight);						
	},
	createGeneralCurves:function(obj){
		var cTLeft = cTRight = cBLeft = cBRight = null;
		cTLeft = curves.createElementsCurves("cTLeft");
		cTRight = curves.createElementsCurves("cTRight");
		cBLeft = curves.createElementsCurves("cBLeft");
		cBRight = curves.createElementsCurves("cBRight");
		obj.appendChild(cTLeft);
		obj.appendChild(cTRight);
		obj.appendChild(cBLeft);
		obj.appendChild(cBRight);
	},
	createElementsCurves:function(style){
		var element = document.createElement("div");
		element.className = style + " sp";
		element.appendChild(document.createTextNode(" "));
		return element;
	}
}

var links={
	openExternalLinks:function(){		
	},
	annualReports:function(){
		var obj = document.getElementById("annualReport");			
		var titles = document.getElementsByClassName("title", obj);
		var imgElement = aElement = firstElement = null;
		for(var i = 0; i < titles.length; i++){
			aElement = document.createElement("a");
			firstElement = titles[i].firstChild;
			aElement.href = "javascript:void(null)";
			aElement.onclick = function() { behaviours.collapseAnnualReport(this); return false }
			aElement.onkeypress = function() { behaviours.collapseAnnualReport(this); return false }
			imgElement = document.createElement("img");
			if(titles[i].parentNode.className.indexOf("main") != -1) imgElement.src = "/img/ico_minus.gif";
			else{
				imgElement.src = "/img/ico_plus.gif";
				titles[i].parentNode.className += " collapsed";
			}			
			aElement.appendChild(imgElement);			
			titles[i].insertBefore(aElement, firstElement);
			imgElement = aElement = firstElement = null;
		}
	},
	setShowFormShareholders:function(){
		var obj = document.getElementById("address");
		var spanElement = document.createElement("span");
		var spanElement2 = spanElement.cloneNode(true);
		var aElement = document.createElement("a");		
		aElement.href = "javascript:void(null)";
		aElement.onclick = behaviours.collapseFormShareholders;
		aElement.onkeypress = behaviours.collapseFormShareholders;
		aElement.appendChild(document.createTextNode("Realizar una consulta"))
		spanElement2.appendChild(aElement);
		spanElement.className = "link top";
		spanElement.appendChild(spanElement2);
		obj.appendChild(spanElement);
		document.getElementById("shareholderOfficeForm").className= "hide";
	}
}

var behaviours = {
	collapseAnnualReport:function(obj){
		var objClassname = obj.parentNode.parentNode.className;
		if(objClassname.indexOf("collapsed") != -1){
			obj.parentNode.parentNode.className = objClassname.replace("collapsed","");
			obj.firstChild.src = "/img/ico_minus2.gif";
		}else{
			obj.parentNode.parentNode.className += " collapsed"; 
			obj.firstChild.src = "/img/ico_plus.gif";
		}
		obj.parentNode.parentNode.tabIndex = -1;
		obj.parentNode.parentNode.focus();		
	},
	collapseFormShareholders:function(){
		var obj =document.getElementById("shareholderOfficeForm");
		obj.className = (obj.className == "hide") ? "" : "hide";
	},
	setEventCmb:function(){
		var obj = document.getElementById("continente");
		var obj2 = document.getElementById("pais");
		var esBusqueda = (window.location.search != "") ? true : false;
		if(!esBusqueda) document.getElementById("ccaa").disabled = "disabled";
		obj.onchange = behaviours.setCmbValues;
		obj2.onchange = behaviours.checkCountry;
	},
	setCmbValues:function(){
		var f = this.parentNode.parentNode.parentNode;	
		var pais = document.getElementById("pais");
		var ccaa = document.getElementById("ccaa");
		var sel = this.selectedIndex;
		var optionElement = null;		
		if(sel != 0){
			while(pais.firstChild) pais.removeChild(pais.firstChild);
			for(var i = 1; i < cmb[sel-1].length; i++){
				optionElement = document.createElement("option");
				optionElement.appendChild(document.createTextNode(cmb[sel-1][i].split("|")[0]));
				optionElement.value = cmb[sel-1][i].split("|")[1];
				pais.appendChild(optionElement);
				optionElement = null;
			}
			ccaa.disabled = "disabled";
		}else while(pais.firstChild) pais.removeChild(pais.firstChild);
		pais.tabIndex = "-1";
		pais.focus();
	},
	checkCountry:function(){
		var value = this[this.selectedIndex].firstChild.nodeValue;
		var obj2 = document.getElementById("ccaa");
		if(value == "España" || value == "Spain"){
			obj2.disabled = "";
			obj2.focus();
		}else obj2.disabled = "disabled";
	},
	resetTerm:function(){
		var obj = document.getElementById("termino");
		obj.onfocus = function(){
			obj.value = "";
		}
	}
}

/* validaciones de formularios */
var formsValidations = {
	setMsgError:function(txt, form){
		//var main = document.getElementById("main");
		var parentForm = form.parentNode;
		var msgError = document.getElementsByClassName("msgError", parentForm);
		var divElement = (msgError.length != 0) ? msgError[0] : document.createElement("div");		
		var ulElement = document.createElement("ul");
		var liElement = null;		
		var errors = txt.split("|");				
		divElement.className = "msgError"
		if(divElement.getElementsByTagName("ul").length != 0) divElement.removeChild(divElement.getElementsByTagName("ul")[0])
		for(var i = 0; i < errors.length - 1; i++){
			liElement = document.createElement("li");
			liElement.appendChild(document.createTextNode(errors[i]));
			ulElement.appendChild(liElement);
		}
		divElement.appendChild(ulElement);		
		divElement.tabIndex = -1;
		if(msgError.length == 0) parentForm.insertBefore(divElement,form);
		divElement.focus();
	},
	validaFormShareholder:function() { 
		var f = document.forms.formShareHolder;		
		var errorTxt = "";
		if(f.denominacion.value == "") errorTxt += "(!) El campo 'Denominación Social / Nombre' es obligatorio|";
		if(f.cif.value == "") errorTxt += "(!) El campo 'CIF' es obligatorio|";
		if(f.representante.value == "") errorTxt += "(!) El campo 'Representante de la sociedad' es obligatorio|";
		if(f.cargo.value == "") errorTxt += "(!) El campo 'Cargo en la sociedad' es obligatorio|";
		if(f.numero.value == "") errorTxt += "(!) El campo 'Número de acciones' es obligatorio|";
		if(f.entidad.value == "") errorTxt += "(!) El campo 'Entidad Financiera Depositaria' es obligatorio|";
		if(f.pais.selectedIndex == 0) errorTxt += "(!) El campo 'País' es obligatorio|";
		if(f.cp.value == "") errorTxt += "(!) El campo 'Código Postal' es obligatorio|";		
		if(f.provincia.value == "") errorTxt += "(!) El campo 'Provincia' es obligatorio|";
		if(f.localidad.value == "") errorTxt += "(!) El campo 'Localidad' es obligatorio|";
		if(f.domicilio.value == "") errorTxt += "(!) El campo 'Domicilio' es obligatorio|";
		if(f.mail.value == "") errorTxt += "(!) El campo 'Email' es obligatorio|";
		//if(f.telefono.value == "") errorTxt += "(!) El campo 'Teléfono' es obligatorio|";
		if(f.motivo.value == "") errorTxt += "(!) El campo 'Motivo de la consulta' es obligatorio|";
		if(f.cif.value != "" && !regularExpressions.esCif(f.cif.value)) errorTxt += "(!) Debe introducir un CIF válido|";	
		if(f.cp.value != "" && !regularExpressions.esNumero(f.cp.value)) errorTxt += "(!) Debe introducir valores numéricos en el campo 'Código postal'|";	
		if(f.mail.value != "" && !regularExpressions.isValidEmail(f.mail.value)) errorTxt += "(!) El formato del campo 'Email' no es correcto|";			
		if(errorTxt != ""){	
			formsValidations.setMsgError(errorTxt, document.getElementById("formShareHolder"));
			return false;
		}
	},
	validaContactForm:function(){
		var f = document.forms.formContact;		
		var errorTxt = "";
		if(f.nombre.value == "") errorTxt += "(!) El campo 'Nombre' es obligatorio|";
		if(f.apellidos.value == "") errorTxt += "(!) El campo 'Apellidos' es obligatorio|";
		//if(f.telefono.value == "") errorTxt += "(!) El campo 'Telefono' es obligatorio|";
		if(f.mail.value == "") errorTxt += "(!) El campo 'E-mail' es obligatorio|";
		else{
			if(!regularExpressions.isValidEmail(f.mail.value))  errorTxt += "(!) El formato del campo 'E-mail' no es correcto|";
		}
		if(document.getElementById("medio")){
			if(f.medio.value == "") errorTxt += "(!) El campo 'Medio al que representa' es obligatorio|";
		}
		if(document.getElementById("asunto")){
			if(f.asunto.value == "") errorTxt += "(!) El campo 'Asunto' es obligatorio|";
		}			
		if(f.motivo.value == "") errorTxt += "(!) El campo 'Motivo de la consulta' es obligatorio|";
		else{
			if(f.motivo.value.length > 250)  errorTxt += "El campo 'Motivo de la consulta' no puede exceder de 250 caracteres|";
		}	
		if(errorTxt != ""){	
			formsValidations.setMsgError(errorTxt, document.getElementById("formContact"));
			return false;
		}
	},
	validaFormRecommend:function(){
		var f = document.forms.formRecommend;		
		var errorTxt = aux = "";
		var okMailsAmigo = true;
		if(f.nombre.value == "") errorTxt += "(!) El campo 'Tu nombre' es obligatorio|";
		if(f.mail.value == "") errorTxt += "(!) El campo 'Tu email' es obligatorio|";
		else{
			if(!regularExpressions.isValidEmail(f.mail.value)) errorTxt += "(!) El formato del campo 'Tu email' no es correcto|";	
		}
		if(f.destino.value == "") errorTxt += "(!) El campo 'Email destinatario' es obligatorio|";						
		if (f.destino.value.numOfCharacters("@") == 0 && f.destino.value != "") errorTxt += "El formato del campo 'Email destinatario' no es correcto|";
		else {
			aux = f.destino.value.replace(/,/g, " ");
			mailsAmigo = aux.split(" ");
			for (i = 0; i < mailsAmigo.length && okMailsAmigo; i++) {
				if (mailsAmigo[i].trim() == "") {
					okMailsAmigo = true;
					continue;
				}
				okMailsAmigo = regularExpressions.isValidEmail(mailsAmigo[i]);
			}
			if (!okMailsAmigo) errorTxt += "(!) El formato del campo 'Email destinatario' no es correcto|";
			else {
				if (aux.numOfCharacters("@") > 1 && f.destino.value.numOfCharacters(",") != f.destino.value.numOfCharacters("@") - 1) errorTxt += "(!) Debes separar los Emails de los destinatarios con comas|";
			}
		}
		if(f.comentarios.value == "") errorTxt += "(!) El campo 'Tus comentarios' es obligatorio|";		
		if(errorTxt != ""){	
			formsValidations.setMsgError(errorTxt, document.getElementById("formRecommend"));
			return false;
		}
	}
}

/* expresiones regulares para validar formularios */
var regularExpressions = {	
	isValidEmail:function (str){
		var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		return (filter.test(str));
	},
	//esCadena:function(c){ return /^[0-9A-Z/\\t\n\r\s]+$/.test(c); },
	esCadena:function(c) { return /^[0-9A-Za-z-\/Ññ?É?ÓÚáéíóúÜüÄäËë?ïÖö´,'/\\t\n\r\s]+$/.test(c); },
	esAlfabetico:function(c){return /^([a-zA-Z])+$/.test(c);},
	esNumero:function(c){return /^[0-9]+$/.test(c);},
	esTelefono:function(c){return /^[0-9\s\+\-)(]+$/.test(c)},
	esCif:function(c){
		if (!/^[A-Za-z0-9]{9}$/.test(c) || !/^[ABCDEFGHKLMNPQS]/.test(c)) return false;
		var v1 = new Array(0,2,4,6,8,1,3,5,7,9); 
		var digCrtl=c.charAt(c.length-1);
		var temp = 0;
		for(i=2;i<=6;i+=2 ) {
		      temp = temp + v1[ parseInt(c.substr(i-1,1)) ];
		      temp = temp + parseInt(c.substr(i,1));
		};
		temp = temp + v1[ parseInt(c.substr(7,1)) ];                   
		temp = (10 - ( temp % 10));
		if( temp == 10 ){if(!(digCrtl=="J" || digCrtl=="0")) return false;
		}else{if(digCrtl!=temp) return false; }
		return true;
	}
}

/*AÑADO*/


var gmaps = {
	ubicaciones:{
		init:function(){			
			if (GBrowserIsCompatible()) gmaps.load(document.getElementById("ubicacion"))			
		}
	},
	buscador:{
		init:function(){
			if (GBrowserIsCompatible()) gmaps.load(document.getElementById("gmapsWrap"))
		},
		espania:function(){			
			var PuntoCero = new GLatLng(40.416632788688474, -3.7040340900421143);
		//	if(document.getElementById("actividad")) document.forms.formFilter.tipomapa.value = "1";
			map.setCenter(PuntoCero, 4);
		},		
		otrosPaises:function(){			
			var PuntoCero = new GLatLng(40.416632788688474, -3.7040340900421143);
			//if(document.getElementById("actividad")) document.forms.formFilter.tipomapa.value = "2";
			map.setCenter(PuntoCero, 1);
		},
		events:function(){
			var obj = document.getElementById("mapa");
			var ul = document.createElement("ul");
			var li = document.createElement("li");
			var li2 = li.cloneNode(true);
			var a = document.createElement("a");
			var a2 = a.cloneNode(true);
			li.id = "nacional";
			a.appendChild(document.createTextNode("España"));
			a.href = "javascript:void(null)";
			a.onclick = function(){
				gmaps.buscador.espania();
				return false;
			}
			a.onkeypress = function(){
				gmaps.buscador.espania();
				return false;
			}
			li2.id = "internacional";
			li.appendChild(a);			
			a2.href = "javascript:void(null)";
			a2.appendChild(document.createTextNode("Otros países"));
			a2.onclick = function(){
				gmaps.buscador.otrosPaises();
				return false;
			}
			a2.onkeypress = function(){
				gmaps.buscador.otrosPaises();
				return false;
			}
			li2.appendChild(a2);
			ul.appendChild(li)
			ul.appendChild(li2);
			obj.appendChild(ul);						
		}
	},
	
	load:function(obj){
		var map = new GMap2(obj);		
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl(1));
		map.enableDoubleClickZoom();					
		var PuntoCero = new GLatLng(latitud, longitud);
		map.setCenter(PuntoCero, zoom);					
		var markerD2 = new GMarker(PuntoCero, {icon:G_DEFAULT_ICON, draggable: false});
		map.addOverlay(markerD2);
	}
}















var load={
	existeId:function(cid){	
		if(document.getElementById(cid)) return true;		
		return false;
	},
	setEvents:function(){		
		curves.createMainCurves();	
		if(load.existeId("termino")) behaviours.resetTerm();
		if(load.existeId("pageOptions")) fixes.setLinkPrint();		
		if(load.existeId("home")) fixes.setBckHome(); 
		if(load.existeId("galleryIntro")) curves.createGalleryCurves(); 
		if(load.existeId("galleryDetail")) curves.createFormGallery(); 
		if(load.existeId("annualReport")){
			curves.createReportsCurves(); 
			links.annualReports();
		}
		//if(load.existeId("interestGroup")) curves.createGroupsCurves();
		if(load.existeId("millestones")) curves.createMillestonesCurves();
		if(load.existeId("detailProjectInt")) curves.createCommonTitleCurves(document.getElementById("detailProjectInt"));
		if(document.getElementsByClassName("jobs",document.getElementById("main")).length != 0) curves.createCommonTitleCurves(document.getElementById("galleryLogo"));	
		//if(load.existeId("mapDirectory")) curves.createFormDirectory();		
		if(load.existeId("mapDirectoryNational")) curves.createNationalDirectory();		
		if(load.existeId("directory")) curves.createAddressesDirectory();
		if(load.existeId("detailCountryInt")) curves.createDetailCountryInt();
		if(load.existeId("detailCountryIntType2")){
			curves.createDetailCountryIntType2();
			curves.createAddressesInter();			
		}
		if(load.existeId("recommendPage")) fixes.setBackRecommend();
		//if(load.existeId("address")) links.setShowFormShareholders();
		if(load.existeId("bubble")) fixes.setBubble();
		if(load.existeId("awards")) curves.createGeneralCurves(document.getElementById("awards").getElementsByTagName("h4")[0].parentNode);
		if(load.existeId("climateChange")) curves.createClimate();
		/*if(load.existeId("contactPressForm")){
			fixes.setContactPressForm();
			curves.createGeneralCurves(document.getElementById("contactPressForm").getElementsByTagName("div")[0]);			
		}*/
		if(load.existeId("error")){
			curves.createGeneralCurves(document.getElementById("error").getElementsByTagName("div")[0]);
			fixes.setMsgError();
		}
		if(load.existeId("continente")) behaviours.setEventCmb();
		if(load.existeId("formFilter")) curves.createFilterMap();
		if(load.existeId("interestGroup")) curves.createCommonTitleCurves(document.getElementById("interestGroup"));
		if(load.existeId("formContact")) document.getElementById("formContact").onsubmit = formsValidations.validaContactForm;			
		if(load.existeId("formShareHolder")) document.getElementById("formShareHolder").onsubmit = formsValidations.validaFormShareholder;
		if(load.existeId("formRecommend")) document.getElementById("formRecommend").onsubmit = formsValidations.validaFormRecommend

		if(load.existeId("mapDirectory")) {
			gmaps.buscador.otrosPaises();
			gmaps.buscador.events();
		}		
	}
}

if(W3CDOM) e.addEvent(window, "load", load.setEvents, false);