var COLOR_OBRA_NUEVA="#fbe23f";var COLOR_SEGUNDA_MANO="#97e5be";function calculaColor(a){if(a.origen=="P"){return COLOR_OBRA_NUEVA;}else{return COLOR_SEGUNDA_MANO;}}function createIcon(d,a,e){var c={};if(d){c.label=d;}if(a){c.primaryColor=a;}c.addStar=e;var b=MapIconMaker.createLabeledMarkerIcon(c);return b;
}function getImage(c,a,d){var b=createIcon(c,a,d);return b.image;}function generateMarkerId(b,a){if(a=="inmueble"){return"i"+b.latitud+"_"+b.longitud;}else{if(a=="poblacion"){return"p"+b.idPoblacion;}else{if(a=="provincia"){return"p"+b.idProvincia;}}}}function createMarker(g,b,a,f){var e={};var h=false;
if(f){if(a=="inmueble"){f.color=calculaColor(g);if(g.IPE=="S"){h=g.IPE;}}var d=createIcon(f.letter,f.color,h);e.icon=d;}var c=new GMarker(b,e);c._markerType=a;c._data=[g];c._id=generateMarkerId(g,a);GEvent.addListener(c,"click",markerOnClick);return c;}function markerOnClick(){if(this._html!=undefined){if(this._pestanyas!=undefined){this.openInfoWindowTabsHtml(this._pestanyas);
}else{this.openInfoWindowHtml(this._html);}}else{if(this._markerType=="inmueble"){cargaGloboInmueble(this);}else{var e=this._data[0];if(this._markerType=="poblacion"){var b=e.nombre+"("+e.inmuebles+")";var d="p"+e.idPoblacion;}else{if(this._markerType=="provincia"){var a=e.nombre+"("+e.inmuebles+")";
var d="p"+e.idProvincia;}}var c="<b>"+a+"</b> <br/>";this.openInfoWindowHtml(c);}}selectedMarker=this;}function cargaGloboInmueble(a){var c=[];for(var b in a._data){c.push(a._data[b].idOperacion);}RemoteInmueblesService.cargaInmuebleMini(c,function(d){cargaGloboInmuebleCbk(d,a,a._data);});}function cargaGloboInmuebleCbk(d,b,g){b._htmlArray=[];
b._html="";for(var e in d){var a=d[e];a._data=extraeDataOriginal(a,g);var f=getHtmlInmueble(a);b._htmlArray[e]=f;}if(b._htmlArray.length==1){b._html=b._htmlArray[0];b.openInfoWindowHtml(b._html);}else{var c="<ul>";for(var e in d){var h=d[e];c+='<li><a href="?action=detail&method=doDetail&idOperacion='+h.idOperacion+'">'+formatCurrency(h.precio,0)+" &euro;</a></li>";
}b._html=c;b.openInfoWindowHtml(c);}}function extraeDataOriginal(a,e){if(e==undefined){return undefined;}var b=false;var d=0;var c=undefined;while(d<e.length&&!b){b=e[d].idOperacion==a.idOperacion;if(b){c=e[d];}d++;}return c;}function getHtmlInmueble(a){var c="";if(a._data&&a._data.urlFicha){c=a._data.urlFicha;
}else{c="?action=detail&method=doDetail&idOperacion="+a.idOperacion;}var g=a.imagenPrincipal;if(g=="null"){g="nofoto.jpg";}var e=a.idPromocion!=0;var f="";if(!e){f=formatCurrency(a.precio,0);}else{if(a.precioDesde==a.precioHasta){f=a.literalDesde+" "+formatCurrency(a.precioDesde,0);}else{f=a.literalDesde+" "+formatCurrency(a.precioDesde,0)+"<br/>"+a.literalHasta+" "+formatCurrency(a.precioHasta,0);
}}var d=' <div class="globo_left">'+'<img width="79" height="59" alt="" src="/imagenes/normales/'+a.imagenPrincipal+'" class="img_piso_mapa" />'+'<p class="ver_ficha"><a href="'+c+'">'+a.literalVerFicha+" >></a></p>"+"</div>"+'<div class="globo_right">'+'<p class="direccion">';if(e){d+=a.literalPromocion+": ";
}d+=getDireccionInmueble(a)+"</p>"+'<p class="precio">'+f+" &euro;</p>"+'<ul class="datos_ficha_mapa">';var h=1;if(!e){d+=addCaracteristicaHtml(a.descTipoInmueble,h++,"");}var b="";if(!e){b=a.superficie;}else{if(a.superficieDesde==a.superficieHasta){b=a.literalDesde+" "+a.superficieDesde;}else{b=a.literalDesde+" "+a.superficieDesde+" "+a.literalHasta+" "+a.superficieHasta;
}}d+=addCaracteristicaHtml(b,h++," m<sup>2</sup>");d+=addCaracteristicaHtml(a.habitaciones,h++," "+a.literalHabitaciones+".");d+=addCaracteristicaHtml(a.poblacion,100,"");d+="</ul></div>";return d;}function addCaracteristicaHtml(d,a,b){var c="";if(d!="null"&&d!=null){c+="<li ";if(a==1){c+='class="primer_item"';
}if(a==2){c+='class="m_cuadrados"';}else{if(a==100){c+='class="ultimo_item"';}}c+=">"+d+b+"</li>";}return c;}function getDireccionInmueble(a){var b="";b+=(a.descBreveTipoVia!=null&&a.descBreveTipoVia!="null")?a.descBreveTipoVia:"";b+=(a.via!=null&&a.via!="null")?" "+a.via:"";return b;}function getCheckValue(a){if(a.checked){return a.value;
}else{return"";}}function showStreetView(d,c){var b=new GLatLng(d,c);panoramaOptions={latlng:b};var a=new GStreetviewPanorama($_("street"),panoramaOptions);GEvent.addListener(a,"error",handleNoFlash);}function handleNoFlash(a){if(a==FLASH_UNAVAILABLE){alert("Error: Parece que el navegador no admite el uso de Flash.");
return;}}function esItemRepetido(d,c){if(d==undefined||d.length==0){return false;}var a=false;var b=0;while(b<d.length&&!a){a=d[b].idOperacion==c.idOperacion;b++;}return a;}function creaMarkerMultiple(c,g,b,a,f){c._data.push(g);if(c._data.length==2){var e={letter:"+"};var d=createMarker(g,b,a,e);d._data=c._data;
allMarkers[c._id]=d;f[c._id]=d;mgr.removeMarker(c);map.removeOverlay(c);c=d;}return c;}var MapIconMaker={};MapIconMaker.createMarkerIcon=function(a){var d=a.width||32;var j=a.height||32;var e=a.primaryColor||"#ff0000";var k=a.strokeColor||"#000000";var c=a.cornerColor||"#ffffff";var g="http://chart.apis.google.com/chart?cht=mm";
var b=g+"&chs="+d+"x"+j+"&chco="+c.replace("#","")+","+e.replace("#","")+","+k.replace("#","")+"&ext=.png";var h=new GIcon(G_DEFAULT_ICON);h.image=b;h.iconSize=new GSize(d,j);h.shadowSize=new GSize(Math.floor(d*1.6),j);h.iconAnchor=new GPoint(d/2,j);h.infoWindowAnchor=new GPoint(d/2,Math.floor(j/12));
h.printImage=b+"&chof=gif";h.mozPrintImage=b+"&chf=bg,s,ECECD8"+"&chof=gif";b=g+"&chs="+d+"x"+j+"&chco="+c.replace("#","")+","+e.replace("#","")+","+k.replace("#","");h.transparent=b+"&chf=a,s,ffffff11&ext=.png";h.imageMap=[d/2,j,(7/16)*d,(5/8)*j,(5/16)*d,(7/16)*j,(7/32)*d,(5/16)*j,(5/16)*d,(1/8)*j,(1/2)*d,0,(11/16)*d,(1/8)*j,(25/32)*d,(5/16)*j,(11/16)*d,(7/16)*j,(9/16)*d,(5/8)*j];
for(var f=0;f<h.imageMap.length;f++){h.imageMap[f]=parseInt(h.imageMap[f]);}return h;};MapIconMaker.createFlatIcon=function(k){var n=k.width||32;var l=k.height||32;var r=k.primaryColor||"#ff0000";var m=k.shadowColor||"#000000";var i=MapIconMaker.escapeUserText_(k.label)||"";var t=k.labelColor||"#000000";
var j=k.labelSize||0;var c=k.shape||"circle";var p=(c==="circle")?"it":"itr";var b="http://chart.apis.google.com/chart?cht="+p;var h=b+"&chs="+n+"x"+l+"&chco="+r.replace("#","")+","+m.replace("#","")+"ff,ffffff01"+"&chl="+i+"&chx="+t.replace("#","")+","+j;var q=new GIcon(G_DEFAULT_ICON);q.image=h+"&chf=bg,s,00000000"+"&ext=.png";
q.iconSize=new GSize(n,l);q.shadowSize=new GSize(0,0);q.iconAnchor=new GPoint(n/2,l/2);q.infoWindowAnchor=new GPoint(n/2,l/2);q.printImage=h+"&chof=gif";q.mozPrintImage=h+"&chf=bg,s,ECECD8"+"&chof=gif";q.transparent=h+"&chf=a,s,ffffff01&ext=.png";q.imageMap=[];if(p==="itr"){q.imageMap=[0,0,n,0,n,l,0,l];
}else{var g=8;var d=360/g;var u=Math.min(n,l)/2;for(var s=0;s<(g+1);s++){var o=d*s*(Math.PI/180);var f=u+u*Math.cos(o);var e=u+u*Math.sin(o);q.imageMap.push(parseInt(f),parseInt(e));}}return q;};MapIconMaker.createLabeledMarkerIcon=function(b){var c=b.primaryColor||"#DA7187";var k=b.strokeColor||"#000000";
var g=b.starPrimaryColor||"#FFFF00";var l=b.starStrokeColor||"#0000FF";var h=MapIconMaker.escapeUserText_(b.label)||"";var i=b.labelColor||"#000000";var d=b.addStar||false;var j=(d)?"pin_star":"pin";var e="http://chart.apis.google.com/chart?cht=d&chdp=mapsapi&chl=";var a=e+j+"'i\\"+"'["+h+"'-2'f\\"+"hv'a\\]"+"h\\]o\\"+c.replace("#","")+"'fC\\"+i.replace("#","")+"'tC\\"+k.replace("#","")+"'eC\\";
if(d){a+=g.replace("#","")+"'1C\\"+l.replace("#","")+"'0C\\";}a+="Lauto'f\\";var f=new GIcon(G_DEFAULT_ICON);f.image=a+"&ext=.png";f.iconSize=(d)?new GSize(23,39):new GSize(21,34);return f;};MapIconMaker.escapeUserText_=function(a){if(a===undefined){return null;}a=a.replace(/@/,"@@");a=a.replace(/\\/,"@\\");
a=a.replace(/'/,"@'");a=a.replace(/\[/,"@[");a=a.replace(/\]/,"@]");return encodeURIComponent(a);};function MarkerManager(g,h){var e=this;e.map_=g;e.mapZoom_=g.getZoom();e.projection_=g.getCurrentMapType().getProjection();h=h||{};e.tileSize_=MarkerManager.DEFAULT_TILE_SIZE_;var b=g.getMapTypes();var a=b[0].getMaximumResolution();
for(var c=0;c<b.length;c++){var d=b[c].getMaximumResolution();if(d>a){a=d;}}e.maxZoom_=h.maxZoom||a;e.trackMarkers_=h.trackMarkers;e.show_=h.show||true;var f;if(typeof h.borderPadding==="number"){f=h.borderPadding;}else{f=MarkerManager.DEFAULT_BORDER_PADDING_;}e.swPadding_=new GSize(-f,f);e.nePadding_=new GSize(f,-f);
e.borderPadding_=f;e.gridWidth_=[];e.grid_=[];e.grid_[e.maxZoom_]=[];e.numMarkers_=[];e.numMarkers_[e.maxZoom_]=0;GEvent.bind(g,"moveend",e,e.onMapMoveEnd_);e.removeOverlay_=function(i){g.removeOverlay(i);e.shownMarkers_--;};e.addOverlay_=function(i){if(e.show_){g.addOverlay(i);e.shownMarkers_++;}};e.resetManager_();
e.shownMarkers_=0;e.shownBounds_=e.getMapGridBounds_();}MarkerManager.DEFAULT_TILE_SIZE_=1024;MarkerManager.DEFAULT_BORDER_PADDING_=100;MarkerManager.MERCATOR_ZOOM_LEVEL_ZERO_RANGE=256;MarkerManager.prototype.resetManager_=function(){var c=this;var a=MarkerManager.MERCATOR_ZOOM_LEVEL_ZERO_RANGE;for(var b=0;
b<=c.maxZoom_;++b){c.grid_[b]=[];c.numMarkers_[b]=0;c.gridWidth_[b]=Math.ceil(a/c.tileSize_);a<<=1;}};MarkerManager.prototype.clearMarkers=function(){var a=this;a.processAll_(a.shownBounds_,a.removeOverlay_);a.resetManager_();};MarkerManager.prototype.getTilePoint_=function(d,b,c){var a=this.projection_.fromLatLngToPixel(d,b);
return new GPoint(Math.floor((a.x+c.width)/this.tileSize_),Math.floor((a.y+c.height)/this.tileSize_));};MarkerManager.prototype.addMarkerBatch_=function(c,g,b){var f=c.getPoint();c.MarkerManager_minZoom=g;if(this.trackMarkers_){GEvent.bind(c,"changed",this,this.onMarkerMoved_);}var d=this.getTilePoint_(f,b,GSize.ZERO);
for(var e=b;e>=g;e--){var a=this.getGridCellCreate_(d.x,d.y,e);a.push(c);d.x=d.x>>1;d.y=d.y>>1;}};MarkerManager.prototype.isGridPointVisible_=function(b){var f=this;var d=f.shownBounds_.minY<=b.y&&b.y<=f.shownBounds_.maxY;var a=f.shownBounds_.minX;var c=a<=b.x&&b.x<=f.shownBounds_.maxX;if(!c&&a<0){var e=f.gridWidth_[f.shownBounds_.z];
c=a+e<=b.x&&b.x<=e-1;}return d&&c;};MarkerManager.prototype.onMarkerMoved_=function(e,a,c){var g=this;var i=g.maxZoom_;var d=false;var b=g.getTilePoint_(a,i,GSize.ZERO);var f=g.getTilePoint_(c,i,GSize.ZERO);while(i>=0&&(b.x!==f.x||b.y!==f.y)){var h=g.getGridCellNoCreate_(b.x,b.y,i);if(h){if(g.removeFromArray_(h,e)){g.getGridCellCreate_(f.x,f.y,i).push(e);
}}if(i===g.mapZoom_){if(g.isGridPointVisible_(b)){if(!g.isGridPointVisible_(f)){g.removeOverlay_(e);d=true;}}else{if(g.isGridPointVisible_(f)){g.addOverlay_(e);d=true;}}}b.x=b.x>>1;b.y=b.y>>1;f.x=f.x>>1;f.y=f.y>>1;--i;}if(d){g.notifyListeners_();}};MarkerManager.prototype.removeMarker=function(c){var f=this;
var e=f.maxZoom_;var g=false;var b=c.getPoint();var d=f.getTilePoint_(b,e,GSize.ZERO);while(e>=0){var a=f.getGridCellNoCreate_(d.x,d.y,e);if(a){f.removeFromArray_(a,c);}if(e===f.mapZoom_){if(f.isGridPointVisible_(d)){f.removeOverlay_(c);g=true;}}d.x=d.x>>1;d.y=d.y>>1;--e;}if(g){f.notifyListeners_();}f.numMarkers_[c.MarkerManager_minZoom]--;
};MarkerManager.prototype.addMarkers=function(d,e,c){var a=this.getOptMaxZoom_(c);for(var b=d.length-1;b>=0;b--){this.addMarkerBatch_(d[b],e,a);}this.numMarkers_[e]+=d.length;};MarkerManager.prototype.getOptMaxZoom_=function(a){return a||this.maxZoom_;};MarkerManager.prototype.getMarkerCount=function(b){var a=0;
for(var c=0;c<=b;c++){a+=this.numMarkers_[c];}return a;};MarkerManager.prototype.getMarker=function(e,h,j){var f=this;var a=new GLatLng(e,h);var b=f.getTilePoint_(a,j,GSize.ZERO);var d=new GMarker(a);var g=f.getGridCellNoCreate_(b.x,b.y,j);if(g!=undefined){for(var c=0;c<g.length;c++){if(e==g[c].getLatLng().lat()&&h==g[c].getLatLng().lng()){d=g[c];
}}}return d;};MarkerManager.prototype.addMarker=function(b,f,d){var e=this;var a=this.getOptMaxZoom_(d);e.addMarkerBatch_(b,f,a);var c=e.getTilePoint_(b.getPoint(),e.mapZoom_,GSize.ZERO);if(e.isGridPointVisible_(c)&&f<=e.shownBounds_.z&&e.shownBounds_.z<=a){e.addOverlay_(b);e.notifyListeners_();}this.numMarkers_[f]++;
};GBounds.prototype.containsPoint=function(a){var b=this;return(b.minX<=a.x&&b.maxX>=a.x&&b.minY<=a.y&&b.maxY>=a.y);};MarkerManager.prototype.getGridCellCreate_=function(a,f,e){var c=this.grid_[e];if(a<0){a+=this.gridWidth_[e];}var b=c[a];if(!b){b=c[a]=[];return(b[f]=[]);}var d=b[f];if(!d){return(b[f]=[]);
}return d;};MarkerManager.prototype.getGridCellNoCreate_=function(a,e,d){var c=this.grid_[d];if(a<0){a+=this.gridWidth_[d];}var b=c[a];return b?b[e]:undefined;};MarkerManager.prototype.getGridBounds_=function(a,i,h,f){i=Math.min(i,this.maxZoom_);var b=a.getSouthWest();var e=a.getNorthEast();var g=this.getTilePoint_(b,i,h);
var d=this.getTilePoint_(e,i,f);var j=this.gridWidth_[i];if(e.lng()<b.lng()||d.x<g.x){g.x-=j;}if(d.x-g.x+1>=j){g.x=0;d.x=j-1;}var c=new GBounds([g,d]);c.z=i;return c;};MarkerManager.prototype.getMapGridBounds_=function(){var a=this;return a.getGridBounds_(a.map_.getBounds(),a.mapZoom_,a.swPadding_,a.nePadding_);
};MarkerManager.prototype.onMapMoveEnd_=function(){var a=this;a.objectSetTimeout_(this,this.updateMarkers_,0);};MarkerManager.prototype.objectSetTimeout_=function(b,c,a){return window.setTimeout(function(){c.call(b);},a);};MarkerManager.prototype.visible=function(){return this.show_?true:false;};MarkerManager.prototype.isHidden=function(){return !this.show_;
};MarkerManager.prototype.show=function(){this.show_=true;this.refresh();};MarkerManager.prototype.hide=function(){this.show_=false;this.refresh();};MarkerManager.prototype.toggle=function(){this.show_=!this.show_;this.refresh();};MarkerManager.prototype.refresh=function(){var a=this;if(a.shownMarkers_>0){a.processAll_(a.shownBounds_,a.removeOverlay_);
}if(a.show_){a.processAll_(a.shownBounds_,a.addOverlay_);}a.notifyListeners_();};MarkerManager.prototype.updateMarkers_=function(){var a=this;a.mapZoom_=this.map_.getZoom();var b=a.getMapGridBounds_();if(b.equals(a.shownBounds_)&&b.z===a.shownBounds_.z){return;}if(b.z!==a.shownBounds_.z){a.processAll_(a.shownBounds_,a.removeOverlay_);
if(a.show_){a.processAll_(b,a.addOverlay_);}}else{a.rectangleDiff_(a.shownBounds_,b,a.removeCellMarkers_);if(a.show_){a.rectangleDiff_(b,a.shownBounds_,a.addCellMarkers_);}}a.shownBounds_=b;a.notifyListeners_();};MarkerManager.prototype.notifyListeners_=function(){GEvent.trigger(this,"changed",this.shownBounds_,this.shownMarkers_);
};MarkerManager.prototype.processAll_=function(b,d){for(var a=b.minX;a<=b.maxX;a++){for(var c=b.minY;c<=b.maxY;c++){this.processCellMarkers_(a,c,b.z,d);}}};MarkerManager.prototype.processCellMarkers_=function(b,f,d,e){var a=this.getGridCellNoCreate_(b,f,d);if(a){for(var c=a.length-1;c>=0;c--){e(a[c]);
}}};MarkerManager.prototype.removeCellMarkers_=function(a,c,b){this.processCellMarkers_(a,c,b,this.removeOverlay_);};MarkerManager.prototype.addCellMarkers_=function(a,c,b){this.processCellMarkers_(a,c,b,this.addOverlay_);};MarkerManager.prototype.rectangleDiff_=function(b,a,d){var c=this;c.rectangleDiffCoords_(b,a,function(e,f){d.apply(c,[e,f,b.z]);
});};MarkerManager.prototype.rectangleDiffCoords_=function(b,a,l){var f=b.minX;var m=b.minY;var h=b.maxX;var d=b.maxY;var e=a.minX;var k=a.minY;var g=a.maxX;var c=a.maxY;var j,i;for(j=f;j<=h;j++){for(i=m;i<=d&&i<k;i++){l(j,i);}for(i=Math.max(c+1,m);i<=d;i++){l(j,i);}}for(i=Math.max(m,k);i<=Math.min(d,c);
i++){for(j=Math.min(h+1,e)-1;j>=f;j--){l(j,i);}for(j=Math.max(f,g+1);j<=h;j++){l(j,i);}}};MarkerManager.prototype.removeFromArray_=function(e,c,d){var a=0;for(var b=0;b<e.length;++b){if(e[b]===c||(d&&e[b]===c)){e.splice(b--,1);a++;}}return a;};var map=null;var mgr=null;var allMarkers=[];var allItems=[];
function initialize(){if(document.getElementById("map")!=undefined){var IE6=false
/*@cc_on || @_jscript_version < 5.7 @*/
;if(GBrowserIsCompatible()){map=new GMap2(document.getElementById("map"));map.setCenter(new GLatLng(39.926588,-2.9),6);map.setUIToDefault();mgr=new MarkerManager(map);addAllMarkers();
disableMapScroll();}}}function addAllMarkers(){var q=[];var m=-200;var j=-200;var d=200;var r=200;var f=65;var k="inmueble";for(var o in allItems){var s=allItems[o];var n=new GLatLng(s.latitud,s.longitud);var e={letter:String.fromCharCode(f)};var v=generateMarkerId(s,k);var h=allMarkers[v];var b=false;
if(h==undefined){h=createMarker(s,n,k,e);allMarkers[h._id]=h;q[h._id]=h;}else{if(k=="inmueble"){if(!esItemRepetido(h._data,s)){creaMarkerMultiple(h,s,n,k,q);b=true;}}}if(s.latitud<d){d=s.latitud;}if(s.latitud>m){m=s.latitud;}if(s.longitud<r){r=s.longitud;}if(s.longitud>j){j=s.longitud;}if(b){var u="+";
}else{var u=String.fromCharCode(f);}showIconInTable(u,h._data);f++;}var t=[];for(var o in q){t.push(q[o]);}mgr.addMarkers(t,0);mgr.refresh();var c=(m+d)/2;if(c==0){c=39.926588;}var p=(j+r)/2;if(p==0){p=-2.9;}map.setCenter(new GLatLng(c,p),14);var l=new GLatLng(d,r);var g=new GLatLng(m,j);var a=map.getBoundsZoomLevel(new GLatLngBounds(l,g));
if(a==0){a=5;}map.setZoom(a);}function showIconInTable(f,c){for(var e in c){var a=c[e];var b=calculaColor(a);var d=$_(a.idIcono);var g=getImage(f,b,a.IPE=="S");d.src=g;}}function addItem(a){if(a.latitud!=null&&a.latitud!=0){allItems.push(a);}}function disableMapScroll(){map.disableScrollWheelZoom();}function enableMapScroll(){map.enableScrollWheelZoom();
}function test(){var a={latitud:41.399475,longitud:2.172546,descBreveTipoVia:"av.",descVia:"diagonal",codigoPostal:"08032"};addItem(a);}
