function Sort(SortBy, Direction){

	numRows = document.getElementById("NumRows").value
	rowsArray = Array(numRows);
	sortArray = Array(numRows);
	
	if(SortBy == "Date"){
		itemNumber = 0
	} else if(SortBy == "File"){
		itemNumber = 1;
	} else if(SortBy == "Description"){
		itemNumber = 2;
	} else if(SortBy == "Author"){
		itemNumber = 3;
	} else if(SortBy == "FileType"){
		itemNumber = 4;
	}
	
	for(i = 0; i < numRows; i++){
		rowsArray[i] = document.getElementById("Record"+i).innerHTML;
		if(SortBy == "Date"){
			sortValue = document.getElementById("Record"+i).getElementsByTagName("input").item(itemNumber).value;
		} else if(SortBy == "File"){
			sortValue = document.getElementById("Record"+i).getElementsByTagName("input").item(itemNumber).value;
		} else if(SortBy == "Description"){
			sortValue = document.getElementById("Record"+i).getElementsByTagName("input").item(itemNumber).value;
		} else if(SortBy == "Author"){
			sortValue = document.getElementById("Record"+i).getElementsByTagName("input").item(itemNumber).value;
		} else if(SortBy == "FileType"){
			sortValue = document.getElementById("Record"+i).getElementsByTagName("input").item(itemNumber).value;
		}
		sortArray[i] = Array(sortValue, i);
	}
	
	if(Direction == "ASC"){
		sortArray.sort(ascending);
	} else if(Direction == "DESC"){
		sortArray.sort(descending);
	}
	
	for(i = 0; i < numRows; i++){
		document.getElementById("Record"+i).innerHTML = rowsArray[sortArray[i][1]];
	}
}

function ascending(a,b){
	if (a[0] < b[0]) return -1;
  	if (a[0] > b[0]) return 1;
  	return 0;

}

function descending(a,b){
	if (a[0] > b[0]) return -1;
  	if (a[0] < b[0]) return 1;
  	return 0;

}

function ToggleSetList(ID){
	var object = document.getElementById("DocumentSetContainer"+ID);
	if(object.style.display == 'none'){
		object.style.display = 'block';
	} else {
		object.style.display = 'none';
	}

}

function ToggleImageSetList(ID){
	var object = document.getElementById("ImageSetContainer"+ID);
	if(object.style.display == 'none'){
		object.style.display = 'block';
	} else {
		object.style.display = 'none';
	}

}

function GetHTTPRequest(call, onreadystatechange) {
	call = window.location.protocol+"//"+window.location.host+call;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		try {
			req.onreadystatechange = onreadystatechange;
     		req.open("GET", call , true);     	
			req.send(null);
   		} catch (e) {
   	  		alert(e);
   		}
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = onreadystatechange;
			req.open("GET", call, true);
			req.send();
		}
	}
}

function PostHTTPRequest(script, call, onreadystatechange) {
	script = window.location.protocol+"//"+window.location.host+"/"+script;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		try {
			req.onreadystatechange = onreadystatechange;
			req.open("POST", script, true);
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			req.send(call);
		} catch (e) {
   	  		alert(e);
   		}
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = onreadystatechange;
			req.open("POST", script, true);
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			req.send(call);
		}
	}
}

function ShowBlock( Obj ){
	document.getElementById(Obj).style.display = "block";
}
function ShowInline( Obj ){
	document.getElementById(Obj).style.display = "inline";
}
function Hide( Obj ){
	document.getElementById(Obj).style.display = "none";
}
function Disable( Obj ) {
	document.getElementById(Obj).disabled = true;
}
function Enable( Obj ) {
	document.getElementById(Obj).disabled = false;
}
// Get element by ID
function GEBI( Obj ){
	return document.getElementById(Obj);
}

function SendInquiry(){
	if(CheckForm('inquiryForm')){
		Hide("send_btn");
		ShowBlock("send_LoadingRequest");
		PostHTTPRequest('http_requests/inquiry.php', 'comments='+GEBI("comments").value+"&name="+GEBI("name").value+"&email="+GEBI("email").value, SendInquiry_ProcessStateChange);
	}
}

function SendInquiry_ProcessStateChange(){
	if (req.readyState == 4) {
    	if (req.status == 200) {
			GEBI("ActionMessage").innerHTML = req.responseText;
			ShowBlock("ActionMessage");
			Hide("send_LoadingRequest");
			ShowBlock("send_btn");
			document.forms['inquiryForm'].reset();
		}	
	}
}

function CheckForm(FormName){

	var ValidationFlag = true;
	for(var i = 0; i < document.forms[FormName].elements.length; i++){
		if(GEBI(document.forms[FormName].elements[i].name+"Required") && document.forms[FormName].elements[i].name != 'Firm_ID'){																																																					
			if(document.forms[FormName].elements[i].value == '' || document.forms[FormName].elements[i].value == ' '){
				GEBI(document.forms[FormName].elements[i].name+"Required").innerHTML = "(required)";
				ValidationFlag = false;
			} else if (document.forms[FormName].elements[i].type == "checkbox" && !document.forms[FormName].elements[i].checked){
				GEBI(document.forms[FormName].elements[i].name+"Required").innerHTML = "(required)";
				ValidationFlag = false;
			} else if (document.forms[FormName].elements[i].type == "select-one" && document.forms[FormName].elements[i].value == ''){
				GEBI(document.forms[FormName].elements[i].name+"Required").innerHTML = "(required)";
				ValidationFlag = false;
			} else {
				GEBI(document.forms[FormName].elements[i].name+"Required").innerHTML = "*";
			}
		} else if(GEBI(document.forms[FormName].elements[i].name+"FirmRequired") && GEBI('Firm_ID').value == ''){
			if(document.forms[FormName].elements[i].value == '' || document.forms[FormName].elements[i].value == ' '){
				GEBI(document.forms[FormName].elements[i].name+"FirmRequired").innerHTML = "(required)";
				ValidationFlag = false;
			} else if (document.forms[FormName].elements[i].type == "checkbox" && !document.forms[FormName].elements[i].checked){
				GEBI(document.forms[FormName].elements[i].name+"FirmRequired").innerHTML = "(required)";
				ValidationFlag = false;
			} else if (document.forms[FormName].elements[i].type == "select-one" && document.forms[FormName].elements[i].value == ''){
				GEBI(document.forms[FormName].elements[i].name+"FirmRequired").innerHTML = "(required)";
				ValidationFlag = false;
			} else {
				GEBI(document.forms[FormName].elements[i].name+"Required").innerHTML = "*";
			}
		}
	}
	if(GEBI('password').value != GEBI('password2').value){
		ValidationFlag = false;
		alert('The passwords you entered did not match. Please enter them again.');
	}
	return ValidationFlag;
}

function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }

