var content

function search (domain,str) {
	var name = document.getElementById(str).value

	rosterLookup(domain,name,'unknown')
}
function open_win(url)
{
	window.open(url,"_blank","toolbar=no, location=no, directories=no, status=no, menubar=yes, scrollbars=no, resizable=yes, copyhistory=yes, width=900, height=900");
}
function find(str) {
    
    content=GetXmlHttpObject()

    if (content==null) {
        window.location="http://www.nexusbio.org/chongun/scripts/find.php?ajax=false&find="+str
        return
    } 
    var url="http://www.nexusbio.org/chongun/scripts/find.php"
    
    var url_content=url+"?ajax=true&sect=content&find="+str
    content.onreadystatechange=contentstateChanged
    content.open("GET",url_content,true)
    content.send(null)

}

function statQuery() {
    content=GetXmlHttpObject()
    var query = document.getElementById('statQuery').value

    if (content==null) {
        window.location="http://www.nexusbio.org/chongun/scripts/statQuery.php?ajax=false&query="+query
        return
    } 
    var url="http://www.nexusbio.org/chongun/scripts/statQuery.php"
    
    var url_content=url+"?ajax=true&query="+query
    content.onreadystatechange=querystateChanged
    content.open("GET",url_content,true)
    content.send(null)
}

// function rosterLookup(name,status) {
//     content=GetXmlHttpObject()
// 
//     if (content==null) {
//         window.location="http://www.nexusbio.org/chongun/scripts/rosterLookup.php?ajax=false&name="+name+"&status="+status;
//         return
//     } 
//     var url="http://www.nexusbio.org/chongun/scripts/rosterLookup.php"
//     
//     var url_content=url+"?ajax=true&name="+name+"&status="+status;
//     content.onreadystatechange=contentstateChanged
//     content.open("GET",url_content,true)
//     content.send(null)
// }

function rosterLookup(domain,name,status) {
	content=GetXmlHttpObject()
	
	var url=domain+"/scripts/rosterLookup.php";
	
	if (content==null) {
		window.location=url+"?ajax=false&name="+name+"&status="+status;
		return
	} 
	
	var url_content=url+"?ajax=true&name="+name+"&status="+status;
	content.onreadystatechange=function(){rosterstateChanged2("profileView")}
	content.open("GET",url_content,true)
	content.send(null)
	
	document.getElementById("profileView").style.visibility="visible"
}

function rosterFocus(str,images) {
    content=GetXmlHttpObject()

    if (content==null) {
        window.location="http://www.nexusbio.org/chongun/scripts/rosterFocus.php?ajax=false&rank="+str+"&images="+images
        return
    } 
    var url="http://www.nexusbio.org/chongun/scripts/rosterFocus.php"
    
    var url_content=url+"?ajax=true&rank="+str+"&images="+images
    content.onreadystatechange=contentstateChanged
    content.open("GET",url_content,true)
    content.send(null)
}

function rosterImageUpdate(str,images) {
    content=GetXmlHttpObject()

    if (content==null) {
        window.location="http://www.nexusbio.org/chongun/scripts/rosterFocus.php?ajax=false&rank="+str+"&images="+images
        return
    } 
    var url="http://www.nexusbio.org/chongun/scripts/rosterFocus.php"
    
    var url_content=url+"?ajax=true&rank="+str+"&images="+images
    content.onreadystatechange=function(){rosterstateChanged(str)}
    content.open("GET",url_content,true)
    content.send(null)
}

function gen(str) {
	content=GetXmlHttpObject()

    if (content==null) {
        window.location="http://www.nexusbio.org/chongun/scripts/gen.php?ajax=false&gen="+str
        return
    } 
    var url="http://www.nexusbio.org/chongun/scripts/gen.php"
    
    var url_content=url+"?ajax=true&gen="+str
    
    content.onreadystatechange=contentstateChanged
    content.open("GET",url_content,true)
    content.send(null)
}

function nexusBioExt(str) {
	content=GetXmlHttpObject()

    if (content==null) {
        window.location="http://www.nexusbio.org/chongun/scripts/nexusBioExt.php?ajax=false&nexusBioExt="+str
        return
    } 
    var url="http://www.nexusbio.org/chongun/scripts/nexusBioExt.php"
    
    var url_content=url+"?ajax=true&nexusBioExt="+str
    content.onreadystatechange=contentstateChanged
    content.open("GET",url_content,true)
    content.send(null)
}

// function filter(list,listTitle,path,value,title) {
// 	content=GetXmlHttpObject()
// 
//     if (content==null) {
//         window.location="http://www.nexusbio.org/chongun/scripts/filter.php?ajax=false&path="+path+"&value="+value+"&title="+title+"&list="+list+"&listTitle="+listTitle;
//         return
//     } 
//     var url="http://www.nexusbio.org/chongun/scripts/filter.php"
//     
//     var url_content=url+"?ajax=true&path="+path+"&value="+value+"&title="+title+"&list="+list+"&listTitle="+listTitle;
//     content.onreadystatechange=contentstateChanged
//     content.open("GET",url_content,true)
//     content.send(null)
// }

