var postInProgress=false;
var requestInProgressText="Request in progress...";
function isPostInProgress() {
  return postInProgress;
}
function onFormSubmit() {
  if (postInProgress) {
    alert(requestInProgressText);
    return false;
  }
  postInProgress=true;
  return true;
}
function setActionField(act) {
  document.getElementById("actionField").value=act;
}
function setActionFieldWithId(act,id) {
  document.getElementById(id).value=act;
}
function doPostLockingForm() {
  if (onFormSubmit()) {
    eval('document.forms.lockingForm.submit()');
  }
}
function doPostLockingFormXmlHttp() {
  if (onFormSubmit()) {
    eval('xmlHttpPost(document.forms.lockingForm)');
  }
}
function evalToBoolean(expr) {
  var ret=false;
  if (eval(expr)) ret=true;
  return ret;
}
function doSetActionFieldPostLockingFormIf(action) {
  setActionField(action);
  doPostLockingForm();
//  return false;
}

function doSetActionFieldPostLockingFormIfWithoutDoubleSubmitCheck(action) {
  setActionField(action);
  eval('document.forms.lockingForm.submit()');
//  return false;
}

function doSetActionFieldPostLockingFormXmlHttpIf(action) {
  setActionField(action);
  doPostLockingFormXmlHttp();
//  return false;
}

function doSetActionFieldAndIdParamPostLockingFormIf(action,idParam,paramValue) {
  setActionField(action);
  document.getElementById(idParam).value=''+paramValue;
  doPostLockingForm();
//  return false;
}

function doSetActionFieldPostLockingFormIfAfterConfirm(action,confirmText) {
  if (confirm(confirmText)) {
    setActionField(action);
    doPostLockingForm();
  }
//  return false;
}
function doSetActionFieldAndIdParamPostLockingFormIfAfterConfirm(action,idParam,paramValue,confirmText) {
  if (confirm(confirmText)) {
    setActionField(action);
	document.getElementById(idParam).value=''+paramValue;
	doPostLockingForm();
  }
//  return false;
}

function doSetActionFieldAndParamsPostLockingFormIfAfterConfirm(action,params,confirmText) {
  if (confirm(confirmText)) {
    setActionField(action);
	for(var i=0;i<params.length;i++)
  		createNewLockingPostFormElement(params[i]);
	doPostLockingForm();
  }
//  return false;
}

//for pageflow to sourcingtoolcontroller
function doSetActionFieldPostLockingFormIfWithParams(action,params) {
  setActionField(action);
  for(var i=0;i<params.length;i++)
  	createNewLockingPostFormElement(params[i]);
  doPostLockingForm();
//  return false;
} 

function createNewLockingPostFormElement(element){
	var elementName = element.name;
	var elementValue = element.value;
	if(!document.getElementById(elementName)) {
		var newElement = document.createElement("input");
		newElement.setAttribute("type", "hidden");
		newElement.setAttribute("name", elementName);
		newElement.setAttribute("value", elementValue);
		document.forms.lockingForm.appendChild(newElement);
	}
	else {
		document.getElementById(elementName).value = elementValue;
	}
}


