if(!window.console){ window.console = {log:function(){}}; }
if(typeof window.sat == 'undefined') window.sat = {};
var $sat_j = $;


//sat non-jQuery helper lib
window.nym = {
    hasClass: function(elem,c){ return !(elem.className.match(new RegExp('\\b'+c+'\\b')) == null); },
    addClass: function(elem,c){ if(!nym.hasClass(elem,c)) elem.className = elem.className + " " + c; },
    removeClass: function(elem,c){ elem.className = elem.className.replace(new RegExp('\\b'+c+'\\b'),""); },
    trim: function(s) { return s.replace(/^[ \t\n]+|[ \t\n]+$/,""); },
    convertToArray: function(obj,classNames){
        var arr = new Array();
        if(classNames) classNames = classNames.split(" ");
        for(i=0; i<obj.length; i++){
            if(typeof classNames == "object"){
                for(j=0;j<classNames.length;j++)
                    if(classNames[j] != "" && obj[i].className && obj[i].className.match(new RegExp('\\b'+classNames[j]+'\\b'))){ arr.push(obj[i]); break; }
            } else {
                arr.push(obj[i]);
            }
        }
        return arr;
    },
    extend: function(s,o){
        for(n in o){
            if(o[n] !== undefined )
                s[n] = o[n]
        }
        return s;
    },
    serialize: function(elem) {
        var inputs = nym.convertToArray(elem.getElementsByTagName("input"));
        var rVal="";
        for(var i=0; i<inputs.length; i++){
            if(inputs[i].getAttribute("type") != "image" && inputs[i].getAttribute("type") != "submit"){
                if(i!=0) rVal += "&";
                rVal += inputs[i].name + "=" + inputs[i].value.replace(/ /g,"+");
            }
        }
        return rVal;
    },
    loadAJAX: function(url,elem,callback){
    	var AJAX;
     	try {  
      		AJAX = new XMLHttpRequest(); 
     	} catch(e) {  
      		try {    
       			AJAX = new ActiveXObject("Msxml2.XMLHTTP");    
      		} catch(e) {    
       			try {
        			AJAX = new ActiveXObject("Microsoft.XMLHTTP");      
       			} catch(e) {      
        			return false;      
       			}    
      		}  
     	}

     	AJAX.onreadystatechange = function() {
      		if(AJAX.readyState == 4) {
       			if(AJAX.status == 200) {
        			elem.innerHTML = AJAX.responseText;

					if(callback){
						callback();
						return false;
					}

    			} else {
       			}
      		}  
     	}
     	AJAX.open("get", url, true);
     	AJAX.send(null);
    },
    origValidate: function(elem, o){
        o = nym.extend({
            form: null,
            errorMsg: false,
            origText: true,
            searchText: null,
            onSubmit: null,
            onError: null
        }, o || {});

        if(!elem) return;
        if(!o.searchText) o.searchText=elem.value;
        if (o.form) {
            o.form.onsubmit = function () {
                if ((elem.value != o.searchText) && (o.errorMsg ? (elem.value != o.errorMsg) : true)) {
                    if (typeof o.onSubmit == "function") {
                        return o.onSubmit.call(elem, elem.form);
                    } else {
                        return true;
                    }
                } else {
                    if (typeof o.onError == "function") {
                        var msg = o.errorMsg ? o.errorMsg : "";
                        o.onError.call(this, elem, msg);
                    } else if (o.errorMsg) {
                        nym.addClass(elem,"error");
                        elem.value = o.errorMsg;
                    }
                    return false;
                }
            };
        }
        if (o.origText) {
            elem.onfocus = function () {
                elem.value = ((elem.value == o.searchText) || (elem.value == o.errorMsg)) ? '' : elem.value;
                if (o.errorMsg) nym.removeClass(elem,"error");
            };
            elem.onblur = function () {
                elem.value = (elem.value == '') ? o.searchText : elem.value;
            };
            elem.value = o.searchText;
        }
    }
}
		

	
	

			
			




window.sat.search = {
	set: function(){
		var txtSearch = document.getElementById("txt-sat-search");
		txtSearch.setAttribute("autocomplete","off");
		nym.origValidate(txtSearch,{"form":document.getElementById("sat-search"),"errorMsg":"Search"});
		this.setDropdown();
	},
	setDropdown: function(){
	    if(jQuery && !this.dropdown){
	        var s = this;
	        
		    $("#sat-search").hover(
		        function(){ clearTimeout(s.searchTimer); },
    			function(){ s.searchTimer = setTimeout("window.sat.search.hideSearch()",500); }
    		);
		    
		    var i = $("#search-scope").css("height","auto").children().hide().find("input:radio").focus(function(){ $("#txt-sat-search").focus }); 
		    $("#txt-sat-search").focus(function(e){
    			this.click();
    		}).click(function(e){
    			nym.addClass(document.getElementById("sat-search"),"focus");
    			$("#search-scope").children().slideDown(100);
    		}).keydown(function(e){
    			var key = e.keyCode;
    			if(e.keyCode == 40){
    				s.curr_radio = (s.curr_radio == i.length-1) ? 0 : s.curr_radio+1;
    				i[s.curr_radio].click().focus();
    			} else if(e.keyCode == 38) {
    				s.curr_radio = (s.curr_radio == 0) ? i.length-1 : s.curr_radio-1;
    				i[s.curr_radio].click().focus();
    			}
    		});
    		this.dropdown = true;
		}
	},
	hideSearch: function(){
	    $("#search-scope").children().slideUp(400,function(){ $("#sat-search").removeClass("focus"); });
	},
	searchTimer: "",
	curr_radio: 0,
	dropdown: false
}


/*-  Sitewide Search Widget Script (for site navigation 2008)
----------------------------------------------------------------------*/
function swapSearchType( widget_name, post_type ) {
    var searchWidget = document.getElementById( widget_name );
    
    if (post_type == 'all') {
        searchWidget.action = "/search.php";
        searchWidget.post_type.value = 'all';
    }

    
    if (post_type == 'blogs') {
        searchWidget.action = "/";
        searchWidget.post_type.value = 'blogs';    }
       
}

function swapSearchTop( post_type ) {
    swapSearchType( 'sat-search', post_type );
}

function swapSearchBottom( post_type ) {
    swapSearchType( 'sitewide-bottom-widget-form', post_type );
}
