﻿

function ValidateRequiredField(source, arguments) {
    
    var val1 = GetCtrlValue(source.ControlId1);
    var val2 = GetCtrlValue(source.ControlId2);

    var ctrl1, ctrl2;
    if (source.ControlId1.indexOf('Phone') > 0) {
        var ctrl1 = $('#' + source.ControlId1 + "_a");
    }
    else {
        var ctrl1 = $('#' + source.ControlId1);
    }

    if (source.ControlId2.indexOf('Phone') > 0) {
        var ctrl2 = $('#' + source.ControlId2 + "_a");
    }
    else {
        var ctrl2 = $('#' + source.ControlId2);
    }
    
    if (ctrl1 != null && ctrl2 != null) {
        if (val1 != '' || val2 != '') {
            arguments.IsValid = true;
            ctrl1.removeClass("RequiredError");
            ctrl2.removeClass("RequiredError");
        }
        else {           
            arguments.IsValid = false;
            ctrl1.addClass("RequiredError");
            ctrl2.addClass("RequiredError");
        }
    }
    
}

function GetCtrlValue(id) {
  
    var val = '';

    if (id.indexOf('Phone') > 0) {
    	var inputText = $('input[id*="' + id + '"]');
    	var i = 0;
    	for (i = 0; i < inputText.length; i++) {
    		val = val + $('#' + inputText[i].id).val();
    	}
    	if (val.length < 9) val = '';
    }
    else {
        var inputText = $('#' + id + ' > div > input[type=text]');
        var inputRadio = $('#' + id + ' > div > span > input[type=radio]:checked');
        var inputCheckbox = $('#' + id + ' > div > span > span > input[type=checkbox]:checked');
        var select = $('#' + id + ' > div > select');
              
        if (inputText.length > 0) {         
            val = $('#' + inputText[0].id).val();
        }
        else if (inputRadio.length > 0) {
            val = 'true';
        }
        else if (inputCheckbox.length > 0) {
            val = 'true';
        }
        else if (select.length > 0) {
            if (select[0].val() != '0') {
                val = 'true';
            }
        }
    }
  
    return val;

}
