function submitForm(formname, url) {
	if (url != '') {
		document.forms[formname].action = url;
	}
	document.forms[formname].submit();
}



function doPageFastNext() {
	var change = document.getElementsByName("pageChange")[0];
	change.value = "fastnext";
	doPageChange(change);
}

function doPageFastPrevious() {
	var change = document.getElementsByName("pageChange")[0];
	change.value = "fastprevious";
	doPageChange(change);
}

function doPageNext() {
	var change = document.getElementsByName("pageChange")[0];
	change.value = "next";
	doPageChange(change);
}

function doPagePrevious() {
	var change = document.getElementsByName("pageChange")[0];
	change.value = "previous";
	doPageChange(change);
}

function doPageFirst() {
	var change = document.getElementsByName("pageChange")[0];
	change.value = "first";
	doPageChange(change);
}

function doPageLast() {
	var change = document.getElementsByName("pageChange")[0];
	change.value = "last";
	doPageChange(change);
}

function doPageChange(obj) {
	obj.form.method.value = "doPageChange";
	obj.form.submit();
}

/*
function doCreate(form) {
	document.forms[form].method.value = "doCreate";
	document.forms[form].submit();
}
*/

function doSearch(form) {
	if (validate(form) == false) {
		return;
	}
	document.forms[form].method.value = "doSearch";
	document.forms[form].submit();
}

function gotoExpansive(form) {
	document.forms[form].method.value = "gotoExpansive";
	document.forms[form].submit();
}

function doExpansive(form) {
	if (validate(form) == false) {
		return;
	}
	document.forms[form].method.value = "doExpansive";
	document.forms[form].submit();
}


function doSort(form, sortColumn) {
	document.forms[form].method.value = "doSort";
	document.forms[form].sortColumn.value = sortColumn;
	document.forms[form].submit();
}

function gotoUpdate(key) {
	var keys = document.getElementsByName("key");

	for (var i = 0; i < keys.length; i ++) {
		keys[i].value = keys[i].defaultValue;
		if (keys[i].value != key) {
			keys[i].value = -1;
		}
	}
	
	keys[0].form.method.value = "gotoUpdate";
	keys[0].form.submit();
}

function gotoBack(form) {
	if (formChanged(form) == true) {
		if (confirm(javascriptFormChanged) == false) {
			return;
		}
	}
	
	document.forms[form].formChanged.value = "false";
	document.forms[form].method.value = "gotoBack";
	document.forms[form].submit();
}

function doCreate(form) {
	document.forms[form].elements['formChanged'].value = 'false';
	if (validate(form) == false) {
		return;
	}
	document.forms[form].method.value = "doCreate";
	document.forms[form].submit();
}

function doUpdate(form) {
	document.forms[form].elements['formChanged'].value = 'false';
	if (validate(form) == false) {
		return;
	}
	document.forms[form].method.value = "doUpdate";
	document.forms[form].submit();
}

/*
function action(method, form) {
	document.forms[form].elements['formChanged'].value = 'false';
	if (validate(form) == false) {
		return;
	}
	document.forms[form].method.value = method;
	document.forms[form].submit();
}
*/

function action(action, method, form, checkFormChanged) {
	//alert(checkFormChanged);
	if (checkFormChanged == true) {
		if (formChanged(form) == true) {
			if (confirm(javascriptFormChanged) == false) {
				return;
			}
		}
	}
	
	document.forms[form].action = action;
	document.forms[form].formChanged.value = "false";
	document.forms[form].method.value = method;
	document.forms[form].submit();
}

/*
function action(action, method, form) {
	if (formChanged(form) == true) {
		if (confirm(javascriptFormChanged) == false) {
			return;
		}
	}
	document.forms[form].action = action;
	document.forms[form].formChanged.value = "false";
	document.forms[form].method.value = method;
	document.forms[form].submit();
}
*/


function gotoCreate(form) {
	document.forms[form].method.value = "gotoCreate";
	document.forms[form].submit();
}

function doDelete() {
	var checked = false;
	var selected = document.getElementsByName("selected");
	var keys = document.getElementsByName("key");
	
	for (var i = 0; i < selected.length; i ++) {
		if (selected[i].checked) {
			checked = true;
			keys[i].value = keys[i].defaultValue;
		} else {
			keys[i].value = -1;
		}
	}

	if (checked == true) {	
		if (confirm(javascriptDeleteConfirm) == false) {
			return;
		}
		selected[0].form.method.value = "doDelete";
		selected[0].form.submit();
	} 
	else {
		alert(javascriptDelete);
	}
}

function formChanged(form) {
	if (document.forms[form].elements['formChanged'].value == 'true') {
		return true;
	}
	
	var elements = document.forms[form].elements;
	for (var i = 0; i <  elements.length; i++) {
		var element = elements[i];
		if (element.name != 'formChanged') {
			if (element.type == 'text' &&
				element.value != element.defaultValue) {
				document.forms[form].elements['formChanged'].value = 'true';
				return true;
			} else
			if (element.type == 'textarea' &&
				element.value != element.defaultValue) {
				document.forms[form].elements['formChanged'].value = 'true';
				return true;
			} else
			if (element.type == 'radio' &&
				element.checked != element.defaultChecked) {
				document.forms[form].elements['formChanged'].value = 'true';
				return true;
			} else
			if (element.type == 'checkbox' &&
				element.value != element.defaultValue) {
				document.forms[form].elements['formChanged'].value = 'true';
				return true;
			} else
			if (element.type == 'password' &&
				element.value != element.defaultValue) {
				document.forms[form].elements['formChanged'].value = 'true';
				return true;
			} else
			if (element.type == 'file' &&
				element.value != element.defaultValue) {
				document.forms[form].elements['formChanged'].value = 'true';
				return true;
			} else
			if (element.type == 'select-one') {
			 	for (var s = 0; s < element.length; s++) {
			 		if (element[s].selected != element[s].defaultSelected) {
						document.forms[form].elements['formChanged'].value = 'true';
						return true;
					}
				}
			} else
			if (element.type == 'select-multiple') {
			 	for (var s = 0; s < element.length; s++) {
			 		if (element[s].selected != element[s].defaultSelected) {
						document.forms[form].elements['formChanged'].value = 'true';
						return true;
					}
				}
			}
			/*
			 * We do not want a check on hidden fields !!
			 */
		}
	}
	
	document.forms[form].elements['formChanged'].value = 'false'; 
	return false;
}

