var currentTab = "All";

window.dhtmlHistory.create({
	toJSON: function(o) {
			return Object.toJSON(o);
	}
	, fromJSON: function(s) {
			return s.evalJSON();
	}
	
	, blankURL: '/js/blank.html?'

});

var yourListener = function(newLocation, historyData) {
		//alert("newLocation: " + newLocation + ", historyData: " + historyData);
		if (newLocation == "" && historyData == null) {
			loadpage("",false,true);
		} else {
			loadpage(historyData,false,true);
		}
}

window.onload = function() {
	dhtmlHistory.initialize();
	dhtmlHistory.addListener(yourListener);
};

function clearIt(obj) {
	if (obj.value == strcap(obj.name)) { obj.value = "";}
}


function refreshIt(obj) {
	if (obj.value == "") { obj.value = strcap(obj.name); }
}

function checkform() {
	var form = $("mainform");
	var buttons = form.getInputs("text");
	
	var empty = 0;
	var vars = "";
	buttons.each(function(item) {
		if ( $F(item) == strcap( $(item).name ) ) { 
			$(item).clear();
			empty++;
		} else {
			vars += "&" + $(item).name + "=" + $F(item);
		}
	});
	
	if (empty >= 4) {
		buttons.each(function(item) {
			$(item).value = strcap($(item).name);
		});
		
		alert("You must enter some info")
	} else {
		var query = "searchType=1" + vars;
		loadpage(query);
	}
	
	return false;
}

function loadpage(urlvars, updateTab, removeHistory) {
	$("holder").addClassName("transparent");
	$("home").addClassName("transparent");
	$("loading").show();
	url = "textbooksearch?" + urlvars;
	
	new Ajax.Updater("holder", url, {
		onSuccess: function () {
			$("holder").removeClassName("transparent");
			$("home").removeClassName("transparent");
			$("loading").hide();
			
			if (urlvars != "") {
				$("home").hide();
			} else {											//if reloading home page
				var form = $("mainform");
				var buttons = form.getInputs("text");
				
				buttons.each(function(item) {
					if ( $F(item) == "" ) { 
						$(item).value = strcap( $(item).name );
					}
				});
				
				$("home").show();
			}
		},
		
		onComplete: function()  {
			if (updateTab == "true") {
				loadtab("" + currentTab);
			}
			
			if (!removeHistory) {
				dhtmlHistory.add(urlvars, urlvars);
			}
		},
		evalScripts: true
	});
}

function loadtab(foo) {
	currentTab = foo;
	
	//update tab classes
	$("navlist").getElementsBySelector("a").invoke("removeClassName", "current");
	$(foo).addClassName("current");
	
	//hide all but current tab's div
	$("tabholder").childElements().invoke('hide');
	$(foo+'div').show();
}


function checksearchbar() {
	if ($F("searchInput") != "Title, Author, Keywords, or ISBN") {
		loadpage("searchType=2&searchOption=" + $F("searchOption") + "&searchInput=" + $F("searchInput"));
	}
	return false;
}

function sortTable(urlvars, col) {
	var h = $H( urlvars.toQueryParams() );
	h.update( { sort: col });
	loadpage(h.toQueryString(), "true");
	return false;
}

function strcap(strObj){
	return(strObj.charAt(0).toUpperCase()+strObj.substr(1));
}
