/*Función para aplicar los estilos a la aplicación (basados en javascript)*/
function applyStyle(){
  forEach(document.getElementsByTagName('table'), function(table) {
    if (table.className.search(/\bsortable\b/) != -1) {
      sorttable.makeSortable(table);
    }
  });
  Nifty('div#colBienvenida1');
  Nifty('div#colContacto2');
  Nifty('div#colHabitacion2');
  Nifty('div#colConvencion1');
  
  if($('grid')){
    alternate('grid');
  }
  if($('gridnarrow')){
    alternate('gridnarrow');
  }
  if($('gridmedium')){
    alternate('gridmedium');
  }
  Nifty("td#noautorizauno","left");
  setFocus();
}

/*Maximizar siempre*/
if (navigator.appName=="Microsoft Internet Explorer")
{
  self.moveTo(0,0)
  self.resizeTo(screen.availWidth,screen.availHeight)
}
else (navigator.appName=="Mozilla Firefox")
{
  self.moveTo(0,0)
  self.resizeTo(screen.availWidth,screen.availHeight)
}

/*Fecha*/
function Fecha(){
  var fecha = new Date();
  var semana = new Array("Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado");
  var meses = new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
  var keFecha = semana[fecha.getDay()] + ', ';
  keFecha+= fecha.getDate() + ' ';
  keFecha+= meses[fecha.getMonth()];
  /*keFecha+= ' '+fecha.getYear();*/
  return keFecha;
}

/*Día, mes y año*/
function fechadia(){
  document.write('<SPAN class="blanco">&nbsp;&nbsp;' + Fecha() + '</SPAN>');
}

/*Focus boton buscar usuarios*/
function setFocus(){
  uform = document.getElementById('frmUser');
  if(uform != null){
    for (var i = 0; i < uform.length; i++){
      if(uform.elements[i].type == "submit" ){        
        uform.elements[i].focus();
      }
    }
  }
}

/*Limpiar campos de un form*/
function clearFormFiels(pform) {
  var pform = document.getElementById(pform);
  if(pform.length == null){
  pform.value = '';
  }else{
    for (var i = 0; i < pform.length; i++){
      if(pform.elements[i].type != "submit" && pform.elements[i].type != "reset" ){
        if(pform.elements[i].type == "checkbox" || pform.elements[i].type == "radio"){
          pform.elements[i].checked = false;
        }else{
          pform.elements[i].value = '';
        }
      }
    } 
  }  
}


/*Función para alternar los colores de las filas de las grillas*/
function alternate(id){
  if(document.getElementsByTagName){
    var table = document.getElementById(id);
    var rows = table.getElementsByTagName("tr");
    for(i = 0; i < rows.length; i++){
     if(i % 2 == 0){
       rows[i].className = "even";
     }else{
       rows[i].className = "odd";
     }
   }
 }
}

function maxletra(txarea)
{
  var total = 145;
  var tam = txarea.value.length;
  var str="";
  str=str+tam;
  var Digitado = document.getElementById("letraDigitado");
  var Restante = document.getElementById("letraRestante");
  Digitado.innerHTML = str;
  Restante.innerHTML = total - str;
  
  if (tam > total){
    var aux = txarea.value;
    txarea.value = aux.substring(0,total);
    Digitado.innerHTML = total
    Restante.innerHTML = 0
  }
}

/*Función para encontrar todos los objetos de un tipo en un div: <a></a> del div test.*/
function findObjects(pdiv, pelement){
  var beginScript = '<script type="text/javascript">';
  var endScript = "<";
  endScript +="/";
  endScript += "script>";
  var searchObjectsString = beginScript + "$$('div#" + pdiv + " " + pelement + "');" + endScript;
  var objects = searchObjectsString.evalScripts();
  return objects;
}

function statusStyle(indicatorName){
  var status = $F(indicatorName);
  var links = $$('div#main a');
  for(i = 0; i < links.length; i++){
    if(links[i].id.endsWith('_'+indicatorName)){
      if(status == 'false'){
        links[i].addClassName('disabled');
      }else{
        links[i].removeClassName('disabled');
      }  
    }
  }
}

