window.addEvent('domready',function(){
	
	var in_fb = inFB();	
	
	if($('faq_search') && $('faq_search_results')){
		
		var timer = false;
		var q = false;
		var pg = false;
		var c = false;
		var minLen = 3;
		var defText = 'Start typing what you searching for...';
		var xhr_faq = '/_xhr/faq.search/';
		
		$('faq_search_results').set({'styles': {'display':'none'}});
		
		$('faq_search').addEvent('focus', function(){
			if($('faq_search').get('value') == defText){
				$('faq_search').set('value','');	
			}
		});
		$('faq_search').addEvent('blur', function(){
			if($('faq_search').get('value') == ''){
				$('faq_search').set('value',defText);
				$('faq_search_results').empty().removeClass('ajax_load').set({'styles': {'display':'none'}});
			}
		});
		$('faq_search').addEvent('keyup', function(e){
			e.stop();
			if($('faq_search').get('value').length >= minLen){
				
				var q = $('faq_search').get('value');
				
				if(timer){
					$clear(timer);
				}
				timer = (function(){
					var req = new Request.HTML({url:xhr_faq,method:'post',
						onRequest: function(){
							$('faq_search_results').empty().addClass('ajax_load').set({'styles': {'display':'block'}});
						},
						onSuccess: function(h,el,hh){
							$('faq_search_results').empty().removeClass('ajax_load').set('html',hh);
						},
						onFailure: function(){
							$('faq_search_results').empty().addClass('ajax_load').set({'styles': {'display':'block'}});	
						}
					}).send('q='+q+'&pg='+pg+'&c='+c+'&fb='+in_fb);
				}).delay(1000, this);
			}
		}.bind(this));
	}
});

function inFB(){
	if(strstr(document.location,'_facebook_b',1)){
		return 2;	
	}
	if(strstr(document.location,'_facebook',1)){
		return 1;	
	}	
	return 0;
}

function strstr (haystack, needle, bool) {
    var pos = 0;
    
    haystack += '';
    pos = haystack.indexOf( needle );
    if (pos == -1) {
        return false;
    } else{
        if (bool){
            return haystack.substr( 0, pos );
        } else{
            return haystack.slice( pos );
        }
    }
}