var  addthis_url   = '';
var  addthis_title = '';

function addthis(obj, str){
      var aturl  = 'http://www.addthis.com/bookmark.php';
      var addthis_pub = 'Ciudades.com';
      aturl += '?v=1';
      aturl += '&pub='+addthis_pub;
      aturl += '&url='+encodeURIComponent(addthis_url);
      aturl += '&title='+encodeURIComponent(addthis_title);
      window.open(aturl,'addthis','scrollbars=yes,menubar=no,width=620,height=520,resizable=yes,toolbar=no,location=no,status=no,screenX=200,screenY=100,left=200,top=100');
      return false;
}

function viewLangs(obj) {

      if ( typeof _langFloat == 'undefined' ) {
           var vars = { div_inner:      'langs-float',
                        resize:         false,
                        close:          false,
                        move:           false,
                        blur:           true,
                        width:          '145px',
                        height:         '175px',
                        bgcolor:        '#fff',
                        overflow:       'none',
                        font_family:    'Arial',
                        font_color:     '#000',
                        border:         '1px solid #E1E1E1',
                        padding:        '3px'
                      };

           _langFloat = new floatCall(vars);
           _langFloat.floatInit();
           _langFloat.floatSetText({ content: '<div id="langs-float-inner">'+document.getElementById('langs-float').innerHTML+'</div>'
                                  });
      }

      _langFloat.floatPositionObject(obj);
}