function disablePassword(){
  var userTypes = document.getElementById("user_type_id");
  var selectedIndex = $('user_type_id').selectedIndex;
  var selected = userTypes[selectedIndex];
  var val = selected.value;
  //(val == 3)
  if((val == 2)){
    document.getElementById('password').disabled = true;
    document.getElementById('password_confirm').disabled = true;
  }else{
    document.getElementById('password').disabled = false;
    document.getElementById('password_confirm').disabled = false;
  }
}

function existsPasswordConfirmation(){
  var frm = $('frmUser');
  if(frm != null){
    return true;
  }else{
    return false;
  }
}

function exists(id){
  var obj = $('txtName');
  if(obj != null){
    return true;
  }else{
    return false;
  }
}

function highlightRow(id){  
  var table = document.getElementById("table");
    var rows = table.getElementsByTagName("tr");
    for(i = 0; i < rows.length; i++){
       rows[i].style.backgroundColor = "white";
    }
  var tr = document.getElementById(id);
  tr.style.backgroundColor = "lightblue";
}

function highlightul($id){
  //$('nav').addClassName("highlight");
  $($id).addClassName("highlight");
}

var samplecal;
var samplecal2;

Object.extend(Date.prototype, {
    monthnames: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
    daynames: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sabado"]
});

function init($num){
  if($num=='2'){
  showcalendars2();
  }else{
  showcalendars();
  }
  
}

function showcalendars(){
  var options = Object.extend({
      titleformat:'mmmm yyyy',
      closebutton:'X',
      dayheadlength:2,
      weekdaystart:0,
      planner: false
      },arguments[0] || { });
  samplecal = new scal('samplecal', updateyear, options);
  $('samplecal').className = '';
  $('samplecal').addClassName('dashblack');
}

function switchcalendar(form) {
  var d = new Date($F('switchyear'),$F('switchmonth'),$F('switchday'));
  samplecal.setCurrentDate(d);
}

function buidcalendar(form) {
  var inputs = form.getInputs();
  var options = {};
  inputs.each(function(n){
      var id = n.getAttribute('id');
      if(id == 'exactweeks') {
          var val = n.checked;
      } else {
          var val = n.value;
      }
      if(/^\d+$/.test(val)) {
          val = new Number(val);
      }
      options[id] = val;
  });
  samplecal.destroy();
  showcalendars(options);
}

function changestyle(event){
  clicked = Event.element(event);
  $('samplecal').className = '';
  $('samplecal').addClassName(clicked.innerHTML);
}

function checkDate(selectedDate_){
  var currentDate = document.getElementById('currentDate');
  currentDate = currentDate.value;
  currentDate = currentDate.split("-");
  
  var year = currentDate[0];
  var month = currentDate[1] - 1; 
  var day = currentDate[2];
  var currentDate_ = new Date(year, month, day);

  if(currentDate_ > selectedDate_){
    return false;
  }else{ 
    var selectedTime = document.getElementById('selectedTime');
    selectedTime = selectedTime.value; 
    
    selectedTime = selectedTime.replace(/:00/g, ""); 
    
    var currentTime = document.getElementById('currentTime');
    currentTime = currentTime.value; 
    
    if(currentDate_ < selectedDate_){
      return true;
    }else{
      if(selectedTime < currentTime){
        return false;
      }else{
        return true;
      }
    }
  }  
}

function updateyear(d){
  var selectedDate = document.getElementById('selectedDate');
  var month = d.format('mm'); 
  var selectedDate_ = new Date(d.format('yyyy'), month - 1, d.format('dd'));
  if(checkDate(selectedDate_)){
    selectedDate.value = d.format('yyyy-mm-dd');
    $('samplecal_value').update(d.format('mmmm dd, yyyy'));
    samplecal.toggleCalendar();
  }else{
    alert('Seleccione fecha futura.');
  }
}

function explodeday(){
  $(samplecal).setCurrentDate(samplecal.selecteddate);
  $(samplecal).buildCalendar();
  $(samplecal).getCalendar();
  $(samplecal.baseelement).update();
  $(samplecal.baseelement).appendChild(samplecal.selecteddatecell);
}

