

//definimos algunas variables globales

var diccionari={
		estudiants:{'ca':"estudiants", 'es':'estudiantes', 'en':'students'}
		
};

// version del ie
 var arVersion = navigator.appVersion.split("MSIE");
 var version = parseFloat(arVersion[1]);


var dirImagenProduccion;
var googleScriptCargado = false;  
var keymap = getKeyMap();

    //definimos las caractrististicas de los mapas
    var estudiantsObj = {
	        name: "estudiants",    //clase
			div: "maps_estudiants",
			tiles: true,
			marcas_visibles: false,
			etiquetas: true,
			markers: new Array(),
			iconescreades : new Array(),
			arrayTips: new Array(),
			map: "" ,
			centroY : 32.54681317351514, 
			centroX : 2.34258,
			zoomIni: 1,
			maxZoom: 5,
			
			iconos: [ 
                 {"nombre":"globo","imagen":"estudiants/icona.png","sombra":"estudiants/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0}
            ]
		};
    
    var alumniObj = {
	        name: "alumni",    //clase
			div: "maps_alumni",
			tiles: true,
			marcas_visibles: false,
			etiquetas: true,
			markers: new Array(),
			iconescreades : new Array(),
			arrayTips: new Array(),
			map: "" ,
			centroY : 32.54681317351514, 
			centroX : 2.34258,
			zoomIni: 1,
			maxZoom: 5,
			
			iconos: [ 
                 {"nombre":"globo","imagen":"alumni/icona.png","sombra":"alumni/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0}
            ]
		};
  var seusObj = {
	        name: "seus",       //clase
	        div: "maps_seus",
			tiles: false,
			marcas_visibles: true,
			etiquetas: false,
			markers: new Array(),
			iconescreades : new Array(),
			arrayTips: new Array(),
			tipusSeus : ["","Seu","Centre"],
			map: "",
			centroY : 39.647997,
			centroX : -1.647949,
			zoomIni: 5,
			iconos:[
                    {"nombre":"tipus_1","imagen":"seus/seus.png","sombra":"seus/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0},
                    {"nombre":"tipus_2","imagen":"seus/centres.png","sombra":"seus/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0}
                   ]
	};
  
  
  
  var xarxesObj = {
	        name: "xarxes",          //clase
	        div: "maps_xarxes",
			tiles: false,
			marcas_visibles: true,
			etiquetas: false,
			markers: new Array(),
			iconescreades : new Array(),
			arrayTips: new Array(),
			map : "",
			centroY : 32.54681317351514,
			centroX : 1.5545654296875,
			zoomIni: 1,
			iconos: [
			         {"nombre":"xarxaico","imagen":"xarxes/icona.png","sombra":"xarxes/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0}
			        ]
			};	

  var convenisObj = {
	        name: "convenis",            //clase
	        div: "maps_convenis",
			tiles: false,
			marcas_visibles: true,
			etiquetas: false,
			markers: new Array(),
			iconescreades : new Array(),
			arrayTips: new Array(),
			map : "",
			centroY : 32.54681317351514,
			centroX : 1.5545654296875,
			zoomIni: 1,
			iconos:[
                    {"nombre":"conve1","imagen":"convenis/convenis1.png","sombra":"convenis/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0},
			        {"nombre":"responsable_2","imagen":"convenis/convenis2.png","sombra":"convenis/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0},
                    {"nombre":"responsable_3","imagen":"convenis/convenis3.png","sombra":"convenis/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0},
                    {"nombre":"responsable_4","imagen":"convenis/convenis4.png","sombra":"convenis/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0},
                    {"nombre":"responsable_5","imagen":"convenis/convenis5.png","sombra":"convenis/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0}
                    ]
			
			};
			

var convenis_iipObj = {
	        name: "convenis_iip",            //clase
	        div: "maps_convenis_iip",
			tiles: false,
			marcas_visibles: true,
			etiquetas: false,
			markers: new Array(),
			iconescreades : new Array(),
			arrayTips: new Array(),
			map : "",
			centroY : 32.54681317351514,
			centroX : 1.5545654296875,
			zoomIni: 1,
			iconos:[
                    {"nombre":"conve1","imagen":"convenis_iip/convenis1.png","sombra":"convenis_iip/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0},
			        {"nombre":"responsable_2","imagen":"convenis_iip/convenis2.png","sombra":"convenis_iip/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0},
                    {"nombre":"responsable_3","imagen":"convenis_iip/convenis3.png","sombra":"convenis_iip/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0},
                    {"nombre":"responsable_4","imagen":"convenis_iip/convenis4.png","sombra":"convenis_iip/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0},
                    {"nombre":"responsable_5","imagen":"convenis_iip/convenis5.png","sombra":"convenis_iip/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0}
                    ]
			
			};			
 
 
  var rectoraObj = {
	        name: "rectora",          //clase
	        div: "maps_rectora",
			tiles: false,
			marcas_visibles: true,
			etiquetas: false,
			markers: new Array(),
			iconescreades : new Array(),
			arrayTips: new Array(),
			map : "",
			centroY : 32.54681317351514,
			centroX : 1.5545654296875,
			zoomIni: 1,
			iconos: [
			         {"nombre":"rectoraico","imagen":"rectora/icona.png","sombra":"rectora/ombra.png","imagenX":21,"imagenY":21,"sombraX":31,"sombraY":25,"icoAnchorX":0,"icoAnchorY":21,"infoAnchorX":10,"infoAnchorY":0}
			        ]
			};	



//variables que pueden ser sobreescritas desde un script js anterior
if (typeof(googleKeyMap)=="undefined"){
    
	googleKeyMap=keyApis[keymap];
}



if (typeof(idioma)=="undefined"){
    idioma = getIdioma();
}


if (typeof(baseUrl)=="undefined"){
	baseUrl = getBaseUrl(keymap);
}


if (typeof(dirImagenes)=="undefined"){
	  dirImagenes = baseUrl+"uploads/tiles/";
}


if (typeof(dirImagenesIcones)=="undefined"){	
    var dirImagenesIcones = baseUrl+"images/icones/";
}



// localizamos el idioma
function getIdioma(){
	var urlActual =""+document.location;
	urlActual=urlActual.toLowerCase();
	var idioma = urlActual.search("castellano|english|/français|/es/|/en/|/es$|/en$|/fr/|/fr$");
	var idioma = urlActual.substr(idioma, 3);
    switch (idioma){
		case "cas":
			return 'es';
			break;
	    case 'eng' :
			return 'en';
			break;
	    case 'fra' :
			return 'fr';
			break;	
	    case '/es':
	       return 'es';
		   break;
	    case '/en':
	       return 'en';
		   break;
	    case '/fr':
		       return 'fr';
			   break;
	    case 'fr':
		       return 'fr';
			   break;	   
		default:
			return 'ca';
		 
	}
}
// para obtener un keymap , una clave para poder configurar las opciones segun el dominio .
function getKeyMap(){
	
	var urlActual = ""+document.location;
	var domini = urlActual.substr(7,11);
	if (domini.match('portal-pre'))return "keymapPortal2";
	if (domini.match('uoc.edu'))return "keymapProduccio";
	
	return "keymap";
	
}


//para encontrar donde estan las imagenes

function getBaseUrl(key){
	switch (key){
	    case 'keymapPortal2':
		return "http://portal-pre.uoc.edu/mashups/web/";
	   break;
	 case 'keymapProduccio':
		 return "http://www.uoc.edu/mashups/web/";;
		 break;
	 default:
		 return "http://www.uoc.edu/mashups/web/";
	}
	
}



//` png transparente en ie
function fixpng(img){
         var imgID = (img.id) ? "id='" + img.id + "' " : "";
         var imgClass = (img.className) ? "class='" + img.className + "' " : "";
         var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
         var imgStyle = "display:inline-block;" + img.style.cssText ;
         if (img.align == "left") imgStyle = "float:left;" + imgStyle;
         if (img.align == "right") imgStyle = "float:right;" + imgStyle;
         if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle;
         var strNewHTML = "<span " + imgID + imgClass + imgTitle
         +  " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
         +  "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
         +  "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" ;
         img.outerHTML = strNewHTML;
};


// conocer el tamanyo del div donde se ubica un mapa
function obtenerTamanyoDiv(divId){  
       var div = document.getElementById(divId);
       var width =(typeof(div.width) == 'undefined') ?  div.style.width : div.width;
       var height =(typeof(div.height) == 'undefined') ?  div.style.height :div.height ;
    
       if(typeof(width) == "string") {
                    width=parseInt(width.substr(0,width.length-2));
         }   ;  
         if(typeof(height) == "string") {
                    height=parseInt(height.substr(0,height.length-2));
         };   
     
        return {width:width,height:height };
};   
    
//carga un archivo css dinamicamente
function loadCss(filename){
	  var fileref=document.createElement("link");
	  fileref.setAttribute("rel", "stylesheet");
	  fileref.setAttribute("type", "text/css");
	  fileref.setAttribute("href", baseUrl+"css/"+filename);
	 if(typeof(fileref)!="undefined"){
	  document.getElementsByTagName("head")[0].appendChild(fileref)
	 }
}

//carga un archivo css dinamicamente
function loadScritFile(filename){
	  var fileref=document.createElement("script");
	  fileref.setAttribute("type", "text/javascript");
	  fileref.setAttribute("src", baseUrl+"js/"+filename);
	 if(typeof(fileref)!="undefined"){
	  document.getElementsByTagName("head")[0].appendChild(fileref)
	 }
}

// copiar objetos del tipo GType - tipo de mapa - 
function copy_objMap(o){
   var c = new Object();
  
   for (var e in o)
  {
   if (e!="Fx" ) {c[e] = o [e];}
   else {c[e] = c};
  };
   return c; 
};



function loadScript() {
  if (googleScriptCargado) return;
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src = "http://maps.google.com/maps?file=api&v=2.x&hl="+idioma+"&key="+googleKeyMap+"&async=2&callback=controler";
  document.body.appendChild(script);
  googleScriptCargado = true;
}
 
 
 
 function controler() {
   if (typeof(estudiants)!="undefined"){ loadCss('gestudiants.css');loadMap(estudiantsObj);}
   if (typeof(xarxes)!="undefined") {loadCss('gxarxes.css'); loadMap(xarxesObj);}
   if (typeof(seus)!="undefined"){loadCss('gseus.css'); loadMap(seusObj);}
   if (typeof(convenis)!="undefined"){loadCss('gconvenis.css'); loadMap(convenisObj);}
   if (typeof(convenis_iip)!="undefined"){loadCss('gconvenis_iip.css'); loadMap(convenis_iipObj);}
   if (typeof(alumni)!="undefined"){loadCss('galumni.css'); loadMap(alumniObj);}
   if (typeof(rectora)!="undefined") {loadCss('grectora.css'); loadMap(rectoraObj);}
 }
 
 
 
  
 
function loadMap(obj) { 
    //precargamos la imagen info
    var precargaImg =new Image();
 	precargaImg.src=dirImagenesIcones+obj.name+'/info.png';
 	
	obj.map = new GMap2(document.getElementById(obj.div));
	
    obj.map.setCenter(new GLatLng(obj.centroY, obj.centroX), obj.zoomIni);
    obj.map.enableDoubleClickZoom();
    obj.map.addControl(new GLargeMapControl());
    obj.map.setZoom(obj.zoomIni);
    
    
    //creamos una copia de los tipos de mapa
    //esto sirve para poder poner varios mapas en una pagina y que los tipos no influyan entre ellos.
    var mapaNormal = copy_objMap( G_NORMAL_MAP);
    var mapaSatellite =copy_objMap ( G_SATELLITE_MAP);
    var mapaFisico =copy_objMap ( G_PHYSICAL_MAP); 
    var arrayTypes = [mapaNormal, mapaSatellite, mapaFisico];
  

  //restringimos los zooms sobreescribiendo las funciones de los tipos de mapa
   for (var i in arrayTypes) {
		arrayTypes[i].getMinimumResolution = function() { return 1 };
		
         if(typeof(obj.maxZoom) != "undefined")  {
        	 arrayTypes[i].getMaximumResolution = function() { return obj.maxZoom; };
	    }
	    else{
	    	 arrayTypes[i].getMaximumResolution = function() { return 15 };
	    }
	}
    
    
    //obj.map.addMapType(G_PHYSICAL_MAP);
    obj.map.addMapType(mapaNormal);
    obj.map.addMapType(mapaSatellite);
    obj.map.addMapType(mapaFisico);
    obj.map.removeMapType(G_NORMAL_MAP);
    obj.map.removeMapType(G_SATELLITE_MAP);
    obj.map.removeMapType(G_PHYSICAL_MAP);
    obj.map.removeMapType(G_HYBRID_MAP	);
    
    
    
    obj.map.setMapType(mapaFisico);
    obj.map.addControl(new GMapTypeControl());

  
    if (obj.tiles)
	{
	    var myCopyright = new GCopyrightCollection(" ");
        myCopyright.addCopyright(new GCopyright('Demo', new GLatLngBounds(new GLatLng(-90,-180), new GLatLng(90,180)),0,'ï¿½2007 Google'));
        // Crea la superposiciï¿½n de la capa de mosaico e implementa los tres mï¿½todos abstractos.                
        var detailLayer = new GTileLayer(myCopyright);	
	    
		detailLayer.getTileUrl = function(tile, zoom){
             //pasamos la posicion X, Y del azulejo(tile) y el zoom
            var tileURL = dirImagenes+obj.name+"/"+"c_"+zoom+"_"+tile.x+"_"+tile.y+".png";
           return tileURL;
        };
        detailLayer.isPng = function() { 
          		return true;
        };
        detailLayer.getOpacity = function() { return 1 };
         var myTileLayer = new GTileLayerOverlay(detailLayer);
        obj.map.addOverlay(myTileLayer);
    };
  
    //creamos los iconos
	for (index in obj.iconos)
	{
      creaIcona(obj.iconos[index]);
      
    };
    
	
	
	function creaIcona (ico){
		
        obj.iconescreades[ico["nombre"]]= new GIcon();
        obj.iconescreades[ico["nombre"]].image = dirImagenesIcones+ico["imagen"];        
        obj.iconescreades[ico["nombre"]].shadow = dirImagenesIcones+ico["sombra"];
        obj.iconescreades[ico["nombre"]].iconSize = new GSize(ico["imagenX"],ico["imagenY"]);
        obj.iconescreades[ico["nombre"]].shadowSize = new GSize(ico["sombraX"],ico["sombraY"]);
        obj.iconescreades[ico["nombre"]].iconAnchor = new GPoint(ico["icoAnchorX"], ico["icoAnchorY"]);
        obj.iconescreades[ico["nombre"]].infoWindowAnchor = new GPoint(ico["infoAnchorX"],ico["infoAnchorY"]);

   };

    
    
    /* Etiquetas del tipo estudiantes: */
    
    function ToolTip(marker,etiqueta) {
 	   this.etiqueta_ = etiqueta;
 	   //this.width_ = (width ? width + 'px' : 'auto');
 	   this.marker_ = marker;
       marker.tooltip = this;
 	   this.x_ = null;
 	   this.y_= null; 
 	   this.z_= null;
 	};

    
    ToolTip.prototype = new GOverlay();

    
	
	
	 ToolTip.prototype.initialize = function(map){
	    var div = document.createElement("div");
	    
	    obj.map.getPane(G_MAP_MARKER_PANE).appendChild(div);
	    this.map_ = obj.map;
	    this.div_ = div;
	    
	};

	ToolTip.prototype.remove = function() {
	    this.div_.parentNode.removeChild(this.div_);

	};


	ToolTip.prototype.copy = function() {
	    return new ToolTip(this.marker_, this.etiqueta_, this.width);
	};


	ToolTip.prototype.redraw = function(force) {
	    /*if (!force) return;*/
		
        
        
	    var pixelLocation = this.map_.fromLatLngToDivPixel(this.marker_.getPoint());
	    this.x_ = pixelLocation.x;
	    this.y_ = pixelLocation.y;
	    this.z_ = GOverlay.getZIndex(this.marker_.getPoint().lat()) ;    
	    this.div_.style.position = 'absolute';
	    
	    this.div_.style.top = this.y_ -46 +"px";
	    this.div_.style.zIndex=this.z_;
	    
         this.div_.innerHTML="";
         //this.div_.height ="25px";
         //this.div_.width = "64px";
         
         var numero = document.createElement('div');
         numero.className="getiqueta";
         numero.innerHTML=this.etiqueta_;
         
         
        var globoetiqueta = document.createElement('img');
        //dependiendo del tamanyo del numero cargamos una imagen o otra
        if (this.etiqueta_.length > 2) { 
          this.div_.style.left = this.x_ -9+"px";
          globoetiqueta.width = "64";
          globoetiqueta.height = "25";
          globoetiqueta.src = dirImagenesIcones+this.marker_.obj_.name+'/numero_gran.png';
        
          numero.style.width = "53px";
        }   
        else {
          this.div_.style.left = this.x_ -4+"px";
          numero.style.width = "36px";
          globoetiqueta.width="45";
          globoetiqueta.height = "25";
           globoetiqueta.src = dirImagenesIcones+this.marker_.obj_.name+'/numero_peque.png';
        };

        this.div_.appendChild(globoetiqueta);

         if ((version >= 5.5 && version < 7) && (document.body.filters)) 
        {
           fixpng(globoetiqueta);
        }
         
         this.div_.appendChild(numero);



        //visible segons el zoom
         if (obj.map.getZoom()< 3) this.div_.style.visibility="hidden";
         else {this.div_.style.visibility="visible"}
        
        
      
};
      /*FIN  Etiquetas del tipo estudiantes: */
 
     marcaActiva = false;             //registro de la marca que tiene el globo de info abierto
 
     //Anyadimos algunas propiedades en GMarker para ayudar a gestionar los globos de info	 
     
     GMarker.prototype.y_orig  = null;
	 GMarker.prototype.numero  = null;
	 GMarker.prototype.nompais = null;
     GMarker.prototype.tooltip = null;
     GMarker.prototype.obj_    = null;
	 GMarker.prototype.desplazarInfo = 0;
	 GMarker.prototype.LittleInfoWindowInstance = null;
	 
	 GMarker.prototype.openLittleInfoWindow = function(content) {
         //  if (!marcaActiva)
		 if(this.LittleInfoWindowInstance == null) {
		  this.LittleInfoWindowInstance = new LittleInfoWindow(this,content);
         
		  this.obj_.map.addOverlay(this.LittleInfoWindowInstance);
		 };
	 };
	
    GMarker.prototype.closeLittleInfoWindow = function() {
		 if(this.LittleInfoWindowInstance != null) {
		 this.obj_.map.removeOverlay(this.LittleInfoWindowInstance);
		 this.LittleInfoWindowInstance = null;
         this.desplazarInfo = 0;
         marcaActiva = false;
		 };
	 };
		   //****************************************
		    //***     FUNCION CREAR INFOWINDOWS
		    //*****************************************
	 function LittleInfoWindow(marker,html) {
		    this.html_ = html;
		   // this.width_ = ( width ? width + 'px' : 'auto');
		    this.marker_ = marker;
            
		    
		};
	 LittleInfoWindow.prototype = new GOverlay();
	
	 
	 // 4 funciones initialize, remove
	 LittleInfoWindow.prototype.initialize = function(){
		 this.map_ = this.marker_.obj_.map;
		 var div = document.createElement("div");
		 this.container_ = div;
		 this.map_.getPane(G_MAP_FLOAT_PANE).appendChild(div);
		  
		 var shadowContainer = document.createElement("div");
		 this.shadowContainer_ = shadowContainer;
		 this.map_.getPane(G_MAP_FLOAT_SHADOW_PANE).appendChild(shadowContainer);
     };
	 
	 LittleInfoWindow.prototype.remove= function(){
		    this.container_.parentNode.removeChild(this.container_);
		    //don't forget to remove the shadow as well
		    this.shadowContainer_.parentNode.removeChild(this.shadowContainer_);
	 };
	 
	 LittleInfoWindow.prototype.copy= function(){
		 return new LittleInfoWindow(this.marker_,this.html_);
	 };
	 
	 LittleInfoWindow.prototype.redraw= function(force){
		 if(!force) return;
         var pixelLocation = this.map_.fromLatLngToDivPixel(this.marker_.getPoint());
		 this.container_.style.position='absolute';
		 this.container_.style.left = (pixelLocation.x-205) + "px";
		 this.container_.style.top = (pixelLocation.y -220) + "px";
		 this.container_.style.border = '0';
		 this.container_.style.width = '280px';
		 this.container_.style.height = '198px';
         this.container_.style.margin = '0';
		 this.container_.style.padding = '0';
		 this.container_.style.display = 'block';
       
		 //imagen
         var img = document.createElement('img');
         img.src = dirImagenesIcones+this.marker_.obj_.name+'/info.png';
         img.style.position='absolute';
         img.style.top="0px";
         img.style.left="0px";
         this.container_.appendChild(img);
         
         //boton de cerrar globo
         var closer = document.createElement('a');
         closer.href="javascript: marcaActiva.closeLittleInfoWindow()";      
         closer.innerHTML='<img  border="0" src="'+dirImagenesIcones+this.marker_.obj_.name+'/cerrar.png" />';
         closer.style.position='absolute';
         closer.style.top="10px";
         closer.style.left="255px";
         closer.style.color="#ffffff";
        
         this.container_.appendChild(closer);
                
         var contenido = document.createElement('div');
         contenido.id="gmcontenido";
         contenido.style.position="absolute";
         contenido.innerHTML=this.html_ ;
         
         this.container_.appendChild(contenido);
        
         //anyadir sombra
		 this.shadowContainer_.style.position='absolute';
         this.shadowContainer_.style.width="396px";
         this.shadowContainer_.style.height="176px";
		 this.shadowContainer_.style.left = (pixelLocation.x -176) + "px";
		 this.shadowContainer_.style.top = (pixelLocation.y-193) + "px";
		 this.shadowContainer_.style.margin = '0';
		 this.shadowContainer_.style.padding = '0';
		 this.shadowContainer_.style.display = 'block';
                 
         var sombra = document.createElement('img');
         sombra.src = dirImagenesIcones+this.marker_.obj_.name+'/infosombra.png';
         sombra.style.position='absolute';
         sombra.style.top="0px";
         sombra.style.left="0px";
         
         this.shadowContainer_.appendChild(sombra);

        //hack png transparente para el ie 
        if ((version >= 5.5 && version < 7) && (document.body.filters)) 
        {
           fixpng(img);
           fixpng(sombra);
        };
        
	    
	    //movemos el mapa si no cabe el globo en la pantalla
		  
		   var tamanyoDiv= obtenerTamanyoDiv(this.marker_.obj_.div);  //comprobamos el tamanyo del div donde se muestra el mapa
          
           var posicionMarcaDiv = this.map_.fromLatLngToContainerPixel(this.marker_.getLatLng()) ;
          
           var anyadirX = (posicionMarcaDiv.x < (202+60))? 202+60 - posicionMarcaDiv.x : 0;  //poco espacio a la drecha del infoÂ´+ 10 de margen
           var anyadirX = ((tamanyoDiv.width-posicionMarcaDiv.x) < (76+15)) ? (tamanyoDiv.width-posicionMarcaDiv.x)-76-15 : anyadirX ; //poco espacio a la izquierda del info 
                     
           var anyadirY = (posicionMarcaDiv.y < 228 +25)? 230 +25- posicionMarcaDiv.y : 0;  //poco espacio encima del info
         
           //como info siempre queda encima de la marca simepre habra suficiente espacio debajo del info
                
           if ((anyadirX != 0 || anyadirY != 0) && this.marker_.desplazarInfo == 0){
                 this.map_.panBy(new GSize(anyadirX ,anyadirY ));
            
           };
          this.marker_.desplazarInfo = 1 ;// permitmos desplazar el mapa con el info abierto
        
		 
	 };
		    
		    //****************************************
		    //***  FIN   FUNCION CREAR INFOWINDOWS
		    //*****************************************
		    
	
	 //anyadimos las marcas
    function addMarker(lat,lng,html,etiqueta,icona){
    	
        var marker= new GMarker(new GLatLng(lat,lng),icona);
        marker.obj_ = obj;
        
        //si no hay html no hace falta
        if (html!=""){
		   GEvent.addListener( marker,"click",function(){
			   if(marker.LittleInfoWindowInstance) {
				   marker.closeLittleInfoWindow();
			   } 
               else {
                    if (marcaActiva) {
                      marcaActiva.closeLittleInfoWindow();
                    };
			        marker.openLittleInfoWindow(html);
                    marcaActiva = marker;
                    $('#textoLargo').jScrollPane({showArrows:true});
			   };
           });                
        };
        
              
        obj.map.addOverlay(marker);
    	
		//mostramos las etiquetas de numero del tipo estudiantes.
		 if (obj.etiquetas)
		 {
            var posicion=obj.map.fromLatLngToDivPixel(marker.getPoint());
            marker.y_orig=posicion.y;
            obj.markers.push(marker);
            var tip =new ToolTip(marker,etiqueta);
             
             GEvent.addListener( marker,"click",function(){
			            
                        if (obj.map.getZoom()< 3) this.tooltip.div_.style.visibility="visible";
               
			    } );
               GEvent.addListener( marker,"mouseout",function(){
			       
                   if (obj.map.getZoom()< 3) this.tooltip.div_.style.visibility="hidden";
               
			   } );
            obj.map.addOverlay(tip);
         };
        
    };



   //*****************************************
   //*  tratamiento especifico de los mapas   *
   //*****************************************
    
    if (obj.name=="estudiants"){
     	 //creamos las marcas, sin dibujarlas
         
     	 for (nompais in estudiants){
     	            
     	       lat=estudiants[nompais]['center'][0];
     		   lng=estudiants[nompais]['center'][1];
     		   
              //correccion en catalunya para que se vea Andorra
              
              if (nompais=="CAT") {lat=40.93841495689795; lng=0.538330078125;};


     		   html='';
			   
     		   nom_idioma="nom_"+idioma;
     		   //GLog.write(lat+" "+lng+" "+estudiants[nompais]['num_estudiants']+" "+nompais);
     		   addMarker(lat,lng,html,estudiants[nompais]['num_estudiants'],obj.iconescreades['globo']);
                  
            };
         	 
     };
	 
     if (obj.name=="alumni"){
     	 //creamos las marcas, sin dibujarlas
        
     	 for (nompais in alumni){
     	            
     	       lat=alumni[nompais]['center'][0];
     		   lng=alumni[nompais]['center'][1];
     		   
              //correccion en catalunya para que se vea Andorra
              
              if (nompais=="CAT") {lat=40.93841495689795; lng=0.538330078125;};


     		   html='';
			   
     		   nom_idioma="nom_"+idioma;
     		   //GLog.write(lat+" "+lng+" "+estudiants[nompais]['num_estudiants']+" "+nompais);
     		   addMarker(lat,lng,html,alumni[nompais]['num_estudiants'],obj.iconescreades['globo']);
                  
            };
         	 
     };
	 
	  if(obj.name=="xarxes"){
        for (idmarca in xarxes){
          
           var lat=xarxes[idmarca]['latitut'];
           var lng=xarxes[idmarca]['longitut'];
          
          
          
            var nomxarxa=xarxes[idmarca]['nom_'+idioma];
            var subtitolxarxa = "";
            var posicion_subtitulo = nomxarxa.indexOf('(');
            if (posicion_subtitulo !=-1){
                subtitolxarxa=nomxarxa.substring(posicion_subtitulo);
                nomxarxa=nomxarxa.substring(0,posicion_subtitulo-1);
            };
      
          
          
           var info=xarxes[idmarca]['info_'+idioma];
           info = info.split('#');
           var html='<div class="xarxes_gmarca" >';
            html+='<img class="gimagen"  src="'+xarxes[idmarca]['imatge']+'"/>';
            html+='<div class="gnom" >'+nomxarxa+'</div>';
            if (subtitolxarxa != "") {
                    html+='<div class="gsubtitol" >'+subtitolxarxa +'</div>';
            };
            
            html+='<div class="moreinfo">';
                for (index in info){
            	         html+='<p >'+info[index]+'</p>';
                        };
            html+='</div>';
            html+='<div class="gweb"><a target="_blank" href="'+xarxes[idmarca]['web_'+idioma]+'">Website</a></div>';
            html+='</div>';
            
            
                 
           
           addMarker (lat,lng,html,'',obj.iconescreades['xarxaico']);
       } ;

     };

       if(obj.name=="seus"){
        for (idmarca in seus){
          
           var lat=seus[idmarca]['latitut'];
           var lng=seus[idmarca]['longitut'];
           var tipus=seus[idmarca]['tipus'];
           var info=seus[idmarca]['info_'+idioma];
           info = info.split('#');
           var margin="";
          
      
         

           var html='<div class="seus_gmarca" >';
           
           html+='<div class="gnom" style="">'+seus[idmarca]['nom_'+idioma]+'</div>';
           
           if (seus[idmarca]['imatge']!=""){
                html+='<img class="gimagen" src="'+seus[idmarca]['imatge']+'"/>';
           
           }else {
                    html+='<img class="gimagen" src="'+dirImagenesIcones+obj.name+'/default_'+tipus+'.png"/>';
           }
            
            html+='<div class="ginfo" >';
            for (index in info){
            	html+='<p>'+info[index]+'&nbsp;</p>';
            }
            html+='</div>';
            if (seus[idmarca]['web_'+idioma]!=""){
                
               // var urlActual=document.location+"";
                               
               // var target =(seus[idmarca]['web_'+idioma].search('uoc.edu/portal/') != -1  && urlActual.search('uoc.edu/portal/')!=-1 )? "_self": "_blank" ;
                html+='<div class="gweb" ><a target="_self" href="'+seus[idmarca]['web_'+idioma]+'">Website</a></div>';
                
            } 
            
            html+='</div>';
            
           if (tipus!='3'){
           addMarker (lat,lng,html,'',obj.iconescreades['tipus_'+tipus]);
           }
       }; 

     };
       
       
 	  if(obj.name=="convenis"){
 	        for (idmarca in convenis){
 	          
 	           var lat=convenis[idmarca]['latitut'];
 	           var lng=convenis[idmarca]['longitut'];
 	           var responsable_id=convenis[idmarca]['idResponsable'];
 	           var responsable = convenis[idmarca]['nomResponsable'];
 	           var info=convenis[idmarca]['info_'+idioma];
 	           info = info.split('#');
 	           
               
               
               
               var html='<div class="convenis_gmarca" >';
               html+='<img class="gimagen"  src="'+convenis[idmarca]['imatge']+'"/>';
               html+='<div class="gnom" >'+convenis[idmarca]['nom']+'</div>';
               html+='<div class="gresponsable">'+responsable+'</div>'; 
               html+='<div class="gdata" >&nbsp;</div>';
               html+='<div id="textoLargo" class="moreinfo scroll-pane">';
                      for (index in info){
            	         html+='<p >'+info[index]+'</p>';
                        };
               html+='</div>';
               html+='<div class="gweb"><a target="_blank" href="'+convenis[idmarca]['web_'+idioma]+'">Website</a></div>';
               html+='</div>';
               addMarker (lat,lng,html,'',obj.iconescreades['responsable_'+ responsable_id]);
               
 	       } ;

 	     };
 	     
 	     
 	     if(obj.name=="convenis_iip"){
 	        for (idmarca in convenis_iip){
 	          
 	           var lat=convenis_iip[idmarca]['latitut'];
 	           var lng=convenis_iip[idmarca]['longitut'];
 	           var responsable_id=convenis_iip[idmarca]['idResponsable'];
 	           var responsable = convenis_iip[idmarca]['nomResponsable'];
 	           var info=convenis_iip[idmarca]['info_'+idioma];
 	           info = info.split('#');
 	           
               
               
               
               var html='<div class="convenis_gmarca" >';
               html+='<img class="gimagen"  src="'+convenis_iip[idmarca]['imatge']+'"/>';
               html+='<div class="gnom" >'+convenis_iip[idmarca]['nom']+'</div>';
               html+='<div class="gresponsable">'+responsable+'</div>'; 
               html+='<div class="gdata" >&nbsp;</div>';
               html+='<div id="textoLargo" class="moreinfo scroll-pane">';
                      for (index in info){
            	         html+='<p >'+info[index]+'</p>';
                        };
               html+='</div>';
               html+='<div class="gweb"><a target="_blank" href="'+convenis_iip[idmarca]['web_'+idioma]+'">Website</a></div>';
               html+='</div>';
               addMarker (lat,lng,html,'',obj.iconescreades['responsable_'+ responsable_id]);
               
 	       } ;

 	     };
 	     
 	    if(obj.name=="rectora"){
 	    	for (idmarca in rectora){
 	    	  
 	           var lat=rectora[idmarca]['latitut'];
 	           var lng=rectora[idmarca]['longitut'];
 	          
 	          
 	          
 	            var nomxarxa=rectora[idmarca]['nom_'+idioma];
 	            var data=rectora[idmarca]['data'];
 	            var subtitolxarxa = "";
 	            var posicion_subtitulo = nomxarxa.indexOf('(');
 	            if (posicion_subtitulo !=-1){
 	                subtitolxarxa=nomxarxa.substring(posicion_subtitulo);
 	                nomxarxa=nomxarxa.substring(0,posicion_subtitulo-1);
 	            };
 	      
 	          
 	          
 	           var info=rectora[idmarca]['info_'+idioma];
 	           info = info.split('#');
 	           var html='<div class="rectora_gmarca" >';
 	           
 	            html+='<img class="gimagen"  src="'+rectora[idmarca]['imatge']+'"/>';
 	            html+='<div class="gnom" >'+nomxarxa+'</div>';
 	            if (subtitolxarxa != "") {
 	                    html+='<div class="gsubtitol" >'+subtitolxarxa +'</div>';
 	            };
 	            html+='<div class="gdata" >'+data+'</div>'; 
 	           html+='<div class="gdata" >&nbsp;</div>';
 	            html+='<div id="textoLargo" class="moreinfo scroll-pane" >';
 	                for (index in info){
 	            	         html+='<p >'+info[index]+'</p>';
 	                        };
 	            html+='</div>';
 	            html+='<div class="gweb"><a target="_blank" href="'+rectora[idmarca]['web_'+idioma]+'">Website</a></div>';
 	            html+='</div>';
 	           
 	           addMarker (lat,lng,html,'',obj.iconescreades['rectoraico']);
 	       } ;
 	   };

  
    window.onunload= GUnload;
    
};//fin loadMap


function loadScrolls() {
	loadScritFile('jquery-1.3.2.min.js');
	loadScritFile('jquery.mousewheel.min.js');
	loadScritFile('jquery.em.js');
	loadScritFile('jScrollPane.js');
	loadCss('jScrollPane.css');	
}



loadScrolls();
loadScript();




