submitted = false;

function submitForm(actionCode, gotoCode, saveData) {
   if (actionCode == 2) {
      Check = confirm("Wollen Sie diesen Antrag wirklich löschen?");
      if (Check == false)
      return false;
   }

   if (submitted) return false;
   submitted = true;
   document.forms.data.oac_mngr_action.value = actionCode;
   document.forms.data.oac_mngr_goto.value = gotoCode;
   document.forms.data.oac_mngr_save.value = saveData;
   document.forms.data.submit();
   return false;
}

// spezielle Funktionen fuer Schwaebisch Hall Fuchs BaufinanzierungsPortal
// wird verwendet vom Onlineantrag
// actionCode 21 = Abbrechen
// actionCode 9 = Speichern und Antrag verlassen
function submitFormBSH(actionCode, gotoCode, saveData) {
   if (actionCode == 2) {
      Check = confirm("Wollen Sie diesen Antrag wirklich löschen?");
      if (Check == false)
      return false;
   }

   if (submitted) return false;
   submitted = true;
   document.forms.data.oac_mngr_action.value = actionCode;
   document.forms.data.oac_mngr_goto.value = gotoCode;
   document.forms.data.oac_mngr_save.value = saveData;
   document.forms.data.submit();
   
   // wenn User auf "Speichern und Antrag verlassen" klickt, wird das Popup
   // geschlossen und es findet somit kein Redirect zu antrag_list.jsp statt.
   if (actionCode == 21) {
	window.close();
   }
   
   return false;
}



var ns4 = (document.layers)? true:false
var ie4 = (document.all)? true:false

// parameter 1 = 'show' or 'hide'
// parameters 2 to n = id of div section hows visibilites are to be set

function setVisibility() { 
	var i, visStr, args, theObj;

	args = setVisibility.arguments;
	visStr = args[0];

	for (i=1; i < (args.length); i++) {
		if (ns4) {
		
			//Don't work in netscape

		} else if (ie4) {
			if (visStr == 'show') visStr = 'visible';
			if (visStr == 'hide') visStr = 'hidden';
			theObj = eval("document.all[\'" + args[i] + "\']");
			if (theObj) theObj.style.visibility = visStr;
		}
	}
}

function inputCopy(srcName, destName) {

	var srcObj, destObj;

	if (ns4) {
		srcObj = eval('document.layers[\'' + srcName + '\']');
		destObj = eval('document.layers[\'' + destName + '\']');

	} else if (ie4) {

		srcObj = eval('document.elements[\'' + srcName + '\']');
		destObj = eval('document.elements[\'' + destName + '\']');

		destObj.value = srcObj.value;
		alert(srcObj.value);
	}
}


if (document.layers)
	{ self.captureEvents(Event.MOUSEMOVE); self.onmousemove=move; }

function move(e){
	b = e.pageX;
	c = e.pageY;
}

function saveScroll() {
	if (document.layers) {
		document.data.move_x.value = window.pageXOffset;
		document.data.move_y.value = window.pageYOffset;
	} else if (document.all) {
		document.data.move_x.value = document.body.scrollLeft;
		document.data.move_y.value = document.body.scrollTop;
	}
}

// param 1 - sum field name
// param 2 to n - field names which take part in the sum
function processSum() {
	var i, sum, targetField, args;

	args = processSum.arguments;
	targetField = args[0];

	sum = 0;
	for (i=1; i < (args.length); i++) {
	  var elm = document.data.elements[args[i]];
      if (elm == null) continue;
      var tmp_value = ReadValue(elm);
      if (tmp_value=='undefined') continue;
      if (tmp_value == 0 ) {
			elm.value = "";
		} else {
			elm.value = tmp_value;
			FormatNumberForField(elm, 1);
		}

		if (isNaN(tmp_value)) {
			elm.value = "";
			elm.focus();
		} else {
			tmp_value = Math.round(tmp_value * 100.0) / 100.0;
			if (tmp_value > 0) {
				sum += tmp_value;
			} else {
				elm.value = "";
			}
		}
	}

	sum = Math.round(sum * 100.0) / 100.0;
   if (targetField!='') {
      elm = document.data.elements[targetField];
      elm.value = sum;
      FormatNumberForField(elm, 1);
	}

	return sum;
}


<!-- param 1 - sum field name -->
<!-- param 3 to n - field names which take part in the sum -->
function processSumNoRounding() {
	var i, sum, targetField, args;

	args = processSumNoRounding.arguments;
	targetField = args[0];

	sum = 0;

	for (i=1; i < (args.length); i++) {
		elm = document.data.elements[args[i]];
		if (elm == null) continue;
		tmp_value = ReadValue(elm);

		if (tmp_value != 0) {
			elm.value = tmp_value;
			FormatNumberForFieldNoRounding(elm, 1,1);
		}

		if (isNaN(tmp_value)) {
			elm.value = "";
			elm.focus();
		} else {
			tmp_value = Math.round(tmp_value * 100.0) / 100.0;
			if (tmp_value > 0) {
				sum += tmp_value;
			}
		}
	}

	sum = Math.round(sum * 100.0) / 100.0;
	elm = document.data.elements[targetField];
	elm.value = sum;
	FormatNumberForFieldNoRounding(elm, 1);

	return sum;
}