function setTime(){
  var selectTime = document.getElementById('selectTime');
  var time = selectTime.options[selectTime.selectedIndex];
  var selectedTime = document.getElementById('selectedTime');
  selectedTime.value = time.value;  
  var selectedDate = document.getElementById('selectedDate');
  selectedDate = selectedDate.value;
  selectedDate = selectedDate.split("-");
  
  var year = selectedDate[0];
  var month = selectedDate[1] - 1; 
  var day = selectedDate[2];
  var selectedDate_ = new Date(year, month, day);
  if(!checkDate(selectedDate_)){
    var currentTime = document.getElementById('currentTime');
    currentTime = currentTime.value; 
    selectedTime.value = currentTime;  
    alert('Seleccione fecha futura.');
  }
}

function pantallacompleta (pagina) {
  var opciones=("toolbar=no, location=no, directories=no, status=no, menubar=no ,scrollbars=yes, resizable=yes, fullscreen=yes"); 
  window.open(pagina,"",opciones);
}
function cerrar(){
  window.close();
}

//dos


function showcalendars2(){
  var options = Object.extend({
      titleformat:'mmmm yyyy',
      closebutton:'X',
      dayheadlength:2,
      weekdaystart:0,
      planner: false
      },arguments[0] || { });
  samplecal2 = new scal('samplecal2', updateyear2, options);
  $('samplecal2').className = '';
  $('samplecal2').addClassName('dashblack');
}

function switchcalendar2(form) {
  var d = new Date($F('switchyear'),$F('switchmonth'),$F('switchday'));
  samplecal2.setCurrentDate(d);
}

function buidcalendar2(form) {
  var inputs = form.getInputs();
  var options = {};
  inputs.each(function(n){
      var id = n.getAttribute('id');
      if(id == 'exactweeks') {
          var val = n.checked;
      } else {
          var val = n.value;
      }
      if(/^\d+$/.test(val)) {
          val = new Number(val);
      }
      options[id] = val;
  });
  samplecal2.destroy();
  showcalendars2(options);
}

function changestyle2(event){
  clicked = Event.element(event);
  $('samplecal2').className = '';
  $('samplecal2').addClassName(clicked.innerHTML);
}

function checkDate2(selectedDate_){
  var currentDate = document.getElementById('currentDate');
  currentDate = currentDate.value;
  currentDate = currentDate.split("-");
  
  var year = currentDate[0];
  var month = currentDate[1] - 1; 
  var day = currentDate[2];
  var currentDate_ = new Date(year, month, day);

  if(currentDate_ > selectedDate_){
    return false;
  }else{ 
    var selectedTime = document.getElementById('selectedTime2');
    selectedTime = selectedTime.value; 
    
    selectedTime = selectedTime.replace(/:00/g, ""); 
    
    var currentTime = document.getElementById('currentTime2');
    currentTime = currentTime.value; 
    
    if(currentDate_ < selectedDate_){
      return true;
    }else{
      if(selectedTime < currentTime){
        return false;
      }else{
        return true;
      }
    }
  }  
}

function updateyear2(d){
  var selectedDate = document.getElementById('selectedDate2');
  var month = d.format('mm'); 
  var selectedDate_ = new Date(d.format('yyyy'), month - 1, d.format('dd'));
  if(checkDate(selectedDate_)){
    selectedDate.value = d.format('yyyy-mm-dd');
    $('samplecal_value2').update(d.format('mmmm dd, yyyy'));
    samplecal2.toggleCalendar();
  }else{
    alert('Seleccione fecha futura.');
  }
}

function explodeday2(){
  $(samplecal2).setCurrentDate(samplecal2.selecteddate);
  $(samplecal2).buildCalendar();
  $(samplecal2).getCalendar();
  $(samplecal2.baseelement).update();
  $(samplecal2.baseelement).appendChild(samplecal2.selecteddatecell);
}

function setTime2(){
  var selectTime = document.getElementById('selectTime2');
  var time = selectTime.options[selectTime.selectedIndex];
  var selectedTime = document.getElementById('selectedTime2');
  selectedTime.value = time.value;  
  var selectedDate = document.getElementById('selectedDate2');
  selectedDate = selectedDate.value;
  selectedDate = selectedDate.split("-");
  
  var year = selectedDate[0];
  var month = selectedDate[1] - 1; 
  var day = selectedDate[2];
  var selectedDate_ = new Date(year, month, day);
  if(!checkDate(selectedDate_)){
    var currentTime = document.getElementById('currentTime2');
    currentTime = currentTime.value; 
    selectedTime.value = currentTime;  
    alert('Seleccione fecha futura.');
  }
}


