Element.addMethods({
flash: function(element, content) {
element = $(element);

new Effect.Appear(element, {
beforeStart: function() {
element.update(content);
$('loadedBar').hide();
},
afterFinish: function() {

Effect.Appear(element, {to: 0, delay: 3.5,
afterFinish: function(){
element.hide().setOpacity(1);
}})
}
})
return element;
}
})
/***********************************************************/
/***********************************************************/
/***********************************************************/
  Element.addMethods({
      onmouseenter: function(element,observer) {
          element = $(element);
          element.observe('mouseover',function(evt,currentTarget) {
           try {
              var relatedTarget = $(evt.relatedTarget || evt.fromElement);
              if( relatedTarget!=currentTarget &&
  relatedTarget.childOf(currentTarget)==false ) {
                  observer();
              }
          } catch (ex) {}
          }.bindAsEventListener({},element));
          return element;
      },
      onmouseleave: function(element,observer) {
          element = $(element);
          element.observe('mouseout',function(evt,currentTarget) {
          try {
              var relatedTarget = $(evt.relatedTarget || evt.toElement);
              if( relatedTarget!=currentTarget &&
  relatedTarget.childOf(currentTarget)==false ) {
                  observer();
              }
          } catch (ex) {}
          }.bindAsEventListener({},element));
          return element;
      }
  });
/***********************************************************/
/***********************************************************/
/***********************************************************/
    
function getPositionTop(This){
	var el = This;var pT = 0;
	while(el){pT+=el.offsetTop;el=el.offsetParent;}
	return pT
}

function viewText(ths){
  $('zoomText').hide();
  $(ths).setStyle({height:'auto',backgroundColor:'#FFFFCC'});
  $(ths).down(2).next('p').setStyle({fontSize:'13px',lineHeight:'18px',height:'auto'});
  $(ths).setAttribute("onclick","closeText(this)");
  $(ths).setAttribute("onmouseout","");
  $(ths).setAttribute("onmouseover","");
}
function closeText(ths){
  $(ths).setStyle({height:'132px',backgroundColor:'#FFFFFF',fontSize:'11px'});
  $(ths).down(2).next('p').setStyle({fontSize:'6px',lineHeight:'9px'});
  $(ths).setAttribute("onclick","viewText(this)");
  $(ths).setAttribute("onmouseout","$('zoomText').hide()");
  $(ths).setAttribute("onmouseover","$('zoomText').show()");
}

function schedSwit(s,suf){
    var suffix="#"+suf+" li";
    $$(suffix).each (function (a,i){
        Element.removeClassName(a, 'nh');
    });
    var id = s.readAttribute('id'); 
    
    $(id).addClassName('nh') ;
    
    var suffix="div."+suf;
    $$(suffix).each (function (a,i){
        a.hide();
//        if(i==s){a.show();new Effect.Highlight(a);}
    });

    var a = $('s' + id);
    a.show();
    //new Effect.Highlight(a);
}


function initTab(){
  /*$('wrapper-command').select("div.label-confirm ul li").each (function (a,i){
        Event.observe(a.down(),'click',function(){schedSwitConfirm(a);});
  });*/
}

function popUp(ths,id){
$('notizia_wrp').show();
$('content-outline').show();
//$('content-outline').puff();
      $('content-outline').setStyle({width:'50px',opacity:'1',height:'50px',margin:'180px 0 0 150px'});
$('content-outline').morph('width:340px; height:386px; opacity:0;margin-left:0px;margin-top:-30px');
$('content-notizia').setStyle({opacity:'0.5'});

 new Ajax.Updater('content-notizia','/schede/scheda/'+id, {asynchronous:true,
  evalScripts:true, 
  onComplete:function(request, json) {
      Element.hide('loader');
      
      $('content-outline').hide();
      $('content-outline').setStyle({width:'150px',opacity:'1',height:'350px',margin:'150px 0 0 100px'});
      $('notizia_label').appear({duration:0.3});
      $('content-notizia').setStyle({opacity:'1'});
    },
  onLoading:function(request) {
      Element.show('loader');
    },
  requestHeaders:['X-Update', 'content-notizia']
  });

}

 

var panelOsp = Class.create();
panelOsp.prototype = {
  s:false,
  a:false,
	initialize: function () {
    
    Element.onmouseenter($('menu-pc'),function(){

            if(this.s) clearTimeout(this.s);
            if(this.a) clearTimeout(this.a);
            this.a=setTimeout("$('pc-wrp').appear({duration:0.3})", 600);
      });
    Element.onmouseleave($('menu-pc'),function(){
    
            if(this.s) clearTimeout(this.s);
            if(this.a) clearTimeout(this.a);
            this.s = setTimeout("$('pc-wrp').hide();", 300);
      
      });
    }
};



