

var LnFPage_IsValid = true;
var LnFPage_Validators;

function LnFPage_ClientValidate(LnFPage_Validators) {
	this.LnFPage_Validators = LnFPage_Validators;
    var i;
    for (i = 0; i < LnFPage_Validators.length; i++) {
		LnFPage_Validators[i].enabled = true;
		ValidatorValidate(LnFPage_Validators[i]);
    }
    LnFValidatorUpdateIsValid();    
    LnFValidationSummaryOnSubmit();
    Page_BlockSubmit = !LnFPage_IsValid;   
    if(document.getElementById("pageMessageDtls")){
		if(!LnFPage_IsValid){
			document.getElementById("pageMessageDtls").style["display"] = "None";
		}
    }
    return LnFPage_IsValid;
}

function LnFValidatorUpdateIsValid() {
    var i; 
    for (i = 0; i < LnFPage_Validators.length; i++) {
        if (!LnFPage_Validators[i].isvalid) {
            LnFPage_IsValid = false;            
            return;
        }
   }   
   LnFPage_IsValid = true;
}


function LnFValidationSummaryOnSubmit() {
    if (typeof(Page_ValidationSummaries) == "undefined") 
        return;
    var summary, sums, s;
    for (sums = 0; sums < Page_ValidationSummaries.length; sums++) {
        summary = Page_ValidationSummaries[sums];
        summary.style.display = "none";
        if (!LnFPage_IsValid) {
            if (summary.showsummary != "False") {
                summary.style.display = "";
                if (typeof(summary.displaymode) != "string") {
                    summary.displaymode = "BulletList";
                }
                switch (summary.displaymode) {
                    case "List":
                        headerSep = "<br />";
                        first = "";
                        pre = "";
                        post = "<br />";
                        final = "";
                        break;
                    case "BulletList":
                    default: 
                        headerSep = "";
                        first = "<ul>";
                        pre = "<li>";
                        post = "</li>";
                        final = "</ul>";
                        break;
                    case "SingleParagraph":
                        headerSep = " ";
                        first = "";
                        pre = "";
                        post = " ";
                        final = "<br />";
                        break;
                }
                s = "";
                if (typeof(summary.headertext) == "string") {
                    s += summary.headertext + headerSep;
                }
                s += first;
                for (i=0; i<LnFPage_Validators.length; i++) {
                    if (!LnFPage_Validators[i].isvalid && typeof(LnFPage_Validators[i].errormessage) == "string") {
                        s += pre + LnFPage_Validators[i].errormessage + post;
                    }
                }   
                s += final;
                summary.innerHTML = s; 
                window.scrollTo(0,0);
            }
            if (summary.showmessagebox == "True") {
                s = "";
                if (typeof(summary.headertext) == "string") {
                    s += summary.headertext + "<br />";
                }
                for (i=0; i<LnFPage_Validators.length; i++) {
                    if (!LnFPage_Validators[i].isvalid && typeof(LnFPage_Validators[i].errormessage) == "string") {
                        switch (summary.displaymode) {
                            case "List":
                                s += LnFPage_Validators[i].errormessage + "<br />";
                                break;
                            case "BulletList":
                            default: 
                                s += "  - " + LnFPage_Validators[i].errormessage + "<br />";
                                break;
                            case "SingleParagraph":
                                s += LnFPage_Validators[i].errormessage + " ";
                                break;
                        }
                    }
                }
                span = document.createElement("SPAN");
                span.innerHTML = s;
                s = span.innerText;

            }
        }
    }
}

function ValidatorEnable(val, enable) {
    val.enabled = (enable != false);
    ValidatorValidate(val);
}

function ValidatorValidate(val) {    
    val.isvalid = true;
    if (val.enabled != false) {
        if (typeof(val.evaluationfunction) == "function") {
            val.isvalid = val.evaluationfunction(val); 
        }
    }
}

function EnableAllValidators(LnFPage_Validators)
	{
		HideMessageDetailsControl();
		this.LnFPage_Validators = LnFPage_Validators;
		var i; 
		for (i = 0; i < LnFPage_Validators.length; i++) 
		{
			ValidatorEnable(LnFPage_Validators[i], true);
		}
	}
	
function HideMessageDetailsControl()
{
	var obj = document.getElementById("pageMessageDtls");
	if (obj != null)
		obj.style.display = "none";
}

