﻿var _delayedPostBackFunction = null,
	_customValidation = new Array();

// Add fields that should have custom validation for removing classes onblur
function AddCustomValidation() {
	for (var i = 0; i < arguments.length; i++) {
		_customValidation[_customValidation.length] = arguments[i];
	}
}

// Function for custom validation of text fields
function CustomValidation(container) {
	jQuery(document).ready(function() {
		jQuery("#" + container + " input.textBox").blur(function() {
			if (_customValidation && _customValidation != null) {
				var textBox = jQuery(this);
				for (var i = 0; i < _customValidation.length; i++) {
					if (textBox.attr("id") == _customValidation[i].id) {
						var valid = false;
						if (_customValidation[i].val == '' && textBox.val() != '') {
							valid = true;
						}
						else if (_customValidation[i].val != '') {
							valid = textBox.val().match(_customValidation[i].val)
						}
						if (valid) {
							textBox.removeClass("notValid");
							textBox.nextAll("span").hide();
						} else {
							textBox.addClass("notValid");
							textBox.nextAll("span").show().next("span").hide();
						}
					}
				}
			}
		});
	});
}

function GetRegionAndOrganization(e) {
    var postalCode = e.value.trim().replace(" ", "");
    if (!isNaN(postalCode) && postalCode.length == 5) {
        jQuery("div.ajaxLoader").parent().show();
        eval(postalCodePostbackReference);
    }
}

function GetLocality(e) {
    var postalCode = e.value.trim().replace(" ", "");
    if (!isNaN(postalCode) && postalCode.length == 5) {
        jQuery.ajax({
            type: "POST",
            url: "/Services/LocalityService.asmx/GetLocalityName",
            data: "{ postalCode : " + postalCode + " }",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                jQuery(e).parent("div.inputBlock").next("div.inputBlock").find("input.textBox").val(msg.d);
            },
            error: function(er) {
                // do nothing
            }
        });
    }
}

function UpdateFee(e) {
    window.clearTimeout(_delayedPostBackFunction);
    var employeeCount = e.value.trim();
    if (employeeCount != "" && !isNaN(employeeCount)) {
        _delayedPostBackFunction = window.setTimeout(employeeCountPostbackReference, 2000);
    }
}

function GetOrganizations(list1,list2) {
    jQuery(document).ready(function() {
        jQuery.ajax({
            type: "POST",
            url: "/Services/OrganizationService.asmx/GetOrganizations",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                var listOptions = "",
					regionList = jQuery("#" + list1),
					orgList = jQuery("#" + list2);

                for (org in msg.d) {
                    listOptions += "<option value=\"" + msg.d[org].OrgIntID + "\">" + msg.d[org].PresentationName + "</option>";
                    if (msg.d[org].Selected) {
                        var index = regionList.children().index(regionList.children("[value=" + msg.d[org].ParentOrgIntID + "]"));
                        regionList.attr("selectedIndex", index);
                    }
                }
                orgList.append(listOptions);
            },
            error: function(er) {
                // do nothing
            }
        });
    });
}

function ShowLocalityOptions() {
    jQuery(document).ready(function() {
        jQuery("div.LocalityOptionsPlaceHolder").show();
        jQuery("div.LocalityInfoPlaceHolder").hide();
    });
}