function filter(domain,listTitle,target,list,id) {
	// Filter based on forms

	content=GetXmlHttpObject()
	
	var form=document.getElementById(id);
	var str = "";
	
	str = collectFormInfo2(form,str);
	str = str + "listTitle="+listTitle+"&list="+list
	var url=domain+"/scripts/filter.php"
	
	if (content==null) {
		window.location=url+"?ajax=false&"+str;
		return
	} 

	str = "?ajax=true&"+str;

	var url_content=url+str;
	content.onreadystatechange=function(){rosterstateChanged2(target)}
	content.open("GET",url_content,true)
	content.send(null)
}

function simpleFilter(domain,listTitle,list,query,target) {
	// Filter by only one condition, used with links not forms.
	
	content=GetXmlHttpObject()
	
	var str = "query="+query+"&listTitle="+listTitle+"&list="+list;
	var url=domain+"/scripts/filter.php"
	
	if (content==null) {
		window.location=url+"?ajax=false&"+str;
		return
	} 
	
	str = "?ajax=true&"+str;
	var url_content = url+str;
	
	content.onreadystatechange=function(){rosterstateChanged2(target)}
	content.open("GET",url_content,true)
	content.send(null)
}

function nameLookup(event,name,domain,type,id,target) {
	
	getEvent=event.keyCode;
	if (getEvent == "13") {
		content=GetXmlHttpObject();
	
		if (content==null) {
			return;
		}
		rosterLookup(domain,name,'unknown');
	}
// 	else {
// 		var url_content=domain+'/scripts/nameLookup.php?q='+name+'&type='+type+'&target='+target;
// 		content.onreadystatechange=function(){rosterstateChanged2(id)}
// 		content.open("GET",url_content,true)
// 		content.send(null)
// 	}
}

function replaceValue(name,target) {
	document.getElementById(target).value=name
}

function goReturn(event,domain,name) {
     getEvent=event.keyCode;
     if (getEvent == "13") {
    rosterLookup(domain,name,'unknown');
    return false;
     } else {
    return true;
    }
}

function collectFormInfo2(form,str) {
	var reg = /\)$/;
	var reg2 = /'.*''/;
	
	for (var i=0;i<form.length;i++) {
		switch(form.elements[i].type) {
			case "text":
				var path = form.elements[i].name;
				var value = form.elements[i].value;
			break;
			case "textarea":
				var name = form.elements[i].name;
				var value = form.elements[i].value;
			break;
			case "radio":
				if (form.elements[i].checked) {
					var path = form.elements[i].name;
					var value = form.elements[i].value;
				}
			break;
			case "checkbox":
				if (form.elements[i].checked) {
					var path = form.elements[i].name;
					var value = form.elements[i].value;
				}
			break;
			case "select-one":
				var drop = form.elements[i];
				var path = drop.name;
				var value = drop.options[drop.selectedIndex].value;
		}
		if (value != "undefined" && value != "*" && path != "") {
			if (!reg.test(value)) {
				if (!value.match("'")) {
					value = value+"'";
				}
			}
			str = str + path + " != '" + value + " or name(" + path + ") = '' or ";
		}
		if (value == "*") {
			if (!reg.test(value)) {
				if (!value.match("'")) {
					value = value+"'";
				}
			}
			str = str + path + " = '' or name(" + path + ") = '' or ";
		}
		var value = '';
		var path = '';
	}

	str = "query=" + str.substr(0,(str.length - 4)) + "&";
	
	return str;
}

function contentstateChanged()  { 
    if (content.readyState==4 || content.readyState=="complete") { 
	document.getElementById("loading").style.display="none"

        document.getElementById("content").innerHTML=content.responseText
    } 
}

function rosterstateChanged(str)  {

    if (content.readyState==4 || content.readyState=="complete") { 
	document.getElementById("loading").style.display="none"

        document.getElementById('roster'+str+'Images').innerHTML=content.responseText
    } 
}

function rosterstateChanged2(list)  {

    if (content.readyState==4 || content.readyState=="complete") { 
	document.getElementById("loading").style.display="none"

        document.getElementById(list).innerHTML=content.responseText
	document.getElementById(list).scrollTop=0;
    } 
}

function querystateChanged()  { 
    if (content.readyState==4 || content.readyState=="complete") { 
		document.getElementById("loading").style.display="none"

        document.getElementById("statQueryResults").innerHTML=content.responseText
    } 
}

function GetXmlHttpObject()

{ 

document.getElementById("loading").style.display="block"

var objXMLHttp=null
if (window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest()
}
else if (window.ActiveXObject)
{
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
} 
