
function doload(){

}

function setClass(id,classname){
  document.getElementById(id).className = classname;
}

function setValuesOnId(id,rootid,attrs){
  if(id != 'hotel0')
  for (var i=0; i<attrs.length; i++) {
    if(attrs[i] == 'image')
      document.getElementById(rootid+attrs[i]).src = document.getElementById(id).getAttribute(attrs[i]);
    else
      document.getElementById(rootid+attrs[i]).innerHTML = document.getElementById(id).getAttribute(attrs[i]);
  }
}

function SelectorDefault(el,blur){
  if(el.value == el.getAttribute('default'))
    el.select();
  if(el.value == '' && blur)
    el.value = el.getAttribute('default'); 
}

function setCountryCode(el){
  if(document.getElementById('telephonecc')){
    var code = el.getElementsByTagName('option')[el.selectedIndex].getAttribute('pc');
    if(code != '')
      document.getElementById('telephonecc').value = "+"+code;
    else  
      document.getElementById('telephonecc').value = "";
  }
}

function syncRooms(el){
  var id = el.getAttribute('id');
  var ids = ['hotel1select','hotel2select'];
  var index = el.selectedIndex;
  for (var i=0; i<ids.length; i++) {
    if(ids[i] != id) document.getElementById(ids[i]).selectedIndex = index;
  }
}


var tools = {
  days:['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
  months:['January','February','March','April','May','June','July','August','September','October','November','December'],
  initXML : function(xmlString) {
    var xml = new ActiveXObject('Microsoft.XMLDOM');
    xml.async = false;
    xml.loadXML(xmlString);
    return xml;
  },
  leadingZero:function (n, cnt) {
    if (cnt+""=="undefined") cnt=2;
    var s=n+"";
    while (s.length<cnt) s="0"+s;
    return s;
  },
  inArray:function(value, array){
    for(i = 0;i < array.length;i++){
      if(array[i] == value) return i;
    }
    return 'not';
  },
  imgOver:function(img){
    img.src = img.src.substr(0,img.src.length-4)+"_o"+img.src.substr(img.src.length-4);
  },
  imgOut:function(img){
    img.src = img.src.substr(0,img.src.length-6)+img.src.substr(img.src.length-4);
  },
  classOver:function(el){
    el.className = el.className + '-over';
  },
  classOut:function(el){
    el.className = el.className.replace('-over','');
  },
  ucFirst:function(string){
    return string.substring(0,1).toUpperCase() + string.substring(1);  
  },
  writeCookie:function(name,value){
    document.cookie = name+'='+(value.replace(/;/g,'COLON'))+']';
  },
  readCookie:function(name){
    var cvalue = document.cookie;
    var parts = cvalue.split(']');
    //alert(parts.toString());
    var c = {};
    for (var i=0; i<parts.length; i++) {
      var part = parts[i];
      var object = part.split('=');
      var n = (i==0)?object[0]:object[0].substring(2);
      c[n] = object[1].replace(/COLON/g,';');  
    }
    return c[name];
  },  
  getDateString:function(value) {
    var date = new Date(value*1);
    var str = '';
    if(value == 0 ) return 'Unknown';

    var day = date.getDate();

    switch(day) {
      case 1:
      case 21:
      case 31:
        day = day +'st';
      break;
      case 2:
      case 22:
        day = day +'nd';
      break;
      case 3:
      case 23:
        day = day +'rd';
      break;
      default:
        day = day +'th';
      break;
    }

    str = tools.months[date.getMonth()].substring(0,3) +" " + day +" "+date.getFullYear()+" "+tools.leadingZero(date.getHours())+":"+tools.leadingZero(date.getMinutes());
    return str;
  },
  getInnerHTML:function(el)
  {
    var html = '';
    var elHandler = function(el){
      switch (el.nodeType)
      {
        case 1:
          //element
          switch(el.nodeName.toLowerCase()) {
            case 'br':
              html += '<' + el.nodeName.toLowerCase() + '/>';
              tools.loopChildElements(el, elHandler);          
            break;
            default:
              html += '<' + el.nodeName.toLowerCase() + '>';
                tools.loopChildElements(el, elHandler);
              html += '</' + el.nodeName.toLowerCase() + '>';
            break;
          }
          break;
        case 3:
          //text
         html += tools.escapeCharacters(el.nodeValue);
          break;
        default:
          alert(el.nodeType);
      }
    }
    tools.loopChildElements(el, elHandler);
    //alert("html:\n"+html);
    
    return html;
  },
  
  loopChildElements:function(el, hnd)
  {
    for (var i=0; i<el.childNodes.length; i++)
      hnd(el.childNodes[i]);
  },
  
  escapeCharacters:function(s)
  {
    var s2 = '';
    for (var i=s.length-1; i>=0; i--)
    {
      var cc = s.charCodeAt(i);
      if (cc > 126)
        s2 = '&#' + cc + ';' + s2;
      else
        s2 = s.charAt(i) + s2;
    }
    return s2;
  }
}
