////////////////////////////////////////////////

function createFormSubmitRequestObject() {
	var request_o;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		request_o = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		request_o = new XMLHttpRequest();
	}
	return request_o;
}

var FormSubmitHttp = null;

/////////////////////////////////////////////////

function getEditForm(obj,url,refnum,tabcount,tabnum) {

	hideHelpElements();

	if (tabcount > 0) { 
	for (i = 1; i <= tabcount; i++) { 
	document.getElementById('edittab' + i).className = "yellowspanlink";
	document.getElementById('editrow' + i).style.backgroundColor = "#ffffdf";
	}
	obj.className = "yellowspanselected";
	}

	if (document.getElementById(refnum).className == "itemhidden") { 
	showStatusBar("Loading","#ff0000");
	if (tabcount > 0) { obj.innerHTML = 'Close ' + obj.title; }
	FormSubmitHttp = createFormSubmitRequestObject();
	FormSubmitHttp.open('get',url,true);
	FormSubmitHttp.onreadystatechange = handleGetEditForm;
	FormSubmitHttp.send(null);
	} else {
		if (tabnum > 0) { 
		document.getElementById('edittab' + tabnum).innerHTML = document.getElementById('edittab' + tabnum).title;
		document.getElementById('edittab' + tabnum).className = "yellowspanselected";
		} else if (tabcount > 0) { 
		obj.innerHTML=obj.title;
		}
	document.getElementById(refnum + 'row').className = "itemhidden";
	document.getElementById(refnum).className = "itemhidden";
	document.getElementById(refnum).innerHTML = null;
	/////JUMP ACTION HAS BEEN SUSPENDED//////
	/////if (tabnum > 0) { link = location.href.split('#'); window.location.replace(link[0] + '#edittab' + tabnum); }
	}
}

function handleGetEditForm() {
	if (FormSubmitHttp.readyState == 4){
		var response = FormSubmitHttp.responseText;
		output = response.split("^=^");
		document.getElementById(output[0] + 'row').className = "manageedit";
		document.getElementById(output[0]).innerHTML = output[1];
		document.getElementById(output[0]).className = "";
		hideStatusBar();
	}
}

function EndFocusFormSubmit(control) {
	if (control.createTextRange) {
	var range = control.createTextRange();
	range.collapse(false);
	range.select();
	} else if (control.setSelectionRange) {
	control.focus();
	var length = control.value.length;
	control.setSelectionRange(length,length);
	}
}

/////////////////////////////////////////////////

function BuildStatusBar(label,color) {
	var statusbar=document.getElementById('statusbar');
	if(!statusbar){ 
		var statusbar=document.createElement('DIV');
		document.body.appendChild(statusbar);
		statusbar.id='statusbar';
		statusbar.style.position='absolute';
		statusbar.style.top=0;
		statusbar.style.right=0;
		statusbar.style.width='4.5em';
		statusbar.style.padding='3px';
		statusbar.style.color='white';
		statusbar.style.fontWeight='bold';
		statusbar.style.zIndex='100';
		statusbar.style.textAlign='center';
	}

	statusbar.style.backgroundColor=color;
	statusbar.innerHTML=label;
	statusbar.style.visibility = "visible";
}

/////////////////////////////////////////////////

function SelectUpdateList(action,tabcount,clname) {
	if (action=="all") { ckvalue=true; } else { ckvalue=false; }
	if (tabcount > 0) {
		for (i = 1; i <= tabcount; i++) { 
		document.getElementById('ckbx' + i).checked = ckvalue;
		document.getElementById('editrow' + i).className = clname;
		}
	}
	return false;
}

function SelectOneItem(i,clnametrue,clnamefalse) {
	if (document.getElementById('ckbx' + i).checked==true) {
		document.getElementById('editrow' + i).className = clnametrue;
	} else {
		document.getElementById('editrow' + i).className = clnamefalse;
	}
	return false;
}

/////////////////////////////////////////////////

var submitaction = null;
var containername = null;
var tabname = null;

function SubmitToggleRequest(url,data,button,refnum,tabid) {
	BuildStatusBar("Saving","#009900");
	submitaction = button;
	containername = refnum;
	tabname = tabid;
	submission_string = data;
	SendPageFormData(url,submission_string);
}

