﻿if(typeof(GRR) == 'undefined') GRR = {}; 
//if(typeof(GRR.Validator) == 'undefined') GRR.Validator = {};

GRR.initValidator = function(searchType, rdoSearchTypeElement, yearFromElement, searchGroupType, maxAge) {

    if (searchType) {
        this.searchType = searchType;
        
    } else {
        this.arrSearchTypes = $get(rdoSearchTypeElement).getElementsByTagName('option');
    }
    this.yearFrom = $get(yearFromElement);
    this.searchGroupType = searchGroupType;
    this.maxAge = maxAge;
    
    //alert(this.arrSearchTypes.length);

}

function RecordsSearchValidate(source, arguments) {

//    /* year validation */
    if (GRR.searchType) {
        val = GRR.searchType;
    } else {
        for (var i = 0; i < GRR.arrSearchTypes.length; i++) {
            if (GRR.arrSearchTypes[i].selected) {
                val = GRR.arrSearchTypes[i].value;
            }
        }
    }

    switch (this.searchGroupType) {
        case 1: //census
            val = (val.length > 0 ? val : 'c1901');
            break;
        case 2: //bmd
            val = (val.length > 0 ? val : 'b');
            break;   
    
    }
    
    var yeartype = "Birth";
    var maxYear = 0;
    var minYear = 2009;
    switch (val) {
        case 'c1911':
            maxYear = 1911
            minYear = maxYear - GRR.maxAge;
            break;
        case 'c1901':
            maxYear = 1901
            minYear = maxYear - GRR.maxAge;
            break;
        case 'c1891':
            maxYear = 1891
            minYear = maxYear - GRR.maxAge;
            break;
        case 'c1881':
            maxYear = 1881
            minYear = maxYear - GRR.maxAge;
            break;
        case 'c1871':
            maxYear = 1871
            minYear = maxYear - GRR.maxAge;
            break;
        case 'c1861':
            maxYear = 1861
            minYear = maxYear - GRR.maxAge;
            break;
        case 'c1851':
            maxYear = 1851
            minYear = maxYear - GRR.maxAge;
            break;
        case 'c1841':
            maxYear = 1841
            minYear = maxYear - GRR.maxAge;
            break;
        case "b":
            minYear = 1837;
            maxYear = 1983;
            break;
        case "m":
            yeartype = "Marriage"
            minYear = 1837;
            maxYear = 2005;
            break;
        case "d":
            yeartype = "Death"
            minYear = 1837;
            maxYear = 2005;
            break;
        default:
            minYear = 1841 - GRR.maxAge;
            maxYear = 2005;
            break;
    }

    var enteredVal = GRR.yearFrom.value;
    
    if (enteredVal.length > 0) {
    
        source.errormessage  = "Please enter a Year of "+yeartype+" between "+minYear+" and "+maxYear;


        if (minYear <= enteredVal && enteredVal <= maxYear) {
            arguments.IsValid = true;
        }else{
            arguments.IsValid = false;    
        }
        
    }else{
            arguments.IsValid = true;
    }

}

