/*
* Copyright (c) 2009 GUITARGUITAR Limited
* Author(s): Mark McKenzie
* E-mail: mark@guitarguitar.co.uk
*
*/

var sa_compatible=1;
var sa_timeout;
var sa_timeoutlength=120;
var sa_firstquery=1;
var sa_cachesize=10;
var sa_cachequery=new Array(sa_cachesize);
var sa_cacheresults=new Array(sa_cachesize);
var sa_cacheptr=0;

var myHTMLstring='<div id="guitarassistant" style="float:left;" ><img id="button-assistant" src="small/102/search_assistant.jpg" height="33" alt=""/></div> <div id="ga-close" style="float:right; padding:0px 8px 0px 0px;"><img id="guitar-assistant" src="small/102/search_close.jpg" height="27"/></div> <div class="clearer"></div> <div id="vertical_content"><div id="vertical_search"><div id="searcha1" class="ga-left">	 <div class="ga-tabheading">Product Brands</div>	 <div id="searcha1c">	  <div class="ga-tab">Start typing...</div>	 </div>	</div>	<div id="searcha2" class="ga-left">	  <div class="ga-tabheading">Categories</div> 	 <div id="searcha1c2"> 	 </div> 	</div> <div id="searcha3" class="ga-left"> <div class="ga-hpopular">Search Summary</div> <div id="searcha1c3"> </div> </div> <div class="clearer"></div> </div> </div>';
window.addEvent('domready', function() {
var ssHTML = document.getElementById('vertical_slide');
ssHTML.innerHTML = myHTMLstring;
var myopen=0;
var status = {
'true': 'open',
'false': 'close'
};

//-vertical
var myVerticalSlide = new Fx.Slide('vertical_slide');
myVerticalSlide.hide();

$('s').addEvent('keyup', function(e){
if (myopen==0){		
e.stop();

myVerticalSlide.hide();
$('vertical_slide').setStyle('display', 'block');
myVerticalSlide.slideIn();
}
myopen=1
});
$('ga-close').addEvent('click', function(e){


e.stop();


myVerticalSlide.slideOut();

myopen=0;
});
});


//Gets the browser specific HTTPRequest Object
function getXmlHttpRequestObject() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if(window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
} else {
sa_compatible=0; // Browser won't support new search suggest
return false;
}
}

//GG XHE object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

function searchSuggest() {
if (document.getElementById('s').value!='' && sa_compatible==1){

if (sa_timeout) {
clearTimeout(sa_timeout);
}
if (saInLocalCache()==-1) {
if (document.getElementById('s').length==1 && document.getElementById('s').value!=' '){
	searchSuggestCall(); 
}else{
	sa_timeout=setTimeout("searchSuggestCall()",sa_timeoutlength); 
}
}else{ 
handleSearchSuggest();
}

}else{
if(sa_compatible==1){
handleSearchSuggest();
}
}
}

function saInLocalCache() {

var in_cache=-1;
for ( var i=0; i<sa_cachequery.length; i++){
if (sa_cachequery[i]==document.getElementById('s').value){
in_cache=i;

}
}
return in_cache;
}

function searchSuggestCall() {

if (document.getElementById('s').value!='' && sa_compatible==1){
if (searchReq.readyState == 4 || searchReq.readyState == 0) {
var str = escape(document.getElementById('s').value);
searchReq.open("GET", 'ajax_search.asp?query=' + str, true);
searchReq.onreadystatechange = handleSearchSuggest; 
searchReq.send(null);
}
}	
}

function saGetLocalCache(){
return true;
}

