var suggestions=new Array();
var words=new Array();
var urls=new Array();
var descs=new Array();
var url="";

var offset=0;
var highlight=0;
var active=0;
var old_string="";
var timer;

var c_a=8;

function next_article()
{ c_a++;
  if(c_a==2)
  { c_a++;
  }
  if(c_a==9)
  { c_a=1;
  }	
  show_article(c_a);
}

function show_article(article)
{ for(i=1;i<9;i++)
  { if(i!=2)
    { document.getElementById("article_"+i).style.display="none";
      document.getElementById("holder_"+i).style.display="block";
    }
  }
  document.getElementById("holder_"+article).style.display="none";
  document.getElementById("article_"+article).style.display="block";
  document.getElementById("article_image").src=document.getElementById("image_"+article).src;
  document.getElementById("article_href").href=document.getElementById("href_"+article).href;
  c_a=article;
}

function stripHTML(oldString) 
{ return oldString.replace(/(<([^>]+)>)/ig,""); 
}

function scroll_up()
{ offset--;
  load(1);
}

function scroll_down()
{ offset++;
  load(1);
}

function begin_timer()
{ timer=setTimeout("close_keyword()","10000");
}


function close_keyword()
{ active=0;
  document.getElementById("DATES_BOX").style.display="block";
  document.getElementById("KEYWORD_BOX").style.display="none";
  clearTimeout(timer);
}

function open_keyword()
{ active=1;
  document.getElementById("DATES_BOX").style.display="none";
  document.getElementById("KEYWORD_BOX").style.display="block";
  clearTimeout(timer);
  begin_timer();
}

function reset_keyword()
{ if(document.getElementById("KEYWORD").value=="Type Hotel Name or Location Here" || url!="")
  { document.getElementById("KEYWORD").value="";
    document.getElementById("KEYWORD").style.color="#999999";
  }
}

function waiting()
{ for(i=0;i<4;i++)
  { document.getElementById("SUGGEST_"+i).innerHTML="";
    document.getElementById("LINK_"+i).innerHTML="";
  }
  document.getElementById("SUGGEST_0").innerHTML="<img src='"+h+"images/ajax-loader.gif' height='13' width='13'>&nbsp;Retrieving Suggestions...";
}

function set_keyword(element)
{ var word=words[element];
  if(descs[element]!="")
  { word=word+" | "+descs[element];
  }
  document.getElementById("KEYWORD").value=word;
  url=urls[element];
  close_keyword();
  document.getElementById("KEYWORD").style.color="#77ad00";
  document.getElementById("KEYWORD").focus();
  //window.location.href=h+""+urls[element];
}
function load(mode)
{ var word;
  document.getElementById("KEYWORD").style.color="#999999";
  for(i=0;i<4;i++)
  { if(words[i+offset] && words[i+offset]!='')
    { //word="<a href=\""+h+""+urls[i+offset]+"\" class='gf'>"+words[i+offset];
      word="<a href=\"javascript:void(0)\" onclick=\"set_keyword("+(i+offset)+")\" class='gf'>"+words[i+offset];
	  if(descs[i+offset]!="")
      { word=word+" <span class='g9'>| "+descs[i+offset]+"</span>";
      }
      word=word+"</a>";
	  document.getElementById("SUGGEST_"+i).innerHTML=word;
      document.getElementById("LINK_"+i).innerHTML="<a href=\""+h+""+urls[i+offset]+"\" class='gcu'><img src='"+h+"images/k_more.gif' border='0'></a>";
	
	}else
    { document.getElementById("SUGGEST_"+i).innerHTML="";
      document.getElementById("LINK_"+i).innerHTML="";
    }
  }	
  if(offset>0)
  { document.getElementById("KEYWORD_UP").style.display="block";
  }else
  { document.getElementById("KEYWORD_UP").style.display="none";
  }
  if((offset+5)<words.length)
  { document.getElementById("KEYWORD_DOWN").style.display="block";
  }else
  { document.getElementById("KEYWORD_DOWN").style.display="none";
  }
  if(mode==1)
  { if(words.length>0)
    { open_keyword();
    }else
    { close_keyword();
    }
    highlight=0;
    set_highlight();
  }
}

function explore()
{ 
  if(url!="")
  { document.booking.action=h+url+"";
    //document.booking.method="post";
	document.getElementById("KEYWORD").value="";
  }else
  { if(document.getElementById("KEYWORD").value=="" || document.getElementById("KEYWORD").value=="Type Hotel Name or Location Here")
    { alert("Please Enter a Hotel Name or Location");
      document.getElementById("KEYWORD").focus();
      return false;
    }
  }
  document.booking.submit();
}

function go_button()
{ document.getElementById("KEYWORD").value="";
  document.getElementById("AVAILABILITY").value="check";
  document.booking.submit();
}

