function isMaxLength(obj)
{
	var mlength = obj.getAttribute ? parseInt(obj.getAttribute("maxlength")) : "";
	if (obj.getAttribute && obj.value.length > mlength)
		obj.value = obj.value.substring(0, mlength);
}

function getSelectedIndex(selectobj, val)
{
	var opts = selectobj.options;
	for (var i=0; i<opts.length; i++)
	{
		if (opts[i].value == val) return i;
	}
	return null;		
}

function setRadioValue(radioObj, newValue) {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}

// if the currently selected option for "obj" is "Other", show "otherobj"
// else hide "otherobj"
function showHideOtherObj(obj, otherobj)
{
	if (obj.options[obj.selectedIndex].value == "Another Source") otherobj.style.visibility = "visible";
	else otherobj.style.visibility = "hidden";
}
						  
function getFormVars(obj) {
	var getstr = "?";
	for (i=0; i<obj.elements.length; i++) {
		if (obj.elements[i].tagName == "INPUT") {
			if (obj.elements[i].type == "text") {
				getstr += obj.elements[i].name + "=" + obj.elements[i].value + "&";
			}
			if (obj.elements[i].type == "checkbox") {
				if (obj.elements[i].checked) {
					getstr += obj.elements[i].name + "=" + obj.elements[i].value + "&";
				} else {
					getstr += obj.elements[i].name + "=&";
				}
			}
			if (obj.elements[i].type == "radio") {
				if (obj.elements[i].checked) {
					getstr += obj.elements[i].name + "=" + obj.elements[i].value + "&";
				}
			}
		}   
		if (obj.elements[i].tagName == "SELECT") {
			var sel = obj.elements[i];
			getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
		}
	}
	makeRequest('get.php', getstr, getFormVarsStateChanged);
}

function getFormVarsStateChanged() {
	if (xmlHttp.readyState == 4)
	{
		document.getElementById("formvars").innerHTML = xmlHttp.responseText;
	}
}

var numAuthors = 1;
function addAuthor()
{
	var url = "addauthor.php";
	var parameters = "i=" + numAuthors + "&sid=" + Math.random();
	makeRequest(url, parameters, addAuthorStateChanged);
}

function addAuthorStateChanged() 
{ 
	if (xmlHttp.readyState == 4)
	{
		numAuthors++;
		document.getElementById("authors").innerHTML = xmlHttp.responseText;
	}
}

var xmlHttp;
function makeRequest(url, parameters, retfunc) {
	xmlHttp = GetXmlHttpObject();
	if (xmlHttp == null)
	{
		alert ("Your browser does not support AJAX!");
		return;
	}
	xmlHttp.onreadystatechange = retfunc;
	xmlHttp.open("GET", url + parameters, true);
	xmlHttp.send(null);
}

function GetXmlHttpObject()
{
	var xmlHttp = null;
	try
  {
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
  }
	catch (e)
  {
		// Internet Explorer
		try
    {
	    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
	  catch (e)
    {
  	  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
	return xmlHttp;
}