function setCookie(name,value,days) {
      if (days) {
              var date = new Date();
              date.setTime(date.getTime()+(days*24*60*60*1000));
              var expires = "; expires="+date.toGMTString();
      } else expires = "";
      if ( getCookie(name) ) deleteCookie(name);
      document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(name) {
      var nameEQ = name + "=";
      var ca = document.cookie.split(';');
      for(var i=0;i<ca.length;i++) {
              var c = ca[i];
              while (c.charAt(0)==' ') c = c.substring(1,c.length);
              if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
      }
      return null;
}

function deleteCookie(name) {
      setCookie(name,"",-1);
}


function setUV() {
      if ( getCookie('_zhuv') ) return;
      setCookie('_zhuv',true);
      var sc = document.createElement('script');
      sc.type='text/javascript';
      var url = _http+'/uv/'+( _lpage ? '?lpage='+_lpage : '');

      sc.src = url;
      document.getElementsByTagName('head')[0].appendChild(sc);
}

setUV();

function ampliarFoto(chr_imagen) {
      url = _http+'/server/foto.php?chr_imagen='+chr_imagen;
      abrirPopup(url,"ampliarFoto","350","200" );
}

function guardarDatosForm(f) {

      return;
      var name = f.name;
      var e = f.getElementsByTagName('*');
      for (var i=0,l=e.length;i<l;i++) {
           var obj = e[i];
           if (obj.name) {
               switch(obj.tagName) {
                     case 'SELECT':
                   case 'TEXTAREA':
                      case 'INPUT': if ( obj.type != 'hidden' ) {
                                         setCookie(name+"["+obj.name+"]",obj.value,1);
                                    }
                                    break;
               }
           }
      }
}

function abrirPopup(url,nombre,Largo,Alto,leftPos,topPos,ampliar,scroll,menubar) {

     Alto = Math.abs(Alto)+20;
     Largo = Math.abs(Largo)+20;

     if ( !leftPos && !topPos ) {

          var w = screen.width;
          var h = screen.height;
          var popW = Largo, popH = Alto;
          var leftPos = (w-popW)/2, topPos = (h-popH)/2;
     }

     window.open(url,nombre,"resizable="+(ampliar ? "yes" : "no")+",status=no,menubar="+(menubar ? "yes" : "no")+",scrollbars="+(scroll ? "yes" : "no")+",width="+Largo+",height="+Alto+",left="+leftPos+",top="+topPos+",center=1");
}

function addEvent (elm, evType, fn, useCapture) {

      if (typeof elm.addEventListener != 'undefined' ) {
          elm.addEventListener(evType, fn, useCapture);
          return true;
      } else if (elm.attachEvent) {
          var r = elm.attachEvent('on' + evType, fn);
          return r;
      } else {
          elm['on' + evType] = fn;
      }
};


function inner(id,str) {
     if ( str == 'undefined' || typeof(str) == 'undefined' ) return;
     var obj = document.getElementById(id);
     if ( obj == null ) return;

     obj.innerHTML = str;
}

function loadJS(filename) {
      var head = document.getElementsByTagName("head")[0];
      var js = document.createElement('script');
      js.type='text/javascript';
      js.src=filename;
      head.appendChild(js);
}

function verificarEmail(emailStr) {

      var emailPat=/^(.+)@(.+)$/
      var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
      var validChars="\[^\\s" + specialChars + "\]"
      var quotedUser="(\"[^\"]*\")"
      var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
      var atom=validChars + '+'
      var word="(" + atom + "|" + quotedUser + ")"
      var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
      var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
      var matchArray=emailStr.match(emailPat)
      if (matchArray==null) return false;
      var user=matchArray[1]
      var domain=matchArray[2]
      if (user.match(userPat)==null) return false;
      var IPArray=domain.match(ipDomainPat)
      if (IPArray!=null) {
          for (var i=1;i<=4;i++) {
               if (IPArray[i]>255) return false;
          }
      }

      var domainArray=domain.match(domainPat)
      if (domainArray==null) return false;

      var atomPat=new RegExp(atom,"g")
      var domArr=domain.match(atomPat)
      var len=domArr.length
      if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {return false;}
      if (len<2) {return false;}

      return emailStr;
}
function Campos(params) {

      var campoObj;

      var _langWeekDays = new Array ();
      _langWeekDays[1]  = new Array ("Do","Lu","Ma","Mi","Ju","Vi","Sa");
      _langWeekDays[2]  = new Array ("Su","Mo","Tu","We","Th","Fr","Sa");
      _langWeekDays[3]  = new Array ("Do","Se","Te","Qu","Qu","Se","Sa");

      var _langMonths = new Array ();
      _langMonths[1]  = new Array ("","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
      _langMonths[2]  = new Array ("","January","February","March","April","May","June","July","August","September","October","November","December");
      _langMonths[3]  = new Array ("","Janeiro","Fevereiro","Março","Abril","Pode","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro");

      this.crear = function() {
                              campoObj = this;

                              this._doc  = params['doc'] ? params['doc'] : document;
                              this._body = this._doc.getElementsByTagName('body')[0];

                              this.getCookieValue();

                              switch(params['type']) {

                                  case 'text':       var str = this.campoText();break;
                                  case 'innertext':  var str = this.campoInnerText();break;
                                  case 'select':     var str = this.campoSelect();break;
                                  case 'calendar':   var str = this.campoCalendar();break;
                              }

                              if ( params['inner'] ) {
                                   if ( typeof params['inner'] == 'object' ) var obj = params['inner'];
                                                                        else var obj = this._doc.getElementById(params['inner']);

                                   obj.innerHTML = str;
                              } else this._doc.write(str);

                              if ( params['type'] == 'select' ) {
                                   this.campoSelectOptions();
                                   this.campoSelectOptionsSeleccionar();

                              } else if ( params['type'] == 'calendar' ) {
                                   this.calendarHiddens();
                                   this.calendarText(params['id']);
                                   this.calendarAddEvents();
                              }

                              this.addEvents();
      }


      this.getCookieValue = function () {
                              if ( !params['cookie'] || params['value'] ) return;
                              var value = getCookie(params['cookie']+"["+params['name']+"]");
                              if (value != null ) params['value'] = value;

      }

      this.addEvents = function() {
                              switch(params['type']) {
                                  case 'calendar': var id = params['id']+'_sel';break;
                                          default: var id = params['id'];break;

                              }

                              var obj = document.getElementById(id);
                              this._campo = obj;
                              if ( ( events = params['events']) ) {
                                   for ( key in events ) {
                                         this.addEvent (obj,events[key]['type'],events[key]['func']);
                                   }
                              }
      }

      //*******************************************************************
      //**************        TEXT          *******************************
      //*******************************************************************

      this.campoText = function() {

                              var str = '<table class="campo-text" border="0" cellspacing="0" cellpadding="0" style="'+( params['float'] ? 'float:'+params['float']+';' : '' )+'width:'+params['width']+'">'+
                                           '<tr>'+
                                             '<td class="campo-text-img-left"></td>'+
                                             '<td class="campo-text-middle">'+
                                               '<input style="width:100%;" type="text" '+( params['autocomplete'] ? 'autocomplete="'+params['autocomplete']+'"' : '' )+' id="'+params['id']+'" name="'+params['name']+'" value="'+params['value']+'">'+
                                             '</td>'+
                                             '<td class="campo-text-img-right"></td>'+
                                           '</tr>'+
                                        '</table>';

                              return str;
      }

      //*******************************************************************
      //**************        INNER TEXT          *******************************
      //*******************************************************************

      this.campoInnerText = function() {
                              var str = '<table class="campo-text" border="0" cellspacing="0" cellpadding="0" style="width:'+params['width']+'">'+
                                           '<tr>'+
                                             '<td class="campo-text-img-left"></td>'+
                                             '<td class="campo-text-middle" id="'+params['id']+'">'+
                                               ( params['value'] ? params['value'] : '&nbsp;' )+
                                             '</td>'+
                                             '<td class="campo-text-img-right"></td>'+
                                           '</tr>'+
                                        '</table>'+
                                        '<input type="hidden"  name="'+params['name']+'" value="'+params['value']+'">';

                              return str;
      }

      //*******************************************************************
      //**************        SELECT        *******************************
      //*******************************************************************


      this.campoSelect = function() {

                              var str = '<div class="campo-select" id="'+params['id']+'_sel" style="'+( params['float'] ? 'float:'+params['float']+';' : '' )+'width:'+params['width']+'">'+
                                           '<table width="100%" border="0" cellspacing="0" cellpadding="0" >'+
                                            '<tr>'+
                                              '<td class="campo-select-img-left"></td>'+
                                              '<td class="campo-select-middle" nowrap>'+
                                               '<div class="campo-select-middle-inner" nowrap id="'+params['id']+'_val"></div>'+
                                              '</td>'+
                                              '<td class="campo-select-img-right"></td>'+
                                            '</tr>'+
                                          '</table>'+
                                          '<div class="campo-select-options" id="'+params['id']+'_sec"></div>'+
                                        '</div>';


                              return str;
      }

      this.campoSelectOptions = function() {

                              var sel = document.getElementById(params['id']+'_sel');
                              sel.onmouseup = function() {
                                                      campoObj.campoSelectOptionsMostrar();
                                                }

                              var sec = document.getElementById(params['id']+'_sec');

                              eleSelect = document.createElement("SELECT");
                              eleSelect.setAttribute("size", params['size'] ? params['size'] : 8 );
                              eleSelect.setAttribute("name", params['name']);
                              eleSelect.setAttribute("id", params['id']);

                              if ( params['onchange'] ) {
                                   eleSelect.onchange = function() {eval(params['onchange']);}
                              }

                              eleSelect.className = 'campo-select-options';
                              eleSelect.style.width = params['width'];

                              eleSelect.onclick = function () {
                                                        campoObj.campoSelectOptionsSeleccionar();
                                                  }

                              eleSelect.onblur  = function () {
                                                        campoObj.campoSelectOptionsSeleccionar();
                                                  }

                              eleSelect.onkeyup = function(e) {
                                                        if (typeof event !== 'undefined') {ev=event;} else {ev=e;}
                                                        if ( ev.keyCode == 13 ) {
                                                             campoObj.campoSelectOptionsSeleccionar();
                                                        }
                                                    }

                              sec.appendChild(eleSelect);
                              var options = params['options'];
                              var oOptGroup = "";
                              for ( key in options ) {

                                    if ( options[key]['group'] ) {

                                         oOptGroup = document.createElement("OPTGROUP");
                                         oOptGroup.label = options[key]['text'];
                                         eleSelect.appendChild(oOptGroup);

                                    } else {

                                         var oOption = document.createElement("OPTION");
                                         oOption.value = options[key]['value'];
                                         eleSelect.options.add(oOption);
                                         oOption.innerHTML = options[key]['text'];

                                         if ( oOptGroup ) oOptGroup.appendChild(oOption);
                                         if ( options[key]['value'] == params['value'] || options[key]['selected'] ) {
                                              oOption.selected = true;
                                         }
                                    }
                              }

      }

      this.campoSelectOptionsMostrar = function() {

                              var ops = document.getElementById(params['id']);
                              ops.style.visibility = 'visible';
                              ops.focus();
      }

      this.campoSelectOptionsSeleccionar = function() {
                              var ops = document.getElementById(params['id']);
                              var val = document.getElementById(params['id']+'_val');
                              if (ops.selectedIndex == -1 ) return;
                              var valor = ops.options[ops.selectedIndex].text;
                              val.innerHTML = valor ? valor : '&nbsp;';
                              ops.style.visibility = 'hidden';
      }

      //*******************************************************************
      //**************        CALENDAR      *******************************
      //*******************************************************************

      this.campoCalendar = function() {

                              var str = '<table '+( params['disabled'] ? 'disabled' : '' )+' class="campo-calendar" id="'+params['id']+'_sel" border="0" cellspacing="0" cellpadding="0" style="'+( params['float'] ? "float:"+params['float']+";" : "" )+'width:'+params['width']+'">'+
                                           '<tr>'+
                                             '<td class="campo-calendar-img-left"></td>'+
                                             '<td class="campo-calendar-middle">'+
                                               '<div class="campo-calendar-middle-inner" id="'+params['id']+'_val" >Seleccionar</div>'+
                                             '</td>'+
                                             '<td class="campo-calendar-img-right"></td>'+
                                           '</tr>'+
                                        '</table>';


                              return str;

      }

      this.calendarHiddens = function() {

                              if ( !params['hiddens'][0] ) return;

                              var sel = document.getElementById(params['id']+'_sel');
                              var hiddens = params['hiddens'][0];
                              for ( key in hiddens ) {

                                    if ( params['cookie'] && !hiddens[key]['value'] ) {
                                         var value = getCookie(params['cookie']+"["+hiddens[key]['name']+"]");
                                         if (value != null ) hiddens[key]['value'] = value;
                                    }

                                    var hidden = document.createElement("INPUT");
                                    hidden.type  = 'hidden';
                                    hidden.name  = hiddens[key]['name'];
                                    hidden.value = hiddens[key]['value'];
                                    hidden.setAttribute("id", params['id']+'_'+key );
                                    sel.appendChild(hidden);
                              }
      }



      this.calendarAddEvents = function() {

                              var sel = document.getElementById(params['id']+'_sel');
                              sel.onclick = function() {
                                                  campoObj.calendarInit();
                                            }
      }



      this.calendarInit = function() {
                              this.calendarSetVars();
                              this.calendarSetDateVals();
                              this.calendarFloat();
                              this.calendarDraw();
      }


      this.calendarSetVars = function() {
                              this._calendarObjSel = document.getElementById(params['id']+'_sel');
      }


      this.calendarSetDateVals = function () {

                              var today = new Date();

                              var obj_dia = document.getElementById(params['id']+'_dia');
                              var obj_mes = document.getElementById(params['id']+'_mes');
                              var obj_ano = document.getElementById(params['id']+'_ano');

                              this._calendarDay   = obj_dia.value > 0 ? obj_dia.value : null;
                              this._calendarMonth = obj_mes.value > 0 ? obj_mes.value : today.getMonth()+1;
                              this._calendarYear  = obj_ano.value > 0 ? obj_ano.value : today.getFullYear();

                              this._calendarDatPoint = (new Date(this._calendarYear,this._calendarMonth-1,this._calendarDay)/1000);
      }

      this.calendarFloat = function() {

                              if ( this.fl_calendar ) {
                                   return;
                              }

                              var vars = { resize:         false,
                                           close:          false,
                                           move:           false,
                                           blur:           true,
                                           id:             params['id']+'_cal',
                                           classname:      'calendar',
                                           width:          '203px',
                                           height:         '188px',
                                           overflow:       'hidden',
                                           bgcolor:        '#FFFFFF',
                                           transparency:   false,
                                           font_family:    'Arial',
                                           font_color:     '#966F47',
                                           header_bgcolor: '#FFF',
                                           border:         '1px solid #869DB7',
                                           padding:        '3px'
                                         };

                              this.fl_calendar = new floatCall(vars);
                              this.fl_calendar.floatInit();
      }


      this.calendarDraw = function() {


                              var str = '<table width="100%" height="180" cellspacing="0" cellpadding="0">'+
                                           '<tr>'+
                                             '<td height="25">'+
                                               '<table width="100%" height="100%" cellspacing="0" cellpadding="0">'+
                                                 '<tr>'+
                                                   '<td width=10>'+
                                                     '<div class="arrow_left" id="'+params['id']+'_prev"></div>'+
                                                   '</td>'+
                                                   '<td valign="top" nowrap align="center" id="'+params['id']+'_cbos"></td>'+
                                                   '<td width=10>'+
                                                     '<div class="arrow_right" id="'+params['id']+'_next"></div>'+
                                                   '</td>'+
                                                 '</tr>'+
                                               '</table>'+
                                             '</td>'+
                                           '</tr>'+
                                           '<tr>'+
                                             '<td align="center" id="'+params['id']+'_days" height="157" valign="top">'+
                                                this.calendarDrawPanelDays()+
                                             '</td>'+
                                           '</tr>'+
                                        '</table>';

                              this.fl_calendar.floatSetText({content:str});
                              this.fl_calendar.floatPositionObject(this._calendarObjSel);

                              this.calendarDrawCbos();
                              this.calendarSetEvents();
         }

         this.calendarDrawCbos = function() {

                              this.calendarDrawCboYears(this._calendarYear);
                              this.calendarDrawCboMonths(this._calendarMonth);
         }


         this.calendarDrawCboYears = function (val) {

                              var sec = document.getElementById(params['id']+'_cbos');

                              var eleSelect = document.createElement("SELECT");
                              eleSelect.className = 'calCboYears';
                              eleSelect.setAttribute("id", params['id']+'_ano');
                              sec.appendChild(eleSelect);

                              var year = (new Date).getFullYear();
                              for(i=2008;i<=year+2;i++) {
                                  var eleOption = document.createElement("OPTION");
                                  eleOption.selected = i == val ? true : false;
                                  eleSelect.appendChild(eleOption);
                                  eleOption.value = i;
                                  eleOption.text = i;
                              }

                              eleSelect.onchange = function() {
                                                         campoObj.calendarReloadYear(this);
                                                   }
         }

         this.calendarDrawCboMonths = function (val) {

                              var sec = document.getElementById(params['id']+'_cbos');

                              var eleSelect = document.createElement("SELECT");
                              eleSelect.className = 'calCboMonths';
                              eleSelect.setAttribute("id", params['id']+'_mes');
                              sec.appendChild(eleSelect);

                              var year = (new Date).getFullYear();
                              for(i=1;i<=12;i++) {
                                  var eleOption = document.createElement("OPTION");
                                  eleOption.selected = i == val ? true : false;
                                  eleSelect.appendChild(eleOption);
                                  eleOption.value = i;
                                  eleOption.text = _langMonths[1][i];
                              }

                              eleSelect.onchange = function() {
                                                         campoObj.calendarReloadMonth(this);
                                                   }
         }

         this.calendarDrawPanelDays = function (reload) {

                              var str = '<table width="100%" height="100%" cellspacing="0" cellpadding="3">'+
                                          '<tr height="10">'+this.calendarDrawWeekDays()+'</tr>'+
                                          '<tr class="dp">'+this.calendarDrawDays(this._calendarYear,this._calendarMonth)+'</tr>'+
                                        '</table>';

                              if ( !reload ) return str;
                              document.getElementById(params['id']+'_days').innerHTML = str;
         }

         this.calendarSetEvents = function () {

                              var obj = document.getElementById(params['id']+'_days');
                              obj.onclick = function(e) {
                                                  if (typeof event !== 'undefined') {ev=event;} else {ev=e;}
                                                  campoObj.calendarSetDay(ev);
                                            }

                              var obj = document.getElementById(params['id']+'_prev');
                              obj.onclick = function() {
                                                  campoObj.calendarChange(1);
                                            }

                              var obj = document.getElementById(params['id']+'_next');
                              obj.onclick = function() {
                                                  campoObj.calendarChange(2);
                                            }


         }

         this.addEvent = function (elm, evType, fn, useCapture) {

                              if (typeof elm.addEventListener != 'undefined' ) {
                                  elm.addEventListener(evType, fn, useCapture);
                                  return true;
                              } else if (elm.attachEvent) {
                                  var r = elm.attachEvent('on' + evType, fn);
                                  return r;
                              } else {
                                  elm['on' + evType] = fn;
                              }
         };

         this.calendarChange = function (d) {


                              if ( d == 1 ) this._calendarMonth = parseFloat(this._calendarMonth)-1;
                                       else this._calendarMonth = parseFloat(this._calendarMonth)+1;


                              if ( this._calendarMonth < 1 ) {
                                   this._calendarMonth = 12 ;
                                   this._calendarYear  = parseFloat(this._calendarYear)-1;

                              } else if ( this._calendarMonth > 12  ) {
                                   this._calendarMonth = 1 ;
                                   this._calendarYear  = parseFloat(this._calendarYear)+1;
                              }

                              this.calendarDraw();
         }



         this.calendarReloadYear = function (obj) {
                             this._calendarYear = obj.value;
                             this.calendarDraw();
         }

         this.calendarReloadMonth = function (obj) {
                             this._calendarMonth = obj.value;
                             this.calendarDraw();
         }

         this.calendarDrawWeekDays = function () {

                             var str = '<td class="wd" width=14.2%>Do</td>'+
                                       '<td class="wd" width=14.2%>Lu</td>'+
                                       '<td class="wd" width=14.2%>Ma</td>'+
                                       '<td class="wd" width=14.2%>Mi</td>'+
                                       '<td class="wd" width=14.2%>Ju</td>'+
                                       '<td class="wd" width=14.2%>Vi</td>'+
                                       '<td class="wd nb" width=14.2%>Sa</td>';

                             return str;
         }

         this.calendarDrawDays = function (year,month) {

                             var str = "";
                             var c = 0;

                             var totalDays = this.calendarGetNumDaysMonthTime(year,month,1);
                             var dayBeginWeek = new Date(year,month-1,1).getDay()
                             var toDay = Math.ceil((totalDays+dayBeginWeek)/7)*7;

                             var from = this.calendarGetDateFrom();
                             for ( var i=1;i<=toDay;i++) {

                                       day = i-dayBeginWeek;
                                       c++;
                                       if (c==8) {str += '</tr><tr>';c=1;}

                                       if (day >= 1 && i <= (totalDays+dayBeginWeek) ) {
                                           date = (new Date(year,month-1,day)/1000);
                                           var clase = date == this._calendarDatPoint ? "m" : "";

                                           if ( date < from ) {
                                                str += '<td class="'+(clase?clase:'dp')+(c==7?' nb':'')+'" id="'+date+'">'+day+'</td>';

                                           } else {
                                                str += '<td class="'+(clase?clase:'n')+(c==7?' nb':'')+'"  id="'+date+'">'+day+'</td>';
                                           }

                                       } else {
                                           str += '<td class="v'+( c==7?' nb':'')+'">&nbsp;</td>';

                                       }
                             }

                             return str;
         }




         this.calendarSetDay = function(mEvent) {

                            if (mEvent.srcElement) var obj = mEvent.srcElement;
                            else if (mEvent.target) var obj = mEvent.target;

                            if (!obj.id) return;

                            var selDate = parseFloat(obj.id);

                            if ( selDate < this.calendarGetDateFrom() ) return;

                            var dat = new Date(selDate*1000);

                            document.getElementById(params['id']+'_dia').value = dat.getDate();
                            document.getElementById(params['id']+'_mes').value = dat.getMonth()+1;
                            document.getElementById(params['id']+'_ano').value = dat.getFullYear();

                            this._calendarDatPoint = selDate;

                            this.calendarDrawPanelDays(true);
                            this.calendarText(params['id']);

                            if ( params['to'] ) {

                                 var dia = document.getElementById(params['to']+'_dia').value;
                                 var mes = document.getElementById(params['to']+'_mes').value-1;
                                 var ano = document.getElementById(params['to']+'_ano').value;
                                 var to = new Date(ano,mes,dia)/1000;
                                 if ( to <= selDate || document.getElementById(params['to']+'_dia').value == 'undefined' ) {
                                      todat = new Date((selDate+86400)*1000);
                                      document.getElementById(params['to']+'_dia').value = todat.getDate();
                                      document.getElementById(params['to']+'_mes').value = todat.getMonth()+1;
                                      document.getElementById(params['to']+'_ano').value = todat.getFullYear();
                                 }
                                 this.calendarText(params['to']);
                            }

                            window.setTimeout(function() {campoObj.fl_calendar.floatClose();},150);

         }

         this.calendarText = function(cual) {

                            if ( !document.getElementById(cual+'_dia') || !document.getElementById(cual+'_dia') || !document.getElementById(cual+'_dia') ) return;

                            var obj = document.getElementById(cual+'_val');

                            var dia = document.getElementById(cual+'_dia').value;
                            var mes = document.getElementById(cual+'_mes').value-1;
                            var ano = document.getElementById(cual+'_ano').value;

                            if ( dia < 1 || mes < 0 || ano < 1 ) return;

                            var d = new Date(ano,mes,dia);
                            var str = (_langMonths[1][d.getMonth()+1])+' '+(d.getDate())+', '+(d.getFullYear());
                            obj.innerHTML = str;
         }


         this.calendarGetDateFrom = function() {

                             if ( params['from'] ) {
                                  var dia = document.getElementById(params['from']+'_dia').value;
                                  var mes = document.getElementById(params['from']+'_mes').value-1;
                                  var ano = document.getElementById(params['from']+'_ano').value;
                                  return (new Date(ano,mes,dia)/1000)+86400;

                             } else {
                                  var d = new Date();
                                  var dia = d.getDate();
                                  var mes = d.getMonth();
                                  var ano = d.getFullYear();
                                  return new Date(ano,mes,dia)/1000;
                             }
         }


         this.calendarGetNumDaysMonthTime = function (ano,mes,dia) {
                           var timeA = new Date(ano,mes,dia);
                           timeDifference = timeA - 86400000
                           timeB = new Date(timeDifference);
                           return timeB.getDate();
         }
}function floatCall(params) {

         var _floatObj;

         this.floatInit = function (vars) {

                               this.floatSetVars();
                               this.floatSetDefaultParams();
                               this.floatSetCustomParams(vars);
                               this.floatCreateFloat();
         }

         this.floatSetVars = function () {

                               _floatObj = this;

                               this._floatDoc = document;
                               this._floatBody = this._floatDoc.getElementsByTagName("body")[0];

                               this.floatAddEvent(this._floatBody,'mouseup', function() {_floatObj.floatMouseUp();});
                               this.floatAddEvent(this._floatBody,'mousemove', function(e) {
                                                                                   if (typeof event !== 'undefined') {ev=event;el=event.srcElement;} else {ev=e;el=e.target;}
                                                                                   _floatObj.floatMouseMove(ev);
                                                                               }
                                                );

                               this._floatDocWidth  = this.floatGetWindowWidth();
                               this._floatDocHeight = this.floatGetWindowHeight();

         }

         this.floatSetDefaultParams = function() {

                               if ( typeof params['resize'] == 'undefined' )         this.floatSetParam('resize',          false );
                               if ( typeof params['close'] == 'undefined' )          this.floatSetParam('close',           false );
                               if ( typeof params['shadow'] == 'undefined' )         this.floatSetParam('shadow',          {size:'5px',color:'#000',alpha:20} );
                               if ( typeof params['width'] == 'undefined' )          this.floatSetParam('width',           '300px' );
                               if ( typeof params['left'] == 'undefined' )           this.floatSetParam('left',            '550px' );
                               if ( typeof params['top'] == 'undefined' )            this.floatSetParam('top',             '210px' );
                               if ( typeof params['bgcolor'] == 'undefined' )        this.floatSetParam('bgcolor',         'CCCCCC' );
                               if ( typeof params['border'] == 'undefined' )         this.floatSetParam('border',          '3px solid #1C2C45' );
                               if ( typeof params['padding'] == 'undefined' )        this.floatSetParam('padding',         '10px' );
                               if ( typeof params['overflow'] == 'undefined' )       this.floatSetParam('overflow',        'auto' );
                               if ( typeof params['header_bgcolor'] == 'undefined' ) this.floatSetParam('header_bgcolor',  '#142238' );
         }

         this.floatSetCustomParams = function(vars) {
                               for( var param in vars) {
                                    this.floatSetParam(param,vars[param]);
                               }
         }

         this.floatSetParam = function (name,value) {
                               params[name] = value;
         }

         this.floatCreateFloat = function() {

                               if ( this._floatDiv ) return;

                               this.floatCreateDiv();
                               this.floatCreateIframe();
                               this.floatCreateInnerShadow();
                               this.floatCreateInner();
                               this.floatCreateInnerDiv();
         }


         this.floatCreateDiv = function() {

                               this._floatDiv = this._floatDoc.createElement("DIV");
                               this._floatBody.appendChild(this._floatDiv);
         }

         this.floatCreateIframe = function() {

                               this._floatInnerIframe = this._floatDoc.createElement("IFRAME");
                               this._floatInnerIframe.setAttribute("src", "");
                               this._floatInnerIframe.setAttribute("frameBorder", "0");
                               this._floatInnerIframe.setAttribute("scrolling", "no");
                               this._floatDiv.appendChild(this._floatInnerIframe);
         }

         this.floatCreateInnerShadow = function () {
                               if ( !params['shadow'] ) return;
                               this._floatInnerShadow = this._floatDoc.createElement("DIV");
                               this._floatDiv.appendChild(this._floatInnerShadow);
         };

         this.floatCreateInner = function () {
                               this._floatInner = this._floatDoc.createElement("DIV");
                               this._floatDiv.appendChild(this._floatInner);
         }

         this.floatCreateInnerDiv = function () {
                               this._floatInnerDiv = this._floatDoc.createElement("DIV");
                               this._floatInnerDiv.setAttribute("id",params['id']);
                               this._floatInnerDiv.className = params['classname'];
                               this._floatInner.appendChild(this._floatInnerDiv);
         }

         this.floatCreateInnerHeader = function () {
                               if ( !params['resize'] && !params['close'] ) {
                                    try { this._floatInner.removeChild(_floatInnerHeader);} catch(err) {};
                                    return;
                               }
                               this._floatInnerHeader = this._floatDoc.createElement("DIV");
                               if ( params['move'] ) this._floatInnerHeader.onmousedown = function() {_floatObj.floatMove();}
                               this._floatInner.appendChild(this._floatInnerHeader);
         }

         this.floatCreateInnerHeaderResize = function () {
                               if ( !params['resize'] )  {
                                    try { this._floatInnerHeader.removeChild(this._floatInnerHeaderResize);} catch(err) {};
                                    return;
                               }
                               this._floatInnerHeaderResize = this._floatDoc.createElement("DIV");
                               this._floatInnerHeaderResize.onmousedown = function() {_floatObj.floatResize();}
                               this._floatInnerHeader.appendChild(this._floatInnerHeaderResize);
         }

         this.floatCreateInnerHeaderClose = function () {
                               if ( !params['close'] )  {
                                    try { this._floatInnerHeader.removeChild(this._floatInnerHeaderClose);} catch(err) {};
                                    return;
                               }
                               this._floatInnerHeaderClose = this._floatDoc.createElement("DIV");
                               this._floatInnerHeaderClose.onclick = function() {_floatObj.floatClose();}
                               this._floatInnerHeader.appendChild(this._floatInnerHeaderClose);
         }

         this.floatGetInnerSize = function () {
                               return {width:  this._floatInner.offsetWidth,
                                       height: this._floatInner.offsetHeight
                                      }
         }

         this.floatSetText = function (vars) {


                               this.floatSetCustomParams(vars);
                               this.floatCreateInnerHeader();
                               this.floatCreateInnerHeaderResize();
                               this.floatCreateInnerHeaderClose();
                               this.floatSetCss();

                               var str = '<div style="padding:'+params['padding']+'">'+
                                           params['content']+
                                         '</div>';

                               this._floatInnerDiv.innerHTML = str;
                               this._floatDiv.style.width  = this._floatInner.offsetWidth;
                               this._floatDiv.style.height = this._floatInner.offsetHeight;

         }

         this.floatSetCss = function () {

                               this.floatSetCssObj ( 'this._floatDiv' , 'position:absolute;'+
                                                                        'z-index:999999;'+
                                                                        'left:'+params['left']+';'+
                                                                        'top:'+params['top']+';'+
                                                                        'width:'+params['width']+';'+
                                                                        ( params['height'] ? 'height:'+params['height']+';' : '' )
                                                  );

                               this.floatSetCssObj ( 'this._floatInnerIframe' , 'position:absolute;'+
                                                                                'left:0px;'+
                                                                                'top:0px;'+
                                                                                'width:100%;'+
                                                                                'height:100%;'+
                                                                                'filter:alpha(Opacity=0);'+
                                                                                ( params['close'] || params['resize'] ? 'padding-top:13px;' : '' )+
                                                                                ( params['shadow'] ? 'padding-right:'+params['shadow']['size']+';'+
                                                                                                     'padding-bottom:'+params['shadow']['size']+';'
                                                                                                   : ''
                                                                                )
                                                  );


                               if ( params['shadow'] ) {

                                    this.floatSetCssObj ( 'this._floatInnerShadow' , 'position:absolute;'+
                                                                                     'left:0px;'+
                                                                                     'top:0px;'+
                                                                                     'width:100%;'+
                                                                                     'height:100%;'+
                                                                                     'margin-left:'+params['shadow']['size']+';'+
                                                                                     'margin-top:'+params['shadow']['size']+';'+
                                                                                     'filter:alpha(Opacity='+params['shadow']['alpha']+');'+
                                                                                     'opacity: 0.'+params['shadow']['alpha']+';'+
                                                                                     '-moz-opacity:0.'+params['shadow']['alpha']+';'+
                                                                                     'background-color:'+params['shadow']['color']+';'
                                                       );
                               }

                               this.floatSetCssObj ( 'this._floatInner' , 'position:absolute;'+
                                                                          'left:0px;'+
                                                                          'top:0px;'+
                                                                          'width:100%;'+
                                                                          'height:100%;'+
                                                                          'border:'+params['border']+';'+
                                                                          ( params['close'] || params['resize'] ? 'padding-top:13px;' : '' )
                                                  );


                               this.floatSetCssObj ( 'this._floatInnerDiv' , 'width:100%;'+
                                                                             'height:100%;'+
                                                                             'background-color:'+params['bgcolor']+';'+
                                                                             'overflow:'+params['overflow']+';'+
                                                                             'color:'+params['font_color']+';'+
                                                                             'font-size:'+params['font_size']+';'+
                                                                             'font-weight:'+params['font_weight']+';'+
                                                                             ( params['transparency'] > 0 ? 'filter:alpha(Opacity='+params['transparency']+');'+
                                                                                                            'opacity: 0.'+params['transparency']+';'+
                                                                                                            '-moz-opacity:0.'+params['transparency']+';'
                                                                                                          : ''
                                                                             )
                                                  );

                               this.floatSetCssObj ( 'this._floatInnerHeader' , 'position:absolute;'+
                                                                                'left:0px;'+
                                                                                'top:0px;'+
                                                                                'padding:2px 2px 0 2px;'+
                                                                                'margin:0px;'+
                                                                                'height:13px;'+
                                                                                'line-height:10px;'+
                                                                                ( params['move'] ? 'cursor:move;' : '' )+
                                                                                'background-color:'+params['header_bgcolor']+';'
                                                  );

                               this.floatSetCssObj ( 'this._floatInnerHeaderClose' , 'float:right;'+
                                                                                     'cursor:pointer;'+
                                                                                     'background:url(../webart/close.gif) no-repeat;'+
                                                                                     'width:11px;'+
                                                                                     'height:10px;'+
                                                                                     'margin-bottom:-4px'
                                                  );

                               this.floatSetCssObj ( 'this._floatInnerHeaderResize' , 'float:left;'+
                                                                                      'cursor:nw-resize;'+
                                                                                      'width:13px;'+
                                                                                      'height:13px;'+
                                                                                      'background:url(../webart/resize.gif) no-repeat;'+
                                                                                      'margin-bottom:-4px'
                                                  );


         }

         this.floatSetCssObj = function (objName,css) {
                              try { var obj = eval(objName);
                                    obj.style.cssText = css;
                              } catch(err) {};
         }


         this.floatMouseMove = function (mEvent) {

                              this._floatMouseX  = mEvent.clientX+( this._floatDoc.documentElement.scrollLeft ? this._floatDoc.documentElement.scrollLeft : this._floatDoc.body.scrollLeft );
                              this._floatMouseY  = mEvent.clientY+( this._floatDoc.documentElement.scrollTop ? this._floatDoc.documentElement.scrollTop : this._floatDoc.body.scrollTop );

                              this._floatDivWidth  = this._floatDiv.offsetWidth;
                              this._floatDivHeight = this._floatDiv.offsetHeight;

                              if ( this._floatMouseX < this._floatDiv.offsetLeft ||
                                   this._floatMouseX > (this._floatDiv.offsetLeft+this._floatDivWidth) ||
                                   this._floatMouseY < this._floatDiv.offsetTop ||
                                   this._floatMouseY > (this._floatDiv.offsetTop+this._floatDivHeight+60)
                                 ) this._floatMouseOver = false;
                              else this._floatMouseOver = true;

                              if (!this._floatMouseDown ) return;

                              if ( !this._floatDifX ) this._floatDifX = this._floatMouseX-this._floatDiv.offsetLeft;
                              if ( !this._floatDifY ) this._floatDifY = this._floatMouseY-this._floatDiv.offsetTop;

                              //*** Resize
                              if ( this._floatMouseDown == 2 ) {

                                   difX = this._floatDiv.offsetLeft-this._floatMouseX+this._floatDifX;
                                   difY = this._floatDiv.offsetTop-this._floatMouseY+this._floatDifY;

                                   if ( this._floatDiv.offsetWidth+difX <= parseInt(params['width']) ) {
                                        this._floatDiv.style.width = params['width'];
                                   } else {
                                        this._floatDiv.style.width = parseInt(this._floatDiv.style.width)+difX+"px";
                                        this.floatSetPositionValidate();
                                   }

                                   if ( this._floatDiv.offsetHeight+difY <= parseInt(params['height']) ) {
                                        this._floatDiv.style.height = params['height'];
                                   } else {
                                        this._floatDiv.style.height = parseInt(this._floatDiv.style.height)+difY+"px";
                                        this.floatSetPositionValidate();
                                   }

                              } else {
                                   this.floatSetPositionValidate();
                              }
         }

         this.floatPositionMouse = function (mEvent) {

                              this._floatMouseX  = mEvent.clientX+( this._floatDoc.documentElement.scrollLeft ? this._floatDoc.documentElement.scrollLeft : this._floatDoc.body.scrollLeft );
                              this._floatMouseY  = mEvent.clientY+( this._floatDoc.documentElement.scrollTop ? this._floatDoc.documentElement.scrollTop : this._floatDoc.body.scrollTop );

                              this._floatDifX = -10;
                              this._floatDifY = -10;

                              this.floatSetPositionValidate();
         }

         this.floatPositionObject = function (obj) {
                              var _x = this.floatGetRealCoords(obj,'x');
                              var _y = this.floatGetRealCoords(obj,'y')+obj.offsetHeight+3;
                              this.floatSetPositionX(_x+'px');
                              this.floatSetPositionY(_y+'px');

         }

         this.floatPositionCenter = function() {

                              var _x = (this._floatDocWidth/2)-(this._floatDiv.offsetWidth/2);
                              var _y = (this._floatDocHeight/2)-(this._floatDiv.offsetHeight/2);

                              this.floatSetPositionX(_x+'px');
                              this.floatSetPositionY(_y+'px');
         }

         this.floatSetPositionValidate = function () {

               if( this._floatMouseX-this._floatDifX < 0 ||
                   this._floatMouseX-this._floatDifX > this._floatDocWidth-this._floatDivWidth ) {}
               else this.floatSetPositionX( (this._floatMouseX-this._floatDifX)+"px" );

               if( this._floatMouseY-this._floatDifY < 0 ||
                   this._floatMouseY-this._floatDifY > this._floatDocHeight-this._floatDivHeight ) {}
               else this.floatSetPositionY( (this._floatMouseY-this._floatDifY)+"px" );
         }

         this.floatSetPositionX = function (x) {
               this._floatDiv.style.left = x;
         }

         this.floatSetPositionY = function (y) {
               this._floatDiv.style.top = y;
         }

         this.floatMove = function () {
               if ( !this._floatMouseDown ) this._floatMouseDown = 1;
         }


         this.floatResize = function () {
               if ( !this._floatMouseDown ) this._floatMouseDown = 2;
         }

         this.floatMouseUp = function () {
               this._floatMouseDown = false;
               this._floatDifX = false;
               this._floatDifY = false;


               if ( !this._floatMouseOver && params['blur'] ) {
                    this.floatClose();
               }
         }

         this.floatClose = function () {
               this._floatDiv.style.top = '-1000px';
         }

         this.floatAddEvent = function (elm, evType, fn, useCapture) {
               if (typeof elm.addEventListener != 'undefined' ) {
                   elm.addEventListener(evType, fn, useCapture);
                   return true;
               } else if (elm.attachEvent) {
                   var r = elm.attachEvent('on' + evType, fn);
                   return r;
               } else {
                   elm['on' + evType] = fn;
               }
         }

         this.floatGetRealCoords = function (obj,axis) {
               var curleft = curtop = 0;
               if (obj.offsetParent) {

                   do {
                           curleft += obj.offsetLeft;
                           curtop += obj.offsetTop;
                     } while (obj = obj.offsetParent);
               }



               return axis == 'x' ? curleft : curtop;
         }

         this.floatGetWindowWidth = function () {
               var windowWidth = 0;
               if (typeof(window.innerWidth) == 'number') {
                   windowWidth = window.innerWidth;
               }else {
                   if (document.documentElement && document.documentElement.clientWidth) {
                       windowWidth = document.documentElement.clientWidth;
                   } else {
                       if (document.body && document.body.clientWidth) {
                           windowWidth = document.body.clientWidth;
                       }
                   }
               }
               return windowWidth;
         }

         this.floatGetWindowHeight = function () {
              var windowHeight = 0;
              if (typeof(window.innerHeight) == 'number') {
                  windowHeight = window.innerHeight;
              }else {
                  if (document.documentElement && document.documentElement.clientHeight) {
                      windowHeight = document.documentElement.clientHeight;
                  } else {
                      if (document.body && document.body.clientHeight) {
                          windowHeight = document.body.clientHeight;
                      }
                  }
              }
              return windowHeight;
         }

}
//**********************************
//**** Iniciar combo
//**********************************

function initComboHabitaciones(view) {
      var obj = document.getElementById('divHabitacionesDetalle');

      var str = '<table width="100%" class="bfino" border="1" cellspacing="0" cellpadding="6" align="center" bordercolor="#D7B08A">'+
                   '<tr>'+
                      '<td bgcolor="#FFFFFF">'+
                         '<table style="margin-top:5px" width="100%" border="0" cellspacing="0" cellpadding="3">'+
                            '<tr style="font-size:11px">'+
                              '<td>&nbsp;</td>'+
                              '<td width=50 nowrap><b><font color="#BF975B">Adultos</font></b><br>+ 11 años</td>'+
                              '<td><b><font color="#BF975B">Ni&ntilde;os</font></b><br>- 11 años </td>'+
                            '</tr>';

      var color = "#FFFFFF";
      for( var i=0 ; i<=consulta['paxs'].length-1 ; i++ ) {
            color = color == '#FFFFFF' ? '#F8F8F8' : '#FFFFFF';
            str +=         '<tr bgcolor="'+color+'" style="padding-top:5px;font-size:11px">'+
                              '<td width=80 valign="top" nowrap><b>Habitación '+(i+1)+'</b></td>'+
                              '<td valign="top">'+
                                '<select name="paxs['+i+'][adultos]" onChange="actualizarPasajeros()" class="campo">'+
                                   dibComboAdultos(i)+
                                '</select>'+
                              '</td>'+
                              '<td valign="top" nowrap>'+
                                '<select name="paxs['+i+'][ninos]" onChange="actNinos('+i+');actualizarPasajeros()" class="campo" style="margin-bottom:5px;">'+
                                   dibComboNinos(i)+
                                '</select>'+
                                '<div id="div_ninos_'+i+'" style="font-size:1px;">'+
                                   dibNinos(i)+
                                '</div>'+
                              '</td>'+
                            '</tr>';
      }

      str +=             '</table>'+
                       '</td>'+
                      '</tr>'+
                      '<tr>'+
                        '<td height=35 align=center nowrap>'+
                          '<input type="button" onClick="cerrarHabitaciones();" class="formActualizar" style="width:80px" name="Submit2" value="ACEPTAR">'+
                        '</td>'+
                      '</tr>'+
                    '</table>';

      obj.innerHTML = str;
      actualizarPasajeros();
      obj.style.display = view ? '' : 'none';
      //cerrarCalendario();
}

function setHabitaciones() {
      var obj_habitaciones = document.getElementById('habitaciones');
      if ( obj_habitaciones.value > consulta['paxs'].length ) {
           var desde = consulta['paxs'].length;
           var hasta = obj_habitaciones.value-1;
           for( var i=desde; i<=hasta ; i++ ) {
                consulta['paxs'].push({"adultos":"2","ninos":"0"});
           }

      } else if ( obj_habitaciones.value < consulta['paxs'].length ) {
           var desde = obj_habitaciones.value;
           var hasta = consulta['paxs'].length-1;
           for( var i=desde; i<=hasta ; i++ ) {
                consulta['paxs'].pop();
           }
      }

      initComboHabitaciones();
}

function actualizarPasajeros() {
      var totalAdultos = 0 ;
      var totalNinos = 0 ;
      var obj_habitaciones = document.getElementById('habitaciones');
      for( var i=0 ; i<=consulta['paxs'].length-1 ; i++ ) {

                if ( document.search['paxs['+i+'][adultos]'] != null ) var adultos = parseFloat(document.search['paxs['+i+'][adultos]'].value);
           else if ( consulta['paxs'][i]['adultos'] != null )     var adultos = parseFloat(consulta['paxs'][i]['adultos']);

           if ( document.search['paxs['+i+'][ninos]'] != null )  var ninos = parseFloat(document.search['paxs['+i+'][ninos]'].value);
           else if ( consulta['paxs'][i]['ninos'] != null ) var ninos = parseFloat(consulta['paxs'][i]['ninos']);

           totalAdultos += adultos;
           totalNinos   += ninos;
      }
      document.getElementById('adultos').innerHTML = totalAdultos;
      document.getElementById('ninos').innerHTML   = totalNinos;


      //document.getElementById('divHabitacionesInner').innerHTML   = consulta['paxs'].length;
      //obj_habitaciones.value = parseFloat(consulta['paxs'].length);
}

function dibComboAdultos(i) {
      val = document.search['paxs['+i+'][adultos]'] ? document.search['paxs['+i+'][adultos]'].value : consulta['paxs'][i]['adultos'];
      var str = "";
      for ( var i=1 ; i <= 8 ; i++ ) {
            var sel = i == val ? "selected" : "";
            str += '<option value="'+i+'" '+sel+'>'+i+'</option>';
      }
      return str;
}

function dibComboNinos(i) {
      val = document.search['paxs['+i+'][ninos]'] ? document.search['paxs['+i+'][ninos]'].value : consulta['paxs'][i]['ninos'];
      var str = "";
      for ( var i=0 ; i <= 8 ; i++ ) {
            var sel = i == val ? "selected" : "";
            str += '<option value="'+i+'" '+sel+'>'+i+'</option>';
      }
      return str;
}

function dibNinos(i) {
      var str = "";
      var hasta = document.search['paxs['+i+'][ninos]'] ? document.search['paxs['+i+'][ninos]'].value : consulta['paxs'][i]['ninos'];
      for ( var n=0 ; n <= hasta-1 ; n++ ) {
            str += '<div style="font-size:11px">'+
                     '<img src="'+_http+'/webart/206.gif" width="25" height="17" align=middle>Edad niño '+( n + 1 )+':'+
                     '<select name="paxs['+i+'][edades]['+n+']" class="campo" >'+
                       dibComboEdades(i,n)+
                     '</select>'+
                   '</div>';
      }
      return str;
}

function dibComboEdades(i,n) {

           if ( document.search['paxs['+i+'][edades]['+n+']'] )             val = document.search['paxs['+i+'][edades]['+n+']'].value;
      else if ( typeof(consulta['paxs'][i]['edades']) != 'undefined' ) val = consulta['paxs'][i]['edades'][n];

      var str = '<option value="">--</option>'+
                '<option '+( i == 0 ? "selected" : "" )+' value="0"><1</option>';
      for ( var i=1 ; i <= 11 ; i++ ) {
            var sel = i == val ? "selected" : "";
            str += '<option value="'+i+'" '+sel+'>'+i+'</option>';
      }
      return str;
}

function actNinos(i) {
     var str = dibNinos(i);
     inner('div_ninos_'+i,str);
}



function actualizarAdultos(obj) {

}

function actualizarNinos(obj) {

}


function cerrarHabitaciones() {
      var obj = document.getElementById('divHabitacionesDetalle');
      obj.style.display = 'none';
}

function setCookie(name,value,days) {
      if (days) {
              var date = new Date();
              date.setTime(date.getTime()+(days*24*60*60*1000));
              var expires = "; expires="+date.toGMTString();
      } else expires = "";
      if ( getCookie(name) ) deleteCookie(name);
      document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(name) {
      var nameEQ = name + "=";
      var ca = document.cookie.split(';');
      for(var i=0;i<ca.length;i++) {
              var c = ca[i];
              while (c.charAt(0)==' ') c = c.substring(1,c.length);
              if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
      }
      return null;
}

function inner(id,str) {
     if ( str == 'undefined' || typeof(str) == 'undefined' ) return;
     var obj = document.getElementById(id);
     if ( obj == null ) return;

     obj.innerHTML = str;
}

 //*** Rutina utilizada para corregir las fechas en el panel de busqueda */
 function checkDates() {

       var actual = new Date();

       var obj_arrDate_day   = document.getElementById('arrDate_day');
       var obj_arrDate_mon   = document.getElementById('arrDate_mon');
       var obj_arrDate_year  = document.getElementById('arrDate_year');
       var obj_arrDate       = document.getElementById('arrDate');
       var obj_deptDate_day  = document.getElementById('deptDate_day');
       var obj_deptDate_mon  = document.getElementById('deptDate_mon');
       var obj_deptDate_year = document.getElementById('deptDate_year');
       var obj_deptDate      = document.getElementById('deptDate');

       var nuevo = new Date(
                obj_arrDate_year.value,
                obj_arrDate_mon.options[obj_arrDate_mon.options.selectedIndex].value-1,
                obj_arrDate_day.options[obj_arrDate_day.options.selectedIndex].value
                );

       var arrival = new Date(
                obj_arrDate_year.value,
                obj_arrDate_mon.options[obj_arrDate_mon.options.selectedIndex].value-1,
                obj_arrDate_day.options[obj_arrDate_day.options.selectedIndex].value
                );
       var departure = new Date(
                obj_deptDate_year.value,
                obj_deptDate_mon.options[obj_deptDate_mon.options.selectedIndex].value-1,
                obj_deptDate_day.options[obj_deptDate_day.options.selectedIndex].value
                );

       if ( arrival < actual ) {
            arrival = actual;
       }

       /* checkout es menor a checkin */
       if (departure <= arrival) {
            with (nuevo) setDate(nuevo.getDate()+5);
            departure = nuevo;
       }

       /* Establezco las fechas */
       obj_arrDate_year.value                 = arrival.getFullYear();
       obj_arrDate_mon.options.selectedIndex  = arrival.getMonth();
       obj_arrDate_day.options.selectedIndex  = (arrival.getDate()-1);
       obj_deptDate_year.value                = departure.getFullYear();
       obj_deptDate_mon.options.selectedIndex = departure.getMonth();
       obj_deptDate_day.options.selectedIndex = (departure.getDate()-1);
       obj_arrDate.value                      = arrival.getDate()+"/"+(arrival.getMonth()+1)+"/"+arrival.getFullYear();
       obj_deptDate.value                     = departure.getDate()+"/"+(departure.getMonth()+1)+"/"+departure.getFullYear();
 }function mailOfertas(params) {

      var _this = this;

      this.init = function() {
           this.setVars();
           this.verificar();
      }

      this.setVars = function() {
           this._doc = document;
      }

      this.verificar = function() {

           this.email = this._doc.getElementById('email_ofertas');

           if ( !verificarEmail(this.email.value) ){
                alert('El eMail ingresado no es válido');
                return;
           };

           this.recibir();
      }

      this.recibir = function() {
           var url = _http+'/server/mail.ofertas.recibir.php';
           var params = 'email='+this.email.value+"&t="+new Date();
           var ajax = new AjaxCall(url,params,this.recibirCallBack);
           ajax.doGET();
      }

      this.recibirCallBack = function(result) {
           var j = eval(result);
           if ( j[0]['result'] == 'ok' ) {
                _this._doc.getElementById('mail-ofertas').innerHTML = '<div id="msg-back">'+j[0]['str']+'</div>';
           } else {
                _this._doc.getElementById('mail-ofertas-titulo').innerHTML = '<div id="msg-back">'+j[0]['str']+'</div>';
           }
      }
}/*##############################################*/
/*################   flashcontrol.js  ##########*/
/*##############################################*/


function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?');
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs)
{
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  if ( embedAttrs["inner"] ) inner(embedAttrs["inner"],str);
                        else document.write(str);
}

function AC_FL_RunContent(){

  var ret =
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );

  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret =
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();

    switch (currArg){
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "flashvars": ret.params[srcParamName] = ret.params[srcParamName]+'?'+args[i+1];
                        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
                        break;

      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace":
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

function gMap(params) {

         var _this = this;

         /*** Init ****/
         this.init = function () {

              if (!GBrowserIsCompatible()) return;
              this.setVars();
              this.createMap();
         };

         /*** Set vars ***/
         this.setVars = function () {
              this._doc = document;
              this._markers = new Array();
              this._icon = "";
         };

         /*** Crear mapa ***/
         this.createMap = function () {

              this.map = new GMap2(this._doc.getElementById(params['canva']));

              switch(params['tipo']) {
                     case 2: var tipo = G_PHYSICAL_MAP;break;
                     case 3: var tipo = G_SATELLITE_3D_MAP;break;
                    default: var tipo = G_NORMAL_MAP;break;
              }

              this.map.setMapType(tipo);
              this.loadItems();

              if ( params['sel_i'] ) this.showInfo( params['sel_i']);
         };

         /*** load items ****/
         this.loadItems = function () {

              var bounds = new GLatLngBounds();
              for( var i in params['items'] ) {
                   var item = params['items'][i];
                   var point = new GLatLng( item['lat_long'][0] ,item['lat_long'][1] );
                   var marker = this.createMarker(point,i);
                   this.map.addOverlay(marker);
                   bounds.extend(marker.getPoint());
              }
              if ( params['items'].length > 1 ) {
                   this.bestFit(bounds);
              } else {
                   this.map.setCenter(point, params['zoom']);
              }

              this.map.setUIToDefault();
         };

         /* * Crear marca ***/
         this.createMarker = function (point,i) {
              var marker = new GMarker(point, {icon:this._icon});
              GEvent.addListener(marker, "click", function() { _this.showInfo(i) } );
              this._markers[i] = marker;
              return marker;
         };

         /*** Centrar mapa y aplicar mejor zoom ***/
         this.bestFit = function(bounds) {
              this.map.setCenter(bounds.getCenter());
              this.map.setZoom(this.map.getBoundsZoomLevel(bounds));
         };

         /***  show info ***/
         this.showInfo = function (i) {

              this.mapExtended = false;
              this.mapExtend();
              var item = params['items'][i];
              var str = '<div id="mapPreview">'+
                          '<h3>'+
                             '<a href="'+item['url']+'">'+
                                item['nombre']+
                             '</a>'+
                          '</h3>'+
                          ( item['foto'] ? this.dibThumb(item) : '' )+
                          '<div id="info">'+
                              ( item['categoria'] ? '<div id="categoria"><strong>Categoría:</strong> '+this.dibCategoria(item)+'</div>' : '' )+
                              ( item['ubicacion'] ? '<div id="ubicacion"><strong>Ubicación:</strong> '+item['ubicacion']+'</div>' : '' )+
                              ( item['url_booking'] ? '<div class="boton">'+
                                                          '<div'+( item['estado'] == 1 ? '' : ' class="consultar"' )+'>'+
                                                             '<a href="'+item['url_booking']+'">'+
                                                                 ( item['estado'] == 1 ? 'RESERVAR' : 'CONSULTAR' )+
                                                             '</a>'+
                                                          '</div>'+
                                                       '</div>'
                                                    : ''
                              )+
                              
                          '</div>'+
                        '</div>';

              this._markers[i].openInfoWindowHtml(str);
              this.topEffect(this.getRealCoords(this._doc.getElementById(params['canva']),'y'));
         };

         //*** Dibujar thumb
         this.dibThumb = function(item) {
              var foto = item['foto'];
              if ( foto == "" ) return '<img id="thumb" src="'+_http+'/webart/campana/38.gif" width="100" height="60" >';
              var str = '<img id="thumb" src="'+foto+'">';
              return str;
         };

         //*** Dibujar categoria
         this.dibCategoria = function(item) {
              var estrellas = Math.ceil(item['estrellas']);
              var categoria = item['categoria'];
              var str = ( estrellas > 0 && estrellas < 6 ? '<img src="'+_http+'/webart/campana/17_'+estrellas+'.gif"/>' : ( categoria ? categoria : '' ));
              return str;
         }

         //*** Extend mapa
         this.mapExtend = function () {
              var img = document.getElementById('mapaExtend');
              if ( img==null ) return;
              var obj = document.getElementById('cssBoxMapa');
              if ( !this.mapExtended ) {
                   obj.style.width = '550px';
                   img.style.marginLeft = '505px';
                   img.src = _http+'/webart/campana/13.gif';
                   this.mapExtended = true;
              } else {
                   obj.style.width = '247px';
                   img.style.marginLeft = '202px';
                   img.src = _http+'/webart/campana/12.gif';
                   this.mapExtended = false;
              }
         };

         //*** Top efect
         this.topEffect = function(top) {
              if ( document.body.scrollTop > top || document.documentElement.scrollTop > top ) {
                   document.body.scrollTop -= 20;
                   document.documentElement.scrollTop -= 20;
                   this.topEffect(top);
              }
         };

         //***  getRealCoords
         this.getRealCoords = function (obj,axis) {
              var curleft = curtop = 0;
              if (obj.offsetParent) {
                  do {
                      curleft += obj.offsetLeft;
                       curtop += obj.offsetTop;
                  } while (obj = obj.offsetParent);
              }
              return axis == 'x' ? curleft : curtop;
         };
}
function AjaxCall(servletURL, parameters, callback) {

    /********/
    /* Data */
    /********/
    var ajax;

    /***************/
    /* Constructor */
    /***************/
    ajax = ajaxNew();
    ajax.onreadystatechange = processRequest;

    /***********/
    /* Methods */
    /***********/
    function processRequest() {
        if(ajax.readyState == 4) {
            if((ajax.status == 200)||(ajax.status == 0)) {
                if(callback != null) callback(ajax.responseText, ajax.readyState);
            }else {
                //alert("Error de AJAX");
            }
        }
    };

    this.doGET = function()
    {
        ajax.open("GET", servletURL+"?"+encodeURI(parameters), true);
        ajax.send(null);
    };

    this.doPOST = function()
    {
        ajax.open("POST", servletURL, true);
        ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        ajax.setRequestHeader("Content-length", parameters.length);
        ajax.setRequestHeader("Connection", "close");
        ajax.send(parameters);
    };

    function ajaxNew()
    {
        var xmlHttp = false;

        if(window.XMLHttpRequest) {
            xmlHttp = new XMLHttpRequest();
        } else if(window.ActiveXObject) {
            try{
                xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
            } catch(e) {
                try {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                } catch(E) {
                    xmlHttp = false;
                }
            }
        }
        return xmlHttp;
    }
}
