/**
* Zeigt im angegebenen Validierungsfeld an, ob ein Fehler aufgetreten ist.
* param valName: ID des Validierungsfeldes
* param isError: falls "1", dann einen Fehler anzeigen. Ansonsten "OK" anzeigen
*/
function setErrorR(valName, isError, pLang) {
	if(isError == 1) {
		getE(valName).innerHTML = "&nbsp;<img src='/appl/img/layout/icons/icon_falsch.gif' />";
		setErrorMessageR(getErrorMessageForValidationFieldR(valName, pLang));
		placeErrorInfo(valName);
	} else {
		getE(valName).innerHTML = "&nbsp;<img src='/appl/img/layout/icons/icon_richtig.gif' />";
		hideErrorInfo();
	}
}

/**
* Überprüft, ob eine Mailadresse valid ist.
* ACHTUNG: Sobald längere Top-Level-Domains erlaubt sind, den letzten Teil der regex anpassen!!!
* param adresse: die zu überprüfende Mailadresse
*/
function isValidMail(adresse) {
	var pattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	return pattern.test(adresse); 
}

/**
* Validiert das Feld mit dem angegebenen Namen (param fieldName).
* return false falls ein Fehler gefunden wurde, ansonsten true
*/
function validateR(fieldName, pLang) {
	// der validationName (der Name des Feldes, der das
	// Validierungsergebnis anzeigt) wird, aus dem Feldnamen generiert
	var validationName = "val_" + fieldName;
	
	var errorFound = false;
	
	if(fieldName == "empfehlen_sendermail") {
		if ( isValidMail(getE("empfehlen_sendermail").value) )	setErrorR("val_empfehlen_sendermail", 0, pLang);
		else {
			setErrorR("val_empfehlen_sendermail", 1, pLang);
			errorFound = true;
		}
	} else if(fieldName == "empfehlen_receivermail") {
		if ( isValidMail(getE("empfehlen_receivermail").value) )	setErrorR("val_empfehlen_receivermail", 0, pLang);
		else {
			setErrorR("val_empfehlen_receivermail", 1, pLang);
			errorFound = true;
		}
	} else if (fieldName == "capSol") {
    var num1, num2, sol, op, calculatedSol;
    
    num1 = Number( getE("cap1").value );
    num2 = Number( getE("cap2").value );
    sol = Number( getE("capSol").value );
    
    op = getE("capOp").value;
    
    
    if (op == "-") {
      calculatedSol = num1 - num2;
    } else {
      calculatedSol = num1 + num2;
    }
    
    if (sol == calculatedSol) {
      setErrorR("val_capSol", 0, pLang);
    } else {
      setErrorR("val_capSol", 1, pLang);
      errorFound = true;
    }
    
  }
	
	return !errorFound;
}

/**
* Liefert die zum angegebenen Validierungsfeld (param valFieldName) gehörende Fehlermeldung
*/
function getErrorMessageForValidationFieldR(valFieldName, pLang) {
	switch(valFieldName) {
		case "val_empfehlen_sendermail":
			if(pLang == "d") {
			  return "<strong>E-Mail-Adresse nicht korrekt!</strong><br />Bitte &uuml;berpr&uuml;fen Sie Ihre Eingaben!";
			} else {
				return "<strong>Invalid E-Mail address!</strong><br />Please enter a valid E-Mail address!";
			}
			break;
		case "val_empfehlen_receivermail":
			if(pLang == "d") {
			  return "<strong>E-Mail-Adress nicht korrekt!</strong><br />Bitte &uuml;berpr&uuml;fen Sie Ihre Eingaben!";
			} else {
				return "<strong>Invalid E-Mail address!</strong><br />Please enter a valid E-Mail address!";
			}
			break;
    case "val_capSol":
      if(pLang == "d") {
			  return "<strong>Die Rechnung wurde nicht korrekt gel&ouml;st!</strong><br />Bitte &uuml;berpr&uuml;fen Sie Ihre Eingabe!";
			} else {
				return "<strong>You did not solve the calculation!</strong><br />Please try again!";
			}
			break;
	}
	return "Ein Fehler ist aufgetreten";
}

/**
* Setzt den Inhalt der Error-Message-Box auf den angegebenen param message.
*/
function setErrorMessageR(message) {
	getE("errorInfo").innerHTML = message;
}

/**
* Überprüft alle Felder auf Richtigkeit
* return true falls alle Felder korrekt befüllt sind, ansonsten false
*/
function validateAllRecommendation(pLang) {
	if(	!validateR("empfehlen_sendermail", pLang) || !validateR("empfehlen_receivermail", pLang) || !validateR("capSol", pLang) )
		{
			//alert("Bitte korrigieren Sie Ihre Eingaben!");
			return false;
		}
		
		// 2009-06-24 BFL Änderung nach LK: 
		// /de/home/empfehlung auf /empfehlung
		// Url ab de anhängenvar 
		
		iUrl = getE("empfehlen_url").value;
		iUrl = iUrl.substr(iUrl.indexOf('.at')+4);
		urchinTracker ("/empfehlung/" + iUrl);

		return true;
}

function preValidate() {
	if(getE("empfehlen_sendermail").value != "")	validateR("empfehlen_sendermail");
}
