/*-------------------------------------------------------------------------------------------------------------
EVENT SEARCH PARAMETRES CLASS -- roopesh
-------------------------------------------------------------------------------------------------------------*/

function arrowKeySelectClass( sTextBox, sOptionListID, obj, sExtraData ) {
	
	var oArrObj = new Object();
	oArrObj.currentSelection = 0;
	oArrObj.currentUrl = false;
	oArrObj.sOptionListID = false;
	oArrObj.sTextBox = false;

	oArrObj.construct = function() {
		oArrObj.sOptionListID = sOptionListID
		this.addEvent(document.getElementById(sTextBox), 'keydown', function(event) {
			switch(event.keyCode) { 
			// User pressed "up" arrow
				case 38:
					oArrObj.navigate('up');
				break;
			// User pressed "down" arrow
				case 40:
		            oArrObj.navigate('down');
				break;
		    // User pressed "enter"
				case 13:
				 
				if(oArrObj.currentUrl != '') {
					if(userSelect == false) {
						var one = $("#"+oArrObj.sOptionListID).eq(oArrObj.currentUrl).attr('id');
						var ids = $("#"+one +" div").attr("id");
						$("#"+ids).click();
					}
				}
	         break;
			 default:
				 userSelect = true;
				 break;
			}
	  	// Add data to let the hover know which index they have
			for(var i = 0; i < $("#"+oArrObj.sOptionListID).size(); i++) {
				$("#"+oArrObj.sOptionListID).eq(i).data("number", i);
			}
			// Simulote the "hover" effect with the mouse
			$("#"+oArrObj.sOptionListID).hover(function(){
				oArrObj.currentSelection = $(this).data("number");
				oArrObj.setSelected(oArrObj.currentSelection);
			},function(){
				$("#"+this.sOptionListID).removeClass("Dffbg");
				oArrObj.currentUrl = '';
			});

		});
 
	}


	oArrObj.addEvent = function (  obj, type, fn )  {
		if ( obj.attachEvent ) {
		obj['e'+type+fn] = fn;
		obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
		obj.attachEvent( 'on'+type, obj[type+fn] );
		} else
		obj.addEventListener( type, fn, false );
	}

	oArrObj.navigate = function(direction) {
	   // Check if any of the menu items is selected
	   
	   if(obj.style.display == '') {

		   if(obj.id != 'es_when_options')
		   {userSelect = false;}
		   if($("#"+this.sOptionListID+".Dffbg").size() == 0) {
			  oArrObj.currentSelection = -1;
			}
		   
		   if(direction == 'up' && this.currentSelection != -1) {
			  if(oArrObj.currentSelection != 0) {
				 oArrObj.currentSelection--;
			  }
		   } else if (direction == 'down') {
			  if(oArrObj.currentSelection != $("#"+oArrObj.sOptionListID).size() -1) {
				 oArrObj.currentSelection++;
			  }
		   }
	   }
	   oArrObj.setSelected(oArrObj.currentSelection);
	};

	oArrObj.setSelected = function(menuitem) {
		
		$("#"+this.sOptionListID).removeClass("Dffbg");
		$("#"+this.sOptionListID).eq(menuitem).addClass("Dffbg");
		oArrObj.currentUrl = menuitem;
	}


	
	return oArrObj;
}

function removeEvent(  obj, type, fn )  {
  if ( obj.detachEvent ) {
	obj.detachEvent( 'on'+type, obj[type+fn] );
	obj[type+fn] = null;
  } else
	obj.removeEventListener( type, fn, false );
}


function blurScript() {
	userSelect = true;
	gid('es_where').value='';
}


function searchHomeESWhere ()
{
	var sSearch = gid('es_where').value;
	//gid('es_where_search').style.display = 'none';
	hidePopUp(3);
	/*if(gid('es_where_search').style.display == '') {
		loadingStart('es_where_search_results');
	}*/
	document.getElementById('es_where_options').style.display ="none";
	if ( !/[^\s\t]/.test(sSearch) ) {return false;}
	var obj = gid('es_where_search');
		obj.onmouseup = function () 
		{ 
			var oEvent = arguments[0];
			oEvent.cancelBubble = true;
			oEvent.stopPropagation();
		};
		var aPosition = getLeftTop( gid('es_where_search_button') );
		aPosition[0] -= 222;
		aPosition[1] += 25;

	//obj.style.display = obj.style.display=='none' ? '' : '';

	obj.style.left = aPosition[0] + 'px';
	obj.style.top  = aPosition[1] + 'px';

	
	var url = 'ajax_events_list_city.php?search=' + sSearch + '&page=home&rnd=' + getRandom();
	
	
	var request = GetXmlHttpObject();
	var func = function ()
	{
		var val = request.responseText;
		if (/^[0-9]*$/.test(val)) {
			oESWhere.value= request.responseText;
			userSelect = false;
			searchEvent();
		} else {
			gid('es_where_search_results').innerHTML = request.responseText;
			hoverFunctionpop();
			gid('es_where_search').style.display = '';
			var oSearchArrow = arrowKeySelectClass('es_where', 'es_where_search ul.FrMover1 li', gid('es_where_search'));
			oSearchArrow.construct();

		}
	};
	
	request.onreadystatechange = function() { onRSC(request,func); };
	request.open( "GET", url, true );
	request.send( null );
}

function blurThis(obj, text) {
	if(obj.value == text) {
		obj.value = '';
	}
}

function closeAllPopups() {
	gid('es_when_options').style.display='none';
	gid('es_where_options').style.display='none';
	gid('es_where_search').style.display='none';
	oCalendarPopup.hide();
}
