/*
** Webstudio Blog Kit Library (Base on JQuery)
** Author: Molay
** Version: 0.0.1
** Modified: 2010-01-26
** Copyright: WebStudio, Inc.
** URL: http://www.cn-wbst.cn/		Phone: +86(010)59070059
*/
if( typeof wsblogkit == "undefined" ) var wsblogkit = new Object();
if( typeof wsblogkit.ui == "undefined" ) wsblogkit.ui = new Object();
//alert(eval('wsblogkit.ui'));

/* The Search Bar*/
wsblogkit.ui.Searcher = function ( target, callback, defaultTips, style )
{
	var isDefaultMode = false;
	var keywords = '';
	
	var callbackTest = function (c)
	{
		alert(c);
	}
	
	var _target = $( '#' + target );
	var _callback = callback ? callback : callbackTest;
	var _defaultTips = defaultTips ? defaultTips : 'Searching...';
	var _style = style ? style : { blur:'searcherBlur', focus:'searcherFocus' };
	
	
	_target.hide();
	/*var _interval;
	var _text;
	function clearTextExec()
	{
		var str = _target.val();
		str = str.slice( 0, str.length - 2 );
		_target.val( str );
		if ( str.length < 1 )
		{
			clearInterval( _interval );
		}
	}
	function fillText(c)
	{
		_text = c;
		clearInterval( _interval );
		extractKeywords();
		_interval = setInterval( clearTextExec, 30 );
	}*/
	function extractKeywords()
	{
		keywords = $.trim( _target.val() );
		keywords = keywords.replace(/ +/g, ' ');
		_target.val( keywords );
	}
	function blurHandler ()
	{
		extractKeywords();
		
		if ( keywords == '' )
		{
			isDefaultMode = true;
			_target.val( _defaultTips );
			_target.toggleClass( _style.blur, true );
			_target.toggleClass( _style.focus, false );
			//_target.css( 'color', '#999999' ); 
		}
		
	}
	function focusHandler()
	{
		if ( isDefaultMode )
		{
			isDefaultMode = false;
			//fillText(1);
			_target.val( '' );
			_target.toggleClass( _style.blur, false );
			_target.toggleClass( _style.focus, true );
			//_target.css( 'color', '#FFF600' ); 
		}
	}
	function keyupHandler(event)
	{
		if ( event.keyCode == 13 )
		{
			extractKeywords();
			if ( keywords != '' )
			{
				_callback(keywords);
			}
		}
	}
	_target.blur(blurHandler);
	_target.focus(focusHandler);
	_target.keyup(keyupHandler);
	_target.val( '' );
	_target.blur();
	
	_target.show('slow');
}