

function searchListeners() {
    
    var event = YAHOO.util.Event;
    var dom   = YAHOO.util.Dom;    
    
    var searchField = dom.get('searchFormText');    
    var buttonField = dom.get('searchFormButton');

    function isEmpty(msg) {

    	if (msg.length === 0)
    		return true;

    	for (var i=0; i < msg.length; i++) {
    		if (msg.substring(i,i+1) != ' ') {
    		  return false;
            }
    	}

    	return true;
    }

    function doSearch() {
        
        var query = searchField.value.replace();
        
        while (query.indexOf('\/') != -1)
            query = query.replace('\/','');
        
        if (!isEmpty(query) && query != searchField.title) {
            document.location.href = 'http://blog.shinyfrog.net/search/'+query+'/'; 
        }
        
    }

    function hidePlaceHolder() {
        _hidePlaceHolder(this);
    }
    
    function _hidePlaceHolder(element) {
        if (element.value.toLowerCase() == element.title.toLowerCase()) {
            element.value = '';
            dom.setStyle(element, 'color', '#333');
        }
    }

    function setPlaceHolder() {
        _setPlaceHolder(this);
    }
    
    function _setPlaceHolder(element) {
        if (isEmpty(element.value) || element.value.toLowerCase() == element.title.toLowerCase()) {
            element.value = element.title;
            dom.setStyle(element, 'color', '#ACB9B5');
        } else {
            dom.setStyle(element, 'color', '#333');
        }
    }
    
    event.addListener(searchField, 'focus', hidePlaceHolder);
    event.addListener(searchField, 'blur' , setPlaceHolder);    
    
    event.addListener(buttonField, 'click', doSearch);
    
    var kl = new YAHOO.util.KeyListener(searchField, { keys:13 }, {fn:doSearch} );
    kl.enable();
    
    _setPlaceHolder(searchField);
    
}