
var mfErrorMsgArea = "mfErrors";
var mfErrorClass = "mfHighlightError";
var mfErrorTrans = new Array();
mfErrorTrans["de"] = "Bitte vergewissern Sie sich, dass Sie alle notwendigen Informationen eingetragen haben. Die folgenden erforderlichen Felder fehlen:";
mfErrorTrans["en"] = "Please check that you have entered all the required information. The following fields are not complete:";
mfErrorTrans["es"] = "Por favor, compruebe que ha introducido toda la informaci&oacute;n requerida. Los siguientes campos no est&aacute;n completos:";
mfErrorTrans["fr"] = "Veuillez v&eacute;rifier que vous avez fourni toutes les informations n&eacute;cessaires. Les champs suivants sont incomplets :";
mfErrorTrans["it"] = "La preghiamo di verificare di aver inserito tutte le informazioni richieste. I seguenti campi non sono stati compilati:";
mfErrorTrans["hu"] = "K&eacute;rj&uuml;k ellen&#337;rizze, siker&uuml;lt-e az &ouml;sszes sz&uuml;ks&eacute;ges adatot megadnia. A k&ouml;vetkez&#337; mez&#337;k hi&aacute;nyosak:";
mfErrorTrans["ja"] = "&#24517;&#38920;&#20107;&#38917;&#12364;&#12377;&#12409;&#12390;&#20837;&#21147;&#12373;&#12428;&#12390;&#12356;&#12427;&#12363;&#12372;&#30906;&#35469;&#12367;&#12384;&#12373;&#12356;&#12290;&#27425;&#12398;&#38917;&#30446;&#12364;&#26410;&#20837;&#21147;&#12391;&#12377;:";
mfErrorTrans["pl"] = "Sprawd&#378;, czy zosta&#322;y wprowadzone wszystkie wymagane dane. Nast&#281;puj&#261;ce pola nie zosta&#322;y wype&#322;nione:";
mfErrorTrans["pt"] = "Verifique se introduziu todas as informa&ccedil;&otilde;es necess&aacute;rias. Os seguintes campos n&atilde;o est&atilde;o preenchidos:";
mfErrorTrans["sv"] = "Var god kontrollera att du har angett all n&ouml;dv&auml;ndig information. F&ouml;ljande f&auml;lt &auml;r inte fullst&auml;ndigt ifyllda:";
mfErrorTrans["zh"] = "&#35831;&#26816;&#26597;&#24744;&#26159;&#21542;&#24050;&#32463;&#36755;&#20837;&#25152;&#26377;&#24517;&#38656;&#30340;&#20449;&#24687;&#12290;&#20197;&#19979;&#23383;&#27573;&#22635;&#20889;&#19981;&#23436;&#25972;&#65306;";
var mfErrorMsg = mfErrorTrans["en"];
var mfErrorHeader = "<h3>Error</h3><div class=\"podBody\">";
var mfErrorFooter = "</ul></div>";
var mfErrorString = "";
var mfInputConditionList = new Array();
var mfInputConditionLabel = new Array();
var mfConditionalInput = new Array();
var mfOverrideLabel = new Array();
var mfAltLabel = new Array();
function FieldElement(formNameParam, forValue, forLabel)
{
var formElement = formNameParam.elements[forValue];

this.formName = formNameParam;
this.fieldId = forValue;
this.fieldName = formElement.name;
this.fieldType = formElement.type;
this.fieldValue = returnInputValue(formElement);
this.fieldClassName = formElement.className;
this.fieldLabel = forLabel;
this.conditional = (typeof mfConditionalInput[this.fieldName] == "undefined") ? false : true;
this.conditionalPassed = (this.conditional && eval(mfConditionalInput[this.fieldName])) ? true : false;
}
function hideBLSErrors()
{
var app = getElm("appErrors");
if ( app )
{
app.style.display = "none";
}
var bls = getElm("blsErrors");
if ( bls )
{
bls.style.display = "none";
}
}
function getTranslatedErrorMsg()
{
var mfLanguage = (typeof document.nav_form == "undefined") ? "en" : document.nav_form.language.value.toLowerCase();

if(typeof mfErrorTrans[mfLanguage] != "undefined")
{
mfErrorMsg = mfErrorTrans[mfLanguage];
}
}
function checkInputFields(formParam)
{
var pageid = checkInputFields.arguments[1];


hideBLSErrors();

getTranslatedErrorMsg();

var displayErrMsg = "";
var oldFieldName = "";
var noOfErrors = 0;
mfErrorString = "&nbsp;";
var formRef = formParam;

if(getChildElementsByTagName(formRef,"label").length>0)
{
var labels = getChildElementsByTagName(formRef,"label");


for(var i=0; i<labels.length; i++)
{
fieldObj = new FieldElement(formParam, labels[i].htmlFor, labels[i].innerHTML);


if(fieldObj.fieldClassName.indexOf("ruleMandatory") >= 0)
{

if (typeof mfAltLabel[fieldObj.fieldName] == "undefined")
{
labels[i].className = removeClassName(labels[i].className, mfErrorClass);
}
else
{

var alternateId = getIdElement(mfAltLabel[fieldObj.fieldName]);
alternateId.className = removeClassName(alternateId.className, mfErrorClass);
}

}


delete fieldObj;
}


for(var i=0; i<labels.length; i++)
{
fieldObj = new FieldElement(formParam, labels[i].htmlFor, labels[i].innerHTML);


if(fieldObj.fieldClassName.indexOf("ruleMandatory") >= 0)
{

if(checkValidInput(fieldObj) == false)
{

}
else
{

if(fieldObj.fieldName != oldFieldName)
{


if (typeof mfOverrideLabel[fieldObj.fieldName] == "undefined")
{
displayErrMsg = "<li>" + fieldObj.fieldLabel + "</li>";
}
else
{
displayErrMsg = "<li>" + mfOverrideLabel[fieldObj.fieldName] + "</li>";
}
addErrorLineToDisplay(mfErrorMsgArea, displayErrMsg, noOfErrors)
noOfErrors++;
}


if (typeof mfAltLabel[fieldObj.fieldName] == "undefined")
{
labels[i].className = addClassName(labels[i].className, mfErrorClass);
}
else
{

var alternateId = getIdElement(mfAltLabel[fieldObj.fieldName]);
alternateId.className = addClassName(alternateId.className, mfErrorClass);
}
oldFieldName = fieldObj.fieldName;
}

}


delete fieldObj;
}
}

if(noOfErrors > 0)
{
if (getIdElement(mfErrorMsgArea) != null)
{
mfErrorString += mfErrorFooter;

var p=getp(mfErrorString);
var strvalue=countTags(mfErrorString,p.substring(0,99));

if(pageid)
{
trackingInfo["err_msg"]= strvalue;
if (document.getElementById("t-tracking-fragment") !== null) { document.getElementById("t-tracking-fragment").innerHTML = vsDoTracking(); }


}
getIdElement(mfErrorMsgArea).innerHTML = mfErrorString;
getIdElement(mfErrorMsgArea).style.display = "block";

}


if (document.documentElement && document.documentElement.scrollTop)
{
document.documentElement.scrollTop=1;
}
else if (document.body && document.body.scrollTop)
{
document.body.scrollTop=1;
}
return false;
}
else
{
if (getIdElement(mfErrorMsgArea) != null)
{
getIdElement(mfErrorMsgArea).innerHTML = mfErrorString;
getIdElement(mfErrorMsgArea).style.display = "none";
}
return true;
}
}
function getp(htm)
{
pattern = /<p>(.*?)<\/p>/;
matches = htm.match(pattern);
the_string = matches[1];
return TrimString(the_string);
}
function countTags(scripttext,p)
{
var re = /<li>([\s\S]*?)<\/li>/gm;
var match;
while (match = re.exec(scripttext))
{
p=p+"|";
p=p+TrimString(match[1]).substring(0,99);
}
return p;
}
function TrimString(sInString)
{
sInString = sInString.replace( /^\s+/g, "" );
return sInString.replace( /\s+$/g, "" );
}
function addErrorLineToDisplay(errorID, errMsg, noErrs)
{
if(noErrs == 0)
{
mfErrorString = mfErrorHeader + "<p>" + mfErrorMsg + "</p><ul>";
}

mfErrorString += errMsg;
}
function checkValidInput(fieldObj)
{

if(!fieldObj.conditional || fieldObj.conditionalPassed)
{
if(fieldObj.fieldValue == "")
{
return true;
}
}

return false;
}
function returnInputValue(elementObj)
{
var returnValue = "";
switch(elementObj.type)
{
case "text": returnValue = elementObj.value; break;
case "search": returnValue = elementObj.value; break;
case "datetime": returnValue = elementObj.value; break;
case "date": returnValue = elementObj.value; break;
case "month": returnValue = elementObj.value; break;
case "week": returnValue = elementObj.value; break;
case "time": returnValue = elementObj.value; break;
case "datetime-local": returnValue = elementObj.value; break;
case "range": returnValue = elementObj.value; break;
case "color": returnValue = elementObj.value; break;
case "tel": returnValue = elementObj.value; break;
case "email": returnValue = elementObj.value; break;
case "url": returnValue = elementObj.value; break;
case "number": returnValue = elementObj.value; break;
case "password": returnValue = elementObj.value; break;
case "textarea": returnValue = elementObj.value; break;
case "select-one": returnValue = elementObj.value; break;
case "checkbox": returnValue = elementObj.checked ? "checked" : ""; break;
case "radio": var radioGroup = elementObj.form.elements[elementObj.name];
if (typeof radioGroup.length == "undefined")
{
if(radioGroup.checked)
{
returnValue = radioGroup.value;
}
}
else
{
for(var i=0; i < radioGroup.length; i++)
{
if(radioGroup[i].checked)
{
returnValue = radioGroup[i].value;
}
}
}
break;
}
return returnValue;
}
function removeClassName(classString, stringToRemove)
{

if (typeof stringToRemove == "undefined" || stringToRemove == "")
{
stringToRemove = mfErrorClass;
}

var classArray = classString.split(" ");
var newClassString = "";
for(var i=0; i < classArray.length; i++)
{
if(classArray[i] != stringToRemove)
{
newClassString = addClassName(newClassString,classArray[i]);
}
}
return newClassString;
}
function addClassName(classString, stringToAdd)
{
if (classString.length > 0)
return classString + " " + stringToAdd;
else
return stringToAdd;
}
function getChildElementsByTagName( parentNode, tagName )
{

if( parentNode.nodeType == 1 )
{
var nodes = new Array();

if( parentNode.childNodes.length > 0 )
{

if( parentNode.nodeName == tagName.toUpperCase() )
{

nodes = nodes.concat( parentNode );
}


for( var i = 0; i < parentNode.childNodes.length; i++ )
{
var children = getChildElementsByTagName( parentNode.childNodes[ i ], tagName );
if( children && children.length > 0 )
{
nodes = nodes.concat( children );
}
}
}

return nodes;
}
}

