function confirmAction( actionName, activeMenuItems, message ) {
	if ( confirm( message ) )
		executeAction( actionName, activeMenuItems );
}

function confirmAction( actionName, activeMenuItems, paramName, paramValue, message ) {
	if ( confirm( message ) )
		executeAction( actionName, activeMenuItems, paramName, paramValue );
}

function confirmAction( actionName, activeMenuItems, param1Name, param1Value, param2Name, param2Value, message ) {
	if ( confirm( message ) )
	executeAction( actionName, activeMenuItems, param1Name, param1Value, param2Name, param2Value );
}
  
function confirmAction( actionName, activeMenuItems, param1Name, param1Value, param2Name, param2Value, message, param3Name, param3Value ) {
	if ( confirm( message ) )
	executeAction( actionName, activeMenuItems, param1Name, param1Value, param2Name, param2Value, param3Name, param3Value );
}

function confirmAction( actionName, activeMenuItems, param1Name, param1Value, param2Name, param2Value, message, param3Name, param3Value, param4Name, param4Value ) {
	if ( confirm( message ) )
		executeAction( actionName, activeMenuItems, param1Name, param1Value, param2Name, param2Value, param3Name, param3Value, param4Name, param4Value );
}
  
function confirmActionWithSyncComments( actionName, activeMenuItems, message, errorMessage, param1Name, param1Value, param2Name, param2Value, param3Name, param3Value, param4Name, param4Value, param5Name, param5Value ) {
	if ( confirm( message ) ) {
		if ( param3Value=="Y" ) {
			errorMessage = "";
		}
		returnVal = window.showModalDialog("harmonization_comments.html", errorMessage,"dialogHeight: 480px; dialogWidth: 640px; edge: Raised; center: Yes; resizable: Yes; help: No; status: No;");
		if (returnVal!=null) {
			executeAction( actionName, activeMenuItems, 'comments', returnVal, param1Name, param1Value, param2Name, param2Value, param3Name, param3Value, param4Name, param4Value, param5Name, param5Value );
		}
	}
}
  
//all executeAction in one place
function executeAction() {
	if (arguments.length > 1) {
		document.actionForm.action = arguments[0];
		if (arguments[1] != null) {
			document.actionForm.activeMenuItems.value = arguments[1];
		}
		for (var i=2; i<arguments.length-1; i=i+2){
			var param1=arguments[i];
			var param2=arguments[i+1];
			var paramName = eval("document.actionForm.param" + i/2);
			paramName.value = param2;
			paramName.name = param1;
		}
	}
	document.actionForm.submit();
}
	  
function executeActionInFrame() {
	document.actionForm.target = "_top";
	if (arguments.length > 1) {
		document.actionForm.action = arguments[0];
		if (arguments[1] != null) {
			document.actionForm.activeMenuItems.value = arguments[1];
		}
		for (var i=2; i<arguments.length-1; i=i+2){
			var param1=arguments[i];
			var param2=arguments[i+1];
			var paramName = eval("document.actionForm.param" + i/2);
			paramName.value = param2;
			paramName.name = param1;
		}
	}
	document.actionForm.submit();
}

function executeActionInNewWindow(actionName,type) {
	var destination = actionName+'?type='+type;
	var calWindow = window.open(destination, "FileExport" , "height=400; width=800; toolbar=yes; location=yes; menubar=yes; resizable=yes; scrollbars=yes")
}


function filterSpaceAndSpecials(string) {
	var tstring = "";
	if (string == null) {
		return "";
	}
	string = '' + string;
	splitstring = string.split(" ");
	for(i = 0; i < splitstring.length; i++)
	tstring += splitstring[i];

	re = /\$|,|@|#|~|`|\%|\*|\^|\&|\(|\)|\+|\=|\[|\-|\_|\]|\[|\}|\{|\;|\:|\'|\"|\<|\>|\?|\||\\|\!|\$|\./g;
	// remove special characters like "$" and "," etc...
	return tstring.replace(re, "");
}
    


