var srchIsOpen = false
var pnl 	/*PANEL*/
var sBox 	/*TEXTLABEL*/
var resBox	/*DIV QUE MUESTRA RESULTADOS*/
/**/
var posTop	= 0
var posLeft = 0
/**/
var marginOut = 50;
var miYOutMax = 0
var miXOutMax = 0
var miXOutMin = 0
var miYOutMin = 0
/**/
var txtDefVal = 'Buscar'
var resultHTML
var ultBusq
var UrlResult
/**/
var testCant = 0
var anim = true
var valid = false
/**********************************************/	
function manageResults(srchStr){
	//SI LA BUSQUEDA ES DISTINTA A LA ANTERIOR
	if (srchStr != ultBusq){
		closePanelSrch(true);
		if (srchStr.length > 1){
			valid = true
			ultBusq = srchStr;
			//
			$.timer(600, function (timer) {
				timer.stop();		
				if (srchStr == ultBusq){
					if (valid){
						disparaSearch(srchStr);
					}else{
						closePanelSrch(true);
					}
				}
			});
		}else{
			valid = false
		}
	}
}
/**********************************************/
function disparaSearch(srchStr){
	//
	/*TESTING!!!! > PONER EN FALSE CUANDO ESTÉ PRODUCTIVO*/
	if (false){
		testCant++
		if (testCant/2 == Math.round(testCant/2)){
			UrlResult = "tmp/resul2.html"
		}else{
			UrlResult = "tmp/resul1.html"
		}
	}else{
		//************************************//
		//SETEAR ACA EL ASP CON EL PARÁMETRO!!!!
		//************************************//
		var srchStrOld = srchStr
		srchStr = srchStr.replace(' ', '%20');
		UrlResult = "searchengine.asp?param=" + srchStr
		//************************************//
	}
	//
	/*LOAD*/
	if (true){
		if (valid){
			ultBusq = srchStr
			$(resBox).load(UrlResult, function() { openPanelSrch() /*UNA VEZ QUE CARGÓ*/ });
		}else{
			closePanelSrch(true);
		}
	}else{
		if (valid && $(sBox).val() == srchStrOld){
			openPanelSrch()
		}else{
			closePanelSrch(true);
		}
	}
}
/**********************************************/
function openPanelSrch(){
	if (!srchIsOpen){
		/*POSITION*/
		$(pnl).css ('top', posTop);
		$(pnl).css ('left', posLeft);
		/**/
		if ($(pnl).height() != 290){
			if (anim){
				$(pnl).animate ({height: ('290')})
			}else{
				$(pnl).css ('height', '290px');
			}
		}
		/**/
		$.timer(50, function (timer2) {
			srchIsOpen = true;
			timer2.stop();								   
			$('body').bind('mousemove', detectOut);
			$('.searchBox_scroll').jScrollPane({showArrows:true});
		});
	}
}
/**********************************************/	
function detectOut(e){
	if (srchIsOpen){
		miY = e.pageY;
		miX = e.pageX;
		if (miY > miYOutMax || miX > miXOutMax || miY < miXOutMin || miX < miYOutMin ){ closePanelSrch() }
	}
}
/**********************************************/	
function closePanelSrch(noblr){
	if (srchIsOpen){
		$('body').unbind('mousemove', detectOut);
		$(pnl).css ('top', '-1500px');
		/**/
		if (anim){
			$(pnl).css ('height', '10px');
		}
		/**/
		if (noblr != true){
			$(sBox).blur()
		}
		srchIsOpen = false;
		ultBusq = '';
	}
}
/**********************************************/						   
//ON READY
/**********************************************/	
$(document).ready(function(){
	//SI NO HAY BUSCADOR SALE!						   
	if ($(sBox).width() == 0){
		return;	
	}
	/*SETEA VARIABLES********************/
	pnl = $('.JSsrchPanel');
	sBox = $('.JSPanelSearchBox');
	resBox = $('.srchPanelResult');
	/**/
	posTop = 1 + $(sBox).offset().top + $(sBox).height();
	posLeft = $(sBox).offset().left + $(sBox).width();
	posLeft = posLeft - $(pnl).parent().offset().left;
	posLeft = posLeft - $(pnl).width();
	/**/
	miYOutMax = posTop +  290 + marginOut + 10
	miXOutMax = posLeft + $(pnl).width() + $('.templateBox').offset().left + marginOut
	miXOutMin = $(sBox).offset().top - marginOut
	miYOutMin = posLeft +  $('.templateBox').offset().left - marginOut
	/*END SETEA VARIABLES****************/
	/**/
	/**/
	/*EVENTOS********************/
	$(sBox).focus(function() {
		if ($(sBox).val() == txtDefVal)$(sBox).val('');
		if (!true) manageResults($(sBox).val());
	});
	$(sBox).bind("change keyup", function() {
		manageResults($(sBox).val())
    });
	/*END EVENTOS********************/
});		