// (C) 2009 by Sunset Rainbow, LLC (henry@sunsetrainbow.com) All Rights Reserved.

var root='cardzooey.com/';
var hmlib='hmlib/';
var data=Array();
var searchdata=0;
var cl_mutex2=0;
var last_search='';

var http=window.parent.document.location.protocol+'//';

var dynasearch=Array();
var dynasearchtable='';

function handleSearchKeyUp()
{

	LoadSearchData();
	var searcho = document.getElementsByName('search')[0];
	var searchv = document.getElementsByName('searchhelper')[0];
	var searchPattern = "^.*> "+searcho.value;
	var re = new RegExp(searchPattern,"gi");
	var dl=data.length;
	
	if (searchv.options.length >= dl)
	{
		if (dl>searchv.options.length)
			searchv.options[dl-1].selected = true;

		for(var i = 0; i < dl; i++)
		{
			if(data[i].search(re) != -1)
			{
			    searchv.options[i].selected = true;
			    break;
			}
		}
	}
	cl_mutex2=0;
}

	var rqo=null;

function LoadSearchData()
{
	var searcho = document.getElementsByName('search')[0];
	
	if (last_search==searcho.value)
		return;
	last_search=searcho.value;


	if (selected_cached(searcho.value))
		return;
	
	var qry=http+root+hmlib+"search_widget.php?q=" + searcho.value;

	if (dynasearchtable != '')
	{
		qry += '&t='+dynasearchtable+'&t2=';
		var dl=dynasearch.length;
		var i=0;
		for (i=0;i<dl;i++)
		{
			qry+=dynasearch[i]+' ';
		}
	}
	//alert(qry);
	// HM1:  var rqo = new XMLHttpRequest();
	rqo=null;
	if (!rqo && typeof XMLHttpRequest!='undefined')
	{
		try {
			rqo = new XMLHttpRequest();
		} catch (e) {
			rqo=false;
		}
	}
	if (!rqo && window.createRequest) {
		try {
			rqo = window.createRequest();
		} catch (e) {
			rqo=false;
		}
	}		

	// Failsafe... and for IE 5 and IE 6
	if (window.XMLHttpRequest) {
	  // If IE7, Mozilla, Safari, and so on: Use native object.
	  rqo = new XMLHttpRequest();
	}
	else
	{
	  if (window.ActiveXObject) {
	     // ...otherwise, use the ActiveX control for IE5.x and IE6.
	     rqo = new ActiveXObject('MSXML2.XMLHTTP.3.0');
	  }
	}
	// ---
	
	rqo.open('GET',qry,false);
	rqo.send(null);
	
	//	rqo.onreadystatechange=function() {
		
		//alert('test state='+rqo.readyState+' stat='+rqo.status);
		//if (rqo.readyState==4 && rqo.status == 200) {
			searchprocess(rqo.responseText);
		//}
	//}
}

function searchprocess(response)
{
	var searchv = document.getElementsByName('searchhelper')[0];
	
//	rqo.send(null);
//	var response = rqo.responseText;

	data = response.split("\n");	

	if(1)
	{
		for (var x = searchv.length; x >-1 ; x--)
		{
			if (searchv[x])
			{
				searchv[x].text='';
				searchv[x].value='';
				searchv[x] = null;
			}
		}
		searchv.length=0;
	}


	var ndata;
	var txt;
	var wlen;

	if (data.length>0)
	{
		for(var i = 0; i < data.length-1; i++)
		{
			wlen=data[i].length;
			if (wlen>5)
			{
				ndata=data[i].substr(wlen-10,10);
				txt=data[i].substr(0, wlen-10);
			}
			searchv[i] = new Option(txt,""+ndata);
		}
	}
	searchdata=data.length;

}


var cl_mutex=0;

function handleSearchSelectClick()
{
	if(cl_mutex)
		return;
	cl_mutex=1;

	var searcho = document.getElementsByName('search')[0];
	var searchv = document.getElementsByName('searchhelper')[0];
	var sv = searchv.options[searchv.selectedIndex].text;
	sv = sv.replace(/_/g, '-') ;
	searcho.value=sv;
	
	handleSearchClick();
	var svv = searchv.options[searchv.selectedIndex].value;
	var slen=svv.length;
	if (slen==10)
	{
		var stateid=svv.substr(slen-10,5);
		var cityid=svv.substr(slen-5,5);
		// need to cause browser to go to proper location
		
		if (dynasearchtable != '')
		{
			var table=dynasearchtable;
			var id=stateid;
			document.location=http+root+'hmlib/admin?t='+table+'&id='+id;
		}
		else
		{
			document.location=http+root+hmlib+'redirect?city='+cityid+'&state='+stateid;
		}
	}
	cl_mutex=0;
}

var searchtoggle=0;

function handleSearchClick()
{
	switch(searchtoggle)
	{
		case 0:
		searchtoggle=1;
		show_searchhelperwin();
		break;
		default:
		searchtoggle=0;
		hide_searchhelperwin();
	}
}


function show_searchhelperwin() 
{
	setdisplay('searchhelperwin','block');
}
function hide_searchhelperwin() 
{
	setdisplay('searchhelperwin','none');
}
function setdisplay(name,w)
{
	var o;
	if ((o=document.getElementById(name)))
		o.style.display = w;
}


// ------------- Used by dropdown state list

function copysp()
{
	var s1=document.getElementsByName('search')[0];
	var s2 = document.getElementsByName('sdropdown')[0];
	var sv = s2.options[s2.selectedIndex].value;
	s1.value=sv;
	s1.focus();
}

function gostate(st)
{
	var st2=st.toLowerCase();
	var t=http+root+hmlib+'redirect?city=-1&state2='+st2;
	document.location=t;
	//document.location=http+root+'area/'+st.toLowerCase()+'/?select=city';
}

function splashcities(st)
{
	var searcho = document.getElementsByName('search')[0];
	searcho.value=st;
	handleSearchKeyUp(); 
	if(searchdata)
		show_searchhelperwin(); 
}


function selected_cached(q)
{
	var e;
	var lc = q.toLowerCase();
	try {
		if ( scache[lc] )
		{
			var d=unescape(scache[lc]);
			d.replace(/\+/," ");
			searchprocess();
			return 1;
		}
	}
	catch(e)
	{
		;
	}
	return 0;
}