function SubmitPageForm(obj,button,refnum,tabid) {

	submitaction = button;
	containername = refnum;
	tabname = tabid;
	tabcount =0;
	url = '';
	submission_string = '';
	archive_alert = null;
	archive_value = null;

	if (typeof(obj)=="string") { obj=document.getElementById(obj); }

	for (var elems=0; elems < obj.length; elems++) {
      if (obj.elements[elems].name != "") {
		if (elems > 0) { submission_string += "&"; }
		if (obj.elements[elems].name == "directory") { 
			url = obj.elements[elems].value;
		} else if (obj.elements[elems].type == "checkbox") {
			submission_string += obj.elements[elems].name + "=" + obj.elements[elems].checked;
			if (obj.elements[elems].name.search("archive") > 0) { archive_alert = obj.elements[elems].checked; }
		} else if (obj.elements[elems].type == "radio") {
			if (obj.elements[elems].checked) {
			submission_string += obj.elements[elems].name + "=" + encodeURIComponent(obj.elements[elems].value);
			}
		} else {
			submission_string += obj.elements[elems].name + "=" + encodeURIComponent(obj.elements[elems].value);
			if (obj.elements[elems].name.search("z1") == 0) { archive_value = obj.elements[elems].value; }
			if (obj.elements[elems].name == "tabcount") { tabcount = obj.elements[elems].value; }
			if (obj.elements[elems].name == "updateoptions") { updateoptions = obj.elements[elems].value; }
		}
		if (obj.elements[elems].name == "submittype") { 
			if (obj.elements[elems].value == "search") {
				BuildStatusBar("Searching","#009900");
				if (tabid) { 
				multipage = tabid.split(".");
				submission_string += '&selimit' + "=" + multipage[0];
				submission_string += '&segroup' + "=" + multipage[1];
				}
			} else {
				BuildStatusBar("Saving","#009900");
			}
		}
	}
	}

	if ((archive_alert) && (archive_value!="ARCHIVED")) { 
		if (confirm('Are you sure you want to DELETE this item?')) {
		} else {
		return CompletePageFormSubmit("stopsubmission");
		}
	}

	if (submitaction == "updatelist") {
		if (updateoptions == "none") { return ActivateMessageBox('alert','No action selected.'); }

		if (tabcount > 0) { var z = 0;
		for (i = 1; i <= tabcount; i++) { 
		if (document.getElementById('ckbx' + i).checked) {
		submission_string += "&item^" + document.getElementById('ckbx' + i).value + "=true"; z++;
		}
		}
		}

		if (z==0) { return ActivateMessageBox('alert','No items selected.'); }

		if (updateoptions == "DELETE") {
		answer=ActivateMessageBox('confirm','Are you sure you want to DELETE selected item(s)?');
		if (answer==false) { return false; }
		}
	}
	SendPageFormData(url,submission_string);
}

function ActivateMessageBox(type,msg) {
	if (type=="confirm") {
		if (confirm(msg)) {
		} else {
		CompletePageFormSubmit("stopsubmission");
		return false;
		}
	} else {
		alert(msg);
		CompletePageFormSubmit("stopsubmission");
		return false;
	}
}


function SendPageFormData(url,content) {
	FormSubmitHttp = createFormSubmitRequestObject();
	FormSubmitHttp.open('post',url);
	FormSubmitHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	FormSubmitHttp.onreadystatechange = handlePageFormData;
	FormSubmitHttp.send(content);
}

function handlePageFormData() {
	if(FormSubmitHttp.readyState == 4){
		var response = FormSubmitHttp.responseText;
		CompletePageFormSubmit(response);
	}
}

function CompletePageFormSubmit(response) {

	hideHelpElements();
	hideStatusBar();
	response_parts = response.split("^=^");

	if (submitaction == "sideaction") {
		return false;
	} else if (response_parts[0] == "stopsubmission") {
		////document.getElementById('statusbar').style.visibility = "hidden";
		return false;
	} else if (response_parts[0] == "failed") {
		alert(response_parts[1].replace("~","\n"));
	} else if (response_parts[0] == "search") {
		if (submitaction == "switch") { 
		document.getElementById(containername+'basicsetext').value = document.getElementById(containername+'advancedsetext').value
		SwitchDivs(containername+'basic',containername+'advanced');
		}
		document.getElementById(response_parts[2]).innerHTML = response_parts[3];
		if (response_parts[1]!=0) { alert(response_parts[1].replace("~","\n")); }
	} else if (response_parts[0] == "add") {
		if (submitaction == "close") { 
		document.getElementById(containername).className = "itemhidden";
		document.getElementById(tabname).innerHTML=document.getElementById(tabname).title;
		document.getElementById(response_parts[2]).innerHTML = response_parts[3];
		document.getElementById('pageformadd').reset();
		} else if (submitaction == "redirect") { 
		window.location.replace(response_parts[2]);
		}
	} else if (response_parts[0] == "edit") {
		if (submitaction == "close") { document.getElementById(containername).className = "itemhidden"; }
		if (response_parts[3] > 0) { 
		letters = new Array("a","b","c","d","e","f","g","h","i","j");
		for (i = 1; i <= response_parts[3]; i++) { 
		lcode=i-1; ccode=i+3;
		document.getElementById(response_parts[2] + letters[lcode]).innerHTML = response_parts[ccode];
		}
		}
		if (response_parts[1] > 0) { 
		/////JUMP ACTION HAS BEEN SUSPENDED//////
		/////link = location.href.split("#"); window.location.replace(link[0] + '#edittab' + response_parts[1]);
		}
	} else if (response_parts[0] == "updatelist") {
		document.getElementById(response_parts[2]).innerHTML = response_parts[3];
		alert(response_parts[1].replace("~","\n"));
	}
}