function handleSearchSuggest() {
if (searchReq.readyState == 4 || saInLocalCache()>-1) {
var ss = document.getElementById('searcha1c')
ss.innerHTML = '';

var ssc = document.getElementById('searcha1c2')
ssc.innerHTML = '';

var ssd = document.getElementById('searcha1c3')
ssd.innerHTML = '';


if (saInLocalCache()>-1){
var myMASTERstr = sa_cacheresults[saInLocalCache()].split("MMAAMM");
}else{
	var myMASTERstr = searchReq.responseText.split("MMAAMM");
	sa_cacheresults[sa_cacheptr]=searchReq.responseText;
	sa_cachequery[sa_cacheptr]=myMASTERstr[0];

	sa_cacheptr++;
	if (sa_cacheptr==sa_cachesize){
	 sa_cacheptr=0;
	}


}

var str = myMASTERstr[1].split("\n");
var strb = myMASTERstr[2].split("\n");
var strc = myMASTERstr[3].split("\n");
var tt=0;
var display='';

var mystr = document.getElementById('s').value.split(" ");
//Setup RegEx
var r="(";
for(j=0; j < mystr.length; j++) {
r=r+mystr[j]+"|";
}
r=r+"\\+)"
reh = new RegExp(r,"ig");
for(i=0; i < str.length-2; i++) {
display=str[i].replace(reh,'<span style="font-weight:bold; color:#FFA66A; border:0px;border-color: #FFA66A;border-bottom-width: 1px;border-style: dotted;">$1</span>');			

var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
suggest += 'onmouseout="javascript:suggestOut(this);" ';
suggest += 'onclick="javascript:location.href=\'brands.asp?brandname='+str[i]+'\';" ';
suggest += 'class="ga-tab">' + display + '&nbsp;<span style=" font-size:10px;right:1px;top:'+tt*17+'px; color:#eeeeee;">('+str[i+1]+')</span></div>';
ss.innerHTML += suggest;
i++;
tt++;
}

tt=0;
suggest=0;
for(i=0; i < strb.length-1; i++) {
display=strb[i].replace(reh,'<span style="font-weight:bold; color:#FFA66A; border:0px;border-color: #FFA66A;border-bottom-width: 1px;border-style: dotted;">$1</span>');

var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
suggest += 'onmouseout="javascript:suggestOut(this);" ';
suggest += 'onclick="javascript:location.href=\'guitars.asp?tag='+strb[i]+'\';" ';
suggest += 'class="ga-tab">' + display+ '</div>';
ssc.innerHTML += suggest;
tt++;
}

tt=0;
suggest=0;
for(i=0; i < strc.length-2; i++) {
display=strc[i].replace(reh,'<span style="font-weight:bold; color:#FFA66A; border:0px;border-color: #FFA66A;border-bottom-width: 1px;border-style: dotted;">$1</span>');

var suggest = '<div ';

if (i==8){ //We have too many results - show more
	suggest += 'onclick="javascript:document.getElementById(\'search_form\').submit();"';
}else{
	suggest += 'onmouseover="javascript:suggestOverb(this);" ';
	suggest += 'onmouseout="javascript:suggestOutb(this);" ';
	suggest += 'onclick="javascript:location.href=\'redirect.asp?stockcode='+strc[i+1]+'\';" ';
}
if (i==8){ //We have too many results - show more
display='<div style="float:left; padding:1px 10px 0px 0px;"><strong>more...</strong></div><div style="float:right; padding:1px 0px 0px 0px; height:22px;"><img id="vert_search" src="small/102/search_button.jpg" /> </div><div class="clearer"></div>'
}
suggest += 'class="ga-tab2">' + display + '</div>';
ssd.innerHTML += suggest;

tt++;
i++;
}
if (tt==0){
ssd.innerHTML = '<div class="ga-tab2">No search summary can be found. (...please try another search.) </div><div class="ga-tab2"> Or call us on <strong>0191 222 0466</strong> for help in finding your product.</div>';
}



}else{

if (document.getElementById('s').length==0){
var ss = document.getElementById('searcha1c')
ss.innerHTML = '';

var ssc = document.getElementById('searcha1c2')
ssc.innerHTML = '';

var ssd = document.getElementById('searcha1c3')
ssd.innerHTML = '';
ssd.innerHTML = '<div class="ga-tab">Start Typing...</div>';
}
}	
}