function executeLOV(url, name, attr, args) {
	var dialogWin;
	var oldTarget = document.actionForm.target;
	name = filterSpaceAndSpecials(name);
	
	dialogWin=window.open('', name, attr);
	document.actionForm.action = "listOfValues.do";
	document.actionForm.target = name;
		   
	document.actionForm.param1.value = args[0];
	document.actionForm.param1.name = "referenceTargetName";
	document.actionForm.param2.value = args[1];
	document.actionForm.param2.name = "referenceTargetType";
	document.actionForm.param3.value = args[2];
	document.actionForm.param3.name = "referenceFieldName";
	document.actionForm.param4.value = args[3];
	document.actionForm.param4.name = "referenceDisplayFieldName";
	document.actionForm.param5.value = args[4];
	document.actionForm.param5.name = "selectedValuesId";
	document.actionForm.param6.value = args[5];
	document.actionForm.param6.name = "selectedValues";
	document.actionForm.param7.value = args[6];
	document.actionForm.param7.name = "fieldId";

	document.actionForm.param8.name = "title";
	document.actionForm.param8.value = args[7];

   	document.actionForm.param9.name = "multiValues";
	document.actionForm.param9.value = args[8];
		
	document.actionForm.param10.name = "source";
	document.actionForm.param10.value = args[9];
		
	document.actionForm.param11.name = "additionalFields";
	document.actionForm.param11.value = args[10];

	document.actionForm.param12.name = "filters";
	document.actionForm.param12.value = args[11];

	document.actionForm.param13.name = "ownerType";
	document.actionForm.param13.value = args[12];
		
	document.actionForm.param14.name = "beforeLovAction";
	document.actionForm.param14.value = args[13];

	document.actionForm.submit();
	document.actionForm.target = oldTarget;
   	return dialogWin;
}

function getWorkflow() {
	var p_id = document.all['p_id'].value;
	var id = document.all['id'].value;
	var sourceValue = document.all['source'].value;
	var sortParamValue = document.all['sort_param_info'].value;

	var groupIdValue = document.all['groupId'].value;
	var userIdValue = document.all['userId'].value;

	var selObj = document.all['permission'];
	var selPermValue = selObj.options[selObj.selectedIndex].value;
	var selW = document.all['workflow_process'];
	var selWValue = selW.options[selW.selectedIndex].value;
	if (selPermValue == null || selPermValue == "" || selWValue == null ||
		selWValue == "") {
	} else {
		executeAction('managePermissions.do',null,'p_type',selPermValue,'workflow',selWValue,'id',id,'source', sourceValue, 'p_id', p_id, 'sort_param_info', sortParamValue);
	}
	return;
}

function resetCheckbox(inpObject, checkInpId) {
	if (inpObject.checked == true) {
		document.all[checkInpId].checked = true;
	}
}

function resetCheckboxChilds(inpObject,checkTableId) {
	if (inpObject.checked == false) {
		var checkT = document.all[checkTableId];
		if (checkT != null) {
			var inpColl = checkT.getElementsByTagName("input");
			if (inpColl != null && inpColl.length > 0) {
				for (var i = 0; i < inpColl.length; i++) {
					var elem = inpColl[i];
					if (elem.type == "checkbox") {
						elem.checked=false;
					}
				}
			}
		}
	}
}

function searchClassif(selectObj) {
	var cType = selectObj.options[selectObj.selectedIndex].value;
	if (cType != null && cType != "") {
		executeAction('searchClassif.do',null,'doc_search_type',cType);
	}
}

function searchDocs(selectObj) {
	var dType = selectObj.options[selectObj.selectedIndex].value;
	if (dType != null && dType != "") {
		executeAction('searchDocs.do',null,'doc_search_type',dType, 'searchName', document.Impulss_Search_Object_Form.searchName.value);
	}
}



function addImageFastGroup() {
	windowTop = Math.ceil((screen.height-750)/2);
    windowLeft = Math.ceil((screen.width-200)/2);
	var windowOptions = 'history=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=yes,resizable=no,width=400,height=600,top='+windowTop+',left='+windowLeft;
	window.open('selectSparcPhoto.do', 'Add_Image', windowOptions);	
}
function addFileFastGroup() {
	windowTop = Math.ceil((screen.height-550)/2);
	windowLeft = Math.ceil((screen.width-200)/2);
	var windowOptions = 'history=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=no,resizable=no,width=450,height=500,top='+windowTop+',left='+windowLeft;
	window.open('selectSparcFile.do', 'Add_File', windowOptions);	
}

function IsNumeric(sText){
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}
