

	function swapImage(oImg){
		//initialize attributes and load alternative Image.
		initializeSwapImage(oImg, oImg.alternativeImage);
		//if not originalImage is shown, show originalImage
		if(oImg.originalImage!=oImg.src){
			oImg.src = oImg.originalImage;
		}
		else{
			//if original Image is shown, show alternative Image.
			oImg.src = oImg.alternativeImage;
		}
	}
	function initializeSwapImage(oImg, strRollOverSrc){


        if(!strRollOverSrc){
			strRollOverSrc = oImg.name;
		}
		if(oImg.alternativeImage!=strRollOverSrc){
			//store the src of the image as original Image
			oImg.originalImage = oImg.src;
			//store rolloversrc as alternative Image
			oImg.alternativeImage = strRollOverSrc;
		 	//preloading rolloverImages
			oImg.oAltImg = new Image();
			oImg.oAltImg.src = oImg.alternativeImage;
		}
	}

	function highlight(oDiv){
	        var active = oDiv.className.substring(oDiv.className.length-7,oDiv.className.length);

			if(active != '_active'){
			    oDiv.originalClassName = ""+oDiv.className;
				oDiv.className = oDiv.className+'_active';
			}else{
                if(oDiv.originalClassName=="undefined"||oDiv.originalClassName ==null){
                    oDiv.originalClassName = oDiv.className;
                }
				oDiv.className = oDiv.originalClassName;
			}
		}