function set_highlight()
{ for(i=0;i<4;i++)
  { if(i+1==highlight)
    { document.getElementById("LINE_"+i).style.backgroundColor="#303030";
      document.getElementById("LINK_"+i).style.backgroundColor="#303030";
    }else
    { document.getElementById("LINE_"+i).style.backgroundColor="#404040";
      document.getElementById("LINK_"+i).style.backgroundColor="#404040";
    }
  }	
}

function keyup()
{ if(active==1)
  { if(highlight>1)
    { highlight--;
      set_highlight();
	}else
    { if(offset>0)
      { offset--;
        load(0);
      }else
      { highlight=0;
        set_highlight();
      }
    }
  }
  clearTimeout(timer);
  begin_timer();
}
function keydown()
{ if(active==1)
  { if(highlight+1<words.length && highlight<4)
    { highlight++;
      set_highlight();
	}else
    { if(offset+5<words.length)
      { offset++;
        load(0);
      }
    }
  }
  clearTimeout(timer);
  begin_timer();
}



function keyselect()
{ if(active==1 && highlight>0)
  { set_keyword(highlight+offset-1);
  }else
  { explore();
  }
  return false;
}

function swap()
{ if(document.bookingavailable.AVAILABILITY.value=="check")
  { document.getElementById("fake_dates").style.display="block";
    document.getElementById("real_dates").style.display="none";
    document.bookingavailable.AVAILABILITY.value="";	
  }else
  { document.getElementById("fake_dates").style.display="none";
    document.getElementById("real_dates").style.display="block";
    document.bookingavailable.AVAILABILITY.value="check";	
  }
}
function swaproom()
{ if(document.room.AVAILABILITY.value=="check")
  { document.getElementById("fake_dates").style.display="block";
    document.getElementById("real_dates").style.display="none";
    document.bookingavailable.AVAILABILITY.value="";	
  }else
  { document.getElementById("fake_dates").style.display="none";
    document.getElementById("real_dates").style.display="block";
    document.room.AVAILABILITY.value="check";	
  }
}
var ideas=new Array();
var iurl=new Array();
var idea=0;


function go_idea()
{ idea++;
  if(idea>ideas.length-1)
  { idea=0;
  }
  document.getElementById("idea").innerHTML="<a href='"+h+""+iurl[idea]+"' class='gf'>"+ideas[idea]+"?</a>";
  if(is_home==true)
  { next_article();
  }
  setTimeout("go_idea()",5000);	
}

var ajaxcount=0;
var ajaxfunc=new Array();

function goajax(e)
{ var keycode = (window.event) ? event.keyCode : e.keyCode
  if(ajaxfunc[ajaxcount])
  { if(keycode!=38 && keycode!=40 && keycode!=13)
    { ajaxfunc[ajaxcount].abort();
	  if(active==1 && keycode!=8)
	  { waiting();
	  }
    }
  }
  ajaxcount++;
  ajaxfunc[ajaxcount]=ajaxFunction(keycode);
}

function ajaxFunction(keycode)
{ var search_string=document.getElementById("KEYWORD").value;
  var xmlHttp;
  if(keycode==38)
  { keyup();
    return false;
  }
  if(keycode==40)
  { keydown();
    return false;
  }
  if(keycode==13)
  { keyselect();
    return false;
  }

  if(true)
  { 
	suggestions=null;
    suggestions=new Array();
    words=null;
	words=new Array();
    urls=null;
	urls=new Array();
	descs=null;
    descs=new Array();
    
	offset=0;
    document.getElementById("TURL").value="";
    old_string=search_string;
    if(search_string.length>1)
    { try
      { xmlHttp=new XMLHttpRequest();    
      }catch (e)
      { try
        { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");      
	    }catch (e)
        { try
          { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");        
	      }catch (e)
          { alert("Your browser does not support AJAX!");        
	        return false;       
	      } 
	    }       
      }    
      xmlHttp.onreadystatechange=function()
      { if(xmlHttp.readyState==4)
        { if(xmlHttp.responseText!="#")
	      { suggestions=xmlHttp.responseText.split("|"); 
		    for(i=0;i<suggestions.length;i++)
	        { words[i]=suggestions[i].substring(0,suggestions[i].indexOf("#"));
	          urls[i]=suggestions[i].substring(suggestions[i].indexOf("#")+1,suggestions[i].indexOf("^"));
	          descs[i]=suggestions[i].substring(suggestions[i].indexOf("^")+1,suggestions[i].length);
	        }
	      }
	      offset=0;
		  load(1);
	    }
      }
	  
	  xmlHttp.open("GET","suggestions.php?SEARCH="+search_string+"&ZONE_ID="+zone_id+"&COUNTRY_ID="+country_id+"&REGION_ID="+region_id+"&AREA_ID="+area_id,true);
	  xmlHttp.send(null); 
      return xmlHttp;
	}else
    { load(1);
    }
  }
  return false;
}