function caricaFeed(options,param,page){
  if(!page)var page=1;
  var loaded=false;
  $('directory-wrp').select("img").each (function (a,i){
      Element.removeClassName(a, 'nh');
      if(a.identify()=="ch-"+options.wrp)loaded=true;
  });
  var url='/app/webroot/files/geofeed/?';
  var separa = "";
  for (var a in param) {  
    url+=(param[a]!='')?separa+a+"="+param[a]:'';
    separa = "&";
  }  
  url+='&page='+page;
  var headerSt='<div class="closeStr" onclick="$(this).up(1).hide()">Chiudi</div><h1>'+options.label+' <span id="total-'+options.wrp+'">Total</span></h1><div class="pagin" id="pagin-'+options.wrp+'"></div>';
  
  if(loaded==true){
      //schedSwitOsp('ch-'+options.wrp,'wrp-struct'); 
      $('pagin-'+options.wrp).up().innerHTML =headerSt;
             
  }else{
      new Insertion.Bottom($('wrp-wrapper'),'<div id="container-'+options.wrp+'" class="wrp-struct" style="display:none"><div style="overflow:auto">'+headerSt+'</div><div id="'+options.wrp+'" class="wrp-in_struct"></div></div>');
        
  }
      $('wrp-wrapper').select("div.wrp-struct").each (function (a,i){
          a.hide();
      });
      
      //var sigla=$(ths).down(1).next("span").innerHTML;
      new Insertion.Bottom('directory-wrp','<img style="display:none" id="ch-'+options.wrp+'" src="/img/marker_p_'+options.sigla+'.png"/>');//---</li>'
      Event.observe($('ch-'+options.wrp),'click',function(){schedSwitOsp('ch-'+options.wrp,'wrp-struct');});
      $('ch-'+options.wrp).addClassName('nh') ;
      $('loadedBar').show();
  
      // carico gli hotel nel raggio di 30 km
      new Ajax.Request( url, { 
        method: 'get',
        onSuccess: function( transport ) {
          var markers = transport.responseXML.getElementsByTagName( 'marker' );
          var count = transport.responseXML.getElementsByTagName( 'count' );
          var page= count[0].getAttribute("page");
          var total= count[0].getAttribute("total");
          var npp= count[0].getAttribute("npp");
          
          $(options.wrp).innerHTML = '';
          var templ='';
          
          for( var b = 0; b < markers.length; b++ ) {
         
            var lat = parseFloat(markers[b].getAttribute("lat"));
            var lng = parseFloat(markers[b].getAttribute("lng"));
            var id = markers[b].getAttribute("id");
            var cat = markers[b].getAttribute("cat");
      
            var html = markers[b].getAttribute("html");
            var label = markers[b].getAttribute("label");
            var loc = markers[b].getAttribute("loc");
            
      
            // aggiungo gli hotel al mio array per poi usarli in gmaps
            mapson.prototype.markershotel.push({"lat":lat,"lon":lng,"id":id,"html":html,"label":label,"loc":loc});
      
      //alert(options.wrp);
            //$('sch-b-99').innerHTML += html;
            var data = new Date();
            var giorno = data.getDay();
            var mese = data.getMonth();
            var date= data.getDate();
            var anno= data.getYear();
            
            var oggi=(date+'/'+(mese+1)+'/'+(anno-100));
            
            var data= new Date();
            data.setDate(data.getDate()+1);
            var giorno = data.getDay();
            var mese = data.getMonth();
            var date= data.getDate();
            var anno= data.getYear();
            
            var domani=(date+'/'+(mese+1)+'/'+(anno-100));
            
            var url=(param.level==0)?"http://primocontatto.ospitalitalia.it/motore_scheda.php?TPHPSESSID=&nr="+id:"http://www.otravel.it/cgi-twaypub_0/checkins.cgi?tpo=S&cdo=NEX_S"+id+"&dtd="+oggi+"&dta="+domani+"&nal_378PQ1WFLHVV=0";
            var img="";
            
            //<img style="float:right" src="/img/cat/'+cat+'.gif"/>
            templ +='<a href="javascript:location.href ='+"'"+url+"'"+'" target="_blank"><h4>'+loc+'<\/h4>'+ label + '<\/a>';// onmouseover="$(this).next().toggle();" onmouseout="$(this).next().hide();" 
                                          //'<div class="popHotel" style="display:none"><b>'+loc+'</b><br/><span style="background:url('+img+')"></span><p>'+html+'</p></div>';
      
          }
          
          
          $(options.wrp).innerHTML =templ;
          $("total-"+options.wrp).innerHTML =(options.wrp!="wrp-news")?"Trovate "+total+" strutture":"Ci scusiamo del disagio. Siamo in fase di realizzazione";
          
          if((total-0) > npp){
          
            var partida=((page-(npp/2))<1)?1:(page-(npp/2));
            for( var pagina = partida; pagina < ((total/npp)+1); pagina++ ) {
              var nh=(pagina==page)?' class="nh"':'';
              new Insertion.Bottom($("pagin-"+options.wrp),'<span'+nh+'><a id="pagina-'+options.wrp+pagina+'" href="javascript:;">'+pagina+"</a></span>");
              Event.observe($('pagina-'+options.wrp+pagina),'click',function(){caricaFeed(options,param,$(this).innerHTML);});
              
              //limita la visualizzazione delle pagine
              if(pagina>(partida+10))break;
            }
          }
          $(options.wrp).up().appear();
          
          $('ch-'+options.wrp).appear();
          $('loadedBar').hide();
        }
      });
  
  //}
}

  
  function schedSwitOsp(id,suf){


      $('directory-wrp').select("img").each (function (a,i){
          Element.removeClassName(a, 'nh');
      });
      $(id).addClassName('nh') ;
          
      $('wrp-wrapper').select("div."+suf).each (function (a,i){
          a.hide();
      });
      
      var a = $(id.replace("ch-",""));
      a.up().show();
      //new Effect.Highlight(a);
  }
