var loading = '<div class="message"><span><div class="progress"></div>Loading... <a href="#" onclick="closeFullView();">[cancel]</a></span></div>';

function show(id) {
	if (document.getElementById(id))
		document.getElementById(id).style.display = "block";
}

function hide(id) {
	if (document.getElementById(id))
		document.getElementById(id).style.display = "none";
}

function addToField(v, id) {
	var field = document.getElementById(id);
	field.focus();
	//alert("adding " + v + " to " + id + " index: " + field.value.indexOf(v));
	if (field.value.indexOf(v) == -1) {
		if (field.value.length > 0 && field.value.substring(field.value.length-1) != ",") {
			field.value += ",";
		}
		field.value += v;
	}
}

function db(s) {
	document.getElementById("db").innerHTML = document.getElementById("db").innerHTML + "<br/>" + s;	
}

function getBgColor(id) {
	var req = "action=bgColor&id=" + id;
	
	var xmlHTTP = new XMLHttpRequest();
	xmlHTTP.open("POST", "/ajax.php", true);
	
	sendPostReq(xmlHTTP, req);
	
	xmlHTTP.onreadystatechange = function(){
		if (xmlHTTP.readyState == 4) {
			var str = xmlHTTP.responseText;
		}
	};
}


function showFullView(id) {
	if (id != "") {
		var req = "action=fullView&id=" + id;
	
		
		var xmlHTTP = new XMLHttpRequest();
		xmlHTTP.open("POST", "/ajax.php", true);
		
		sendPostReq(xmlHTTP, req);
		
		// Create our container and make it the right height
		document.getElementById("fullViewContainer").innerHTML = "<div id=\"fullView\"><div id=\"fullViewContent\" style=\"display: none;\"></div></div>";
		expandFullView();
		
		// Show the loading message
		document.getElementById("loader").innerHTML = loading;
		Effect.Appear("loader", { duration: 0.3 });
	
		// Actually show the tinted container
		
		
		xmlHTTP.onreadystatechange = function(){
			if (xmlHTTP.readyState == 4) {
				// Close loading message
				Effect.Fade("loader", { duration: 0.3 });
				
				// Insert retrieved content into div
				document.getElementById("fullViewContent").innerHTML = xmlHTTP.responseText;
				setOpacities();
				
				// Fade in the content
				Effect.Appear("fullViewContainer", { duration: 0.3 });
				Effect.Appear("fullViewContent", { duration: 0.3 });

				return true;	
			}
		};
	}
	else {
		Effect.Appear("fullView", { duration: 0.3 });
		expandFullView();
	}
}

function expandFullView() {
	if (document.body.clientHeight > 0)
		document.getElementById("fullView").style.minHeight = document.body.clientHeight + "px";
	else if (window.innerHeight > 0)
		document.getElementById("fullView").style.minHeight = window.innerHeight + "px";
	else
		document.getElementById("fullView").style.minHeight = document.documentElement.clientHeight + "px";	
}

function closeFullView() {
	Effect.Fade("fullView", { duration: 0.3 });
	return true;	
}

function sendPostReq(xmlHTTP, req) {
	xmlHTTP.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHTTP.setRequestHeader("Content-length", req.length);
	xmlHTTP.setRequestHeader("Connection", "close");
	xmlHTTP.send(req);	
}

var defaultSearchMsg = "Search...";

function resetSearch(id) {
	if (document.getElementById(id).value.length == 0) {
		document.getElementById(id).className = document.getElementById(id).className + " prefilled";
		document.getElementById(id).value = defaultSearchMsg;
	}
}

function clearSearch(id) {
	if (document.getElementById(id).value == defaultSearchMsg) {
		document.getElementById(id).value = "";
		document.getElementById(id).className = document.getElementById(id).className.replace(/prefilled/, '');
	}
}