function format(elm) {
	
	tmp_value = ReadValue(elm);
	if (isNaN(tmp_value)) {
		elm.value="";
		elm.focus();
	} else if (tmp_value > 0) {
		elm.value = tmp_value;
		FormatNumberForField(elm, 1);
	} else {
		elm.value = "";
	}
}

function formatField(fieldName, decimal, zeroAllowed) {
	if (isUndefined(decimal)) {
		decimal = 1;
	}
	if (isUndefined(zeroAllowed)) {
		zeroAllowed = false;
	}

    elm=document.data.elements[fieldName];
	if (!elm || !elm.value) {
		return;
	}
    tmp_value = ReadValue(elm);

    if (isNaN(tmp_value)) {
		elm.value="";
		elm.focus();
	} else if (tmp_value > 0 || (tmp_value == 0 && zeroAllowed)) {
		elm.value = tmp_value;
		FormatNumberForField(elm, decimal);
	} else {
		elm.value = "";
	}
}

function calcPercent(amount, percentFld, destFld) {
	prcElem = document.data.elements[percentFld];

	percent_value = ReadValue(prcElem);
	if (percent_value == 0) {
		prcElem.value = "";
	} else {
		prcElem.value = percent_value;
		FormatNumberForField(prcElem,1);
	}

	if (isNaN(percent_value)) {
		prcElem.value = "";
		prcElem.focus();
		percent_value = 0;
	}

	destElem = document.data.elements[destFld];

	if (percent_value > 0) {
		destElem.value = Math.round(amount * percent_value) / 100.0;
		FormatNumberForField(destElem, 1);
	}
}

function backtomain(where) {
	if (window.opener && !window.opener.closed) {
		window.opener.location = where;
		window.opener.focus();
	}
	else {
		window.open(where, "_blank");
	}
}

function changemain(where) {
	if (window.opener && !window.opener.closed) {
		window.opener.location = where;
	}
	else {
		window.open(where, "_blank");
	}
}

function closecurrent(where) {
	window.close();
}

// Reformating Form Fields at Startup
function initfinance() {
        if (typeof(HM_ScriptLoaded) != "undefined" && HM_ScriptLoaded) {setTimeout("HM_f_StartIt()",10);}
        
        if (is.Mac) { quadReplace(); }
	
    for (f = 0; f < document.forms.length; f++) {  
        if (document.forms[f]) {
            e = document.forms[f].elements
            for (x = 0; x < e.length; x++) {
                    if (e[x]) {   
                        if (e[x].type=="select-one" || e[x].type=="select-multiple") { // begin type = select
                            if (e[x].options[0].text.indexOf("---")>-1) {
                                e[x].options[0] = null;
                                if (e[x].selectedIndex == -1) {
                                        e[x].options[0].selected = true;
                                }
                            }
                        } //type = select
                
                        if (is.ie && !is.Mac) {
                            if (e[x].type=="text" || e[x].type=="password") {
                
                                switch (e[x].size) {
                                case 1 : e[x].size = 2;break;
                                case 2 : e[x].size = 4;break;
                                case 3 : e[x].size = 5;break;
                                case 4 : e[x].size = 6;break;
                                case 5 : e[x].size = 8;break;
                                case 6 : e[x].size = 10;break;
                                case 8 : e[x].size = 14;break;
                                case 9 : e[x].size = 14;break;
                                case 12 : e[x].size = 20;break;
                                case 16 : e[x].size = 32;break;
                                default : e[x].size = 22;break;
                                }     
                            } //type = text, password
                            
                            if (e[x].type=="textarea" && (e[x].name != "dontresizeme" || !is.ie)) { 
                                e[x].style.setAttribute("fontFamily","Arial","true");
                                e[x].style.setAttribute("fontSize","9pt","false");
                                e[x].cols=29;
                                e[x].rows=6; 
                            } //type = textarea
                        
                        }   else if (is.ns6up  && !is.ns61) {
                            if (e[x].type=="text" || e[x].type=="password") {
                            var sizeEl;
                            sizeEl=e[x].size;

                           // Javascript in Netscape 6 doesn't like the switch statement for whatever reason...
                            if (sizeEl == 1) {
                                e[x].size = 2;
                            } else if (sizeEl == 2) {
                                e[x].size = 4;
                            } else if (sizeEl  == 3) {
                                e[x].size = 5;
                            } else if (sizeEl== 4) {
                                e[x].size = 6;
                            } else if (sizeEl== 5) {
                                e[x].size = 8;
                            } else if (sizeEl== 6) {
                                e[x].size = 10;
                            } else if (sizeEl== 8) {
                                e[x].size = 16;
                            } else if (sizeEl== 9) {
                                e[x].size = 14;
                            } else if (sizeEl== 12) {
                                e[x].size = 20;
                            } else if (sizeEl== 16) {
                                e[x].size = 32;
                            } else {
                                e[x].size = 2;
                            }
                        } //type = text, password                        

                        } // browser if
                    } // if e[x] ...   
                    
                } // for x ...
        } //if document.forms ...
    } //for f ...
}   