//Mouse over function
function suggestOver(div_value) {
div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
div_value.className = 'ga-tab';
}
//Mouse over function
function suggestOverb(div_value) {
div_value.className = 'suggest_link_overb';
}
//Mouse out function
function suggestOutb(div_value) {
div_value.className = 'ga-tab2';
}
//Click function
function setSearch(value) {
var substrg=value.split("</div>");
document.getElementById('s').value = substrg[0];
//document.getElementById('txtSearch').value = value;
document.getElementById('searcha1c').innerHTML = '';
}



function showPanel_old(name)
{
var panels = new Array('front1', 'front2', 'front3','front4');
for(i = 0; i < panels.length; i++)
{
document.getElementById(panels[i]).style.display = (name == panels[i]) ? 'inline':'none';
}
return false;
}

function showPanel(name){
var innerpanels = new Array('front1', 'front2', 'front3','front4');
clearTimeout(t);
for(i = 0; i < innerpanels.length; i++)
{
  if(name == innerpanels[i]){
if (navigator.userAgent.indexOf("safari")!=-1 || navigator.userAgent.indexOf("MSIE")!=-1 || navigator.userAgent.indexOf("Firefox")!=-1) {
var mmdiv= $(innerpanels[i]).setStyles({
		display:'inline',
		opacity: 0
	});
   displayElement=i;
  
mmdiv.fade(1);
}else{
	document.getElementById(innerpanels[i]).style.display = (name == innerpanels[i]) ? 'inline':'none';
}


   
  }else{
   document.getElementById(innerpanels[i]).style.display='none';
  }
}


}
var selectedTab = null;

function showiTab(tab, name, rname){
var itab_panels = new Array('itab_panel1','itab_panel2','itab_panel3','itab_panel4','itab_panel5','itab_panel6');
var itab_recentlyb = new Array('itab_recently1','itab_recently2','itab_recently3','itab_recently4','itab_recently5','itab_recently6');


if (selectedTab) 
{

selectedTab.style.backgroundPosition='0px -29px';
}
selectedTab = tab;

selectedTab.style.backgroundPosition='0 0';

for(i = 0; i < itab_panels.length; i++)
{
  if(name == itab_panels[i]){
if (navigator.userAgent.indexOf("safari")!=-1 || navigator.userAgent.indexOf("MSIE")!=-1 || navigator.userAgent.indexOf("Firefox")!=-1) {
var mmitab = $(itab_panels[i]).setStyles({
		display:'block',
		opacity: 0
	});
  

var mmytab = $(itab_recentlyb[i]).setStyles({
		display:'block',
		opacity: 0
	});
  
  mmitab.fade(1);
  mmytab.fade(1);
}else{
	document.getElementById(itab_panels[i]).style.display = (name == itab_panels[i]) ? 'block':'none';
	document.getElementById(itab_recentlyb[i]).style.display = (rname == itab_recentlyb[i]) ? 'block':'none';			
}


   
  }else{
   document.getElementById(itab_panels[i]).style.display='none';
   document.getElementById(itab_recentlyb[i]).style.display='none';
  }
}

return false;


}


window.addEvent('domready', function() {
t=setTimeout("timedCount()",5000);
});

window.addEvent('domready', function() {
selectedTab=document.getElementById('itab1');
if (selectedTab) 
{
selectedTab.style.backgroundPosition='0px 0px';
}
});

var c=1
var t
function timedCount()
{

name='front'+c
var innerpanels = new Array('front1', 'front2', 'front3','front4');
for(i = 0; i < innerpanels.length; i++)
{
  if(name == innerpanels[i]){
if (navigator.userAgent.indexOf("safari")!=-1 || navigator.userAgent.indexOf("MSIE")!=-1 || navigator.userAgent.indexOf("Firefox")!=-1) {
var mmdiv= $(innerpanels[i]).setStyles({
		display:'inline',
		opacity: 0
	});
   displayElement=i;
  
  mmdiv.fade(1);
}else{
	document.getElementById(innerpanels[i]).style.display = (name == innerpanels[i]) ? 'inline':'none';
}


   
  }else{
   document.getElementById(innerpanels[i]).style.display='none';
  }
}
c=c+1;
if (c==5){
c=1
}
t=setTimeout("timedCount()",5000);
}