/*
Funktion für ForkaFormmail2 Formulare
Überprüft die korrekte Schreibweise des Wertes eines Input-Feldes, das eine E-Mail-Adresse enthalten soll
Parameter: oObj - input-Objekt
Rückgabe: validierte (getrimmte) E-Mail-Adresse oder null, wenn sie ungültig ist.
Beispiel: onChange="validateFormmailEmailAddress(this)"
*/
function validateFormmailEmailAddress(oObj){
    var newValue = validateEmailAddress(oObj.value);
    if(newValue==null){
        markFormmailInput(oObj,true,"Die E-Mail-Schreibweise ist nicht gültig.");
    }else{
        oObj.value = newValue;
        markFormmailInput(oObj,false);
    }
}
/*
Funktion (auch) für ForkaFormmail2 Formulare
Überprüft die korrekte Schreibweise des Strings, der eine E-Mail-Adresse enthält.
Parameter: strEmail - String, der eine E-Mail-Adresse enthält
Rückgabe: validierte (getrimmte) E-Mail-Adresse oder null, wenn sie ungültig ist.
Beispiel: var validated = validateEmailAddress("tpraxl@hr-online.de");
*/
function validateEmailAddress(strEmail){
    if(strEmail!=null){
        strEmail = strEmail.replace(/\s/,"");
        if(strEmail.match(/^[^\s#\*\?\&]{1,}?@[^\s#\*\?\&]{2,}?\.[a-zA-Z]{2,}$/)){
            return strEmail;
        }else{
            return null;
        }
    }
    return strEmail;
}
/*
Funktion für ForkaFormmail2 Formulare
Markiert ein ForkaFormmail-Input-Feld als fehlerhaft oder korrekt ausgefüllt.
Im Fall einer Fehlermarkierung wird die Original-Style-Klasse
im Feld origClassName gespeichert und die Klasse auf 'errorforka' gesetzt.
Im Fall einer Markierung für gültige Eingabe wird die Klasse wieder auf den
Wert von origClassName gesetzt.
Parameter: obj - Das zu markierende input-Objekt
           bError - boolean true (als Fehler markieren) | false (als korrekt markieren)
           strErrorMessage - Spezielle Fehlermeldung oder null für Standard
                Standard ist hier "Bitte f&uuml;llen Sie alle mit einem *
                                   markierten Pflichtfelder aus."
Beispiel: markFormmailInput(form.elements[name], true, null);
*/
function markFormmailInput(obj, bError, strErrorMessage){
    if(bError==false){
        obj.className = obj.origClassName;
    }
    else{
        if(obj.type == "checkbox"){
            labels = document.getElementsByTagName("label");
            if(labels!=null){
                for(l =0; l< labels.length;++l){
                    if(labels[l].getAttribute("for")==obj.name){
                        labels[l].origClassName = obj.className;
                        labels[l].className="errorforka";
                    }else{
                        if(labels[l].origClassName){
                            labels[l].className=labels[l].origClassName;
                        }
                    }
                }
            }
        }else{
            obj.className = 'errorforka';
        }
        //obj.focus();
        var message = document.getElementById('errormessage');
        if(message!=null&& message!='undefined'){
            if(strErrorMessage!=null)
                message.innerHTML = strErrorMessage;
            else
                message.innerHTML = "Bitte f&uuml;llen Sie alle mit einem * markierten Pflichtfelder aus.";
            message.style.display='block';
        }
    }
}
/*
Funktion für ForkaFormmail2 Formulare
Validiert ein einzelnes Input-Feld eines ForkaFormmail2 Input-Feldes.
Es wird davon ausgegangen, daß es sich bei dem Feld um ein Pflichtfeld handelt.
Im Falle eines invaliden Werts, wird das Objekt markiert und die übergebene
Fehlermeldung oder die Standard-Fehlermeldung ausgegeben.
Standard-Fehlermeldung ist "Bitte f&uuml;llen Sie alle mit einem *
markierten Pflichtfelder aus."
Parameter: oObj - Das zu validierende input-Objekt
           errormessage - Spezielle Fehlermeldung oder null für Standard
                Standard ist hier "Bitte f&uuml;llen Sie alle mit einem *
                                   markierten Pflichtfelder aus."
Rückgabe: boolean Wert: true für validen Wert des Objekts, false für invaliden Wert
Beispiel: onChange="validateSingleFormmailInput(this, null);"
*/
function validateSingleFormmailInput(oObj, errormessage){
    var success = true;
    var localSuccess = true;
    var obj = oObj;
    if(obj!=null){
        obj.value = Trim(obj.value);
        if(obj.type=="checkbox"){
            if(!obj.checked ){
                success = false;
                localSuccess=false;
            }
        }
        if(obj.value==''){
            if(obj.origClassName==null||obj.origClassName=='undefined'){
                obj.origClassName = obj.className;
            }
            success = false;
            localSuccess = false;
        }
        if(obj.name=='sender'){
            var originalValue = obj.value;
            var newValue = validateEmailAddress(obj.value);
            if(newValue==null){
                success = false;
                localSuccess = false;
                errormessage = "Die E-Mail-Schreibweise ist nicht gültig.";
            }else{
                obj.value = newValue;
            }
        }
        /*if(!localSuccess){
            alert(obj.name+": \n"+obj.value);
        }*/
        markFormmailInput(obj,!localSuccess,errormessage);
    }
    return localSuccess;
}
/*
Funktion für ForkaFormmail2 Formulare
Validiert das übergebene Formular.
Im Falle eines invaliden Werts, wird das betroffene Objekt markiert und eine
entsprechende Fehlermeldung ausgegeben.
Es werden nur Felder validiert, die auch als Pflichtfelder in aList enthalten sind.
Parameter: oForm - Das zu validierende form-Objekt
           aList - Liste der Pflichtfelder als Array (enthält die Namen der Input-Elemente)
Rückgabe: boolean Wert: true für validen Wert des Objekts, false für invaliden Wert
Beispiel: onSubmit="return validateSingleFormmailInput(this.form, jsMandatory);"
*/
function validateFormmailInput(oForm, aList){
    var success = true;
    var errormessage = null;
    for (i=0; i< aList.length;++i) {
            var obj = oForm.elements[aList[i]];
            var localSuccess = validateSingleFormmailInput(obj, null);
            if(localSuccess==false)
                success = false;
    }
    return success;
}
/*
==================================================================
LTrim(string) : Returns a copy of a string without leading spaces.
==================================================================
*/
function LTrim(str)
/*
   PURPOSE: Remove leading blanks from our string.
   IN: str - the string we want to LTrim
*/
{
   var whitespace = new String(" \t\n\r");

   var s = new String(str);

   if (whitespace.indexOf(s.charAt(0)) != -1) {
      // We have a string with leading blank(s)...

      var j=0, i = s.length;

      // Iterate from the far left of string until we
      // don't have any more whitespace...
      while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
         j++;

      // Get the substring from the first non-whitespace
      // character to the end of the string...
      s = s.substring(j, i);
   }
   return s;
}

/*
==================================================================
RTrim(string) : Returns a copy of a string without trailing spaces.
==================================================================
*/
function RTrim(str)
/*
   PURPOSE: Remove trailing blanks from our string.
   IN: str - the string we want to RTrim

*/
{
   // We don't want to trip JUST spaces, but also tabs,
   // line feeds, etc.  Add anything else you want to
   // "trim" here in Whitespace
   var whitespace = new String(" \t\n\r");

   var s = new String(str);

   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
      // We have a string with trailing blank(s)...

      var i = s.length - 1;       // Get length of string

      // Iterate from the far right of string until we
      // don't have any more whitespace...
      while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
         i--;


      // Get the substring from the front of the string to
      // where the last non-whitespace character is...
      s = s.substring(0, i+1);
   }

   return s;
}

/*
=============================================================
Trim(string) : Returns a copy of a string without leading or trailing spaces
=============================================================
*/
function Trim(str)
/*
   PURPOSE: Remove trailing and leading blanks from our string.
   IN: str - the string we want to Trim

   RETVAL: A Trimmed string!
*/
{
   return RTrim(LTrim(str));
}

function check100prodeutschForm(oForm, oLastElement){
    if(oForm&& oForm.elements){
        var checkedCounter = 0;
        for(i=0; i< oForm.elements.length;++i){
            if(oForm.elements[i].type=="checkbox"){
                if(oForm.elements[i].checked == true){
                    ++checkedCounter;
                }
            }
        }
        if(checkedCounter>5){
            alert("Sie dürfen maximal 5 Optionen auswählen.");
            if(oLastElement){
                oLastElement.checked = false;
            }
            return false;
        }
        if(checkedCounter<5 && (oLastElement==null || oLastElement==undefined)){
            return confirm("Sie können 5 Optionen auswählen. Wollen Sie wirklich nur "+checkedCounter+" Stimmen abschicken?");
        }
        return true;
    }
    return false;
}

function writeFlash(sFlash) {
    document.write(sFlash);
}

