    function SubValidation() {
        //check to see that the class 'Fail' is not showing
        if ($('#firstcheck').is('.fail') || $('#lastcheck').is('.fail') || $('#emailcheck').is('.fail')) {
            $('#modalrequired').css('visibility', 'visible');
        } else if ($('#firstcheck').is('.pass') && $('#lastcheck').is('.pass') && $('#emailcheck').is('.pass')){
            var First = $('#first').val();
            var Last = $('#last').val();
            var Email = $('#email').val();

            if (First == "First Name" || Last == "Last Name" || Email == "Email Address") {
                First = "NA";
                Last = "NA";
                Email = "NA";
            }
            
            InsertData(First, Last, Email);
        }
        else {
            //do something here
            //alert('Check Class not set');
        }
    }

    function InsertData(fvar, lvar, evar) {
        $.ajax({   
            type: "POST",   
            url: "/ModalService.asmx/InsertData",   
            data: "{'fn': '" + fvar + "', 'ln': '" + lvar + "', 'em': '" + evar + "'}",   
            contentType: "application/json; charset=utf-8",   
            dataType: "json",   
            success: function(json) {
                setCookie();
                $('#modalcontainer').hide();
                $('#modaloverlay').hide();   }
        }); 
    }
    
    function setCookie() {
        var c_name = "LS_MODAL";
        var value = "true";
        var expiredays = 365 ;

        var exdate=new Date();
        exdate.setDate(exdate.getDate()+expiredays);
        document.cookie=c_name+ "=" +escape(value)+
        ((expiredays==null) ? "" : ";expires="+exdate.toUTCString());
    }
    
    function getCookie() {
        var c_name = "LS_MODAL";
        if (document.cookie.length > 0) {
            c_start = document.cookie.indexOf(c_name + "=");
            if (c_start != -1) {
                c_start = c_start + c_name.length + 1;
                c_end = document.cookie.indexOf(";", c_start);
                if (c_end == -1) c_end = document.cookie.length;
                return unescape(document.cookie.substring(c_start, c_end));
            }
        }
        return "";
    }
    function checkCookie() {
        username = getCookie('LS_MODAL');
        var ua = navigator.userAgent.toLowerCase();
        //alert(ua);
        //have not seen the cookie and on the homepage
        if ((username == null || username == "") && ($("body").attr("id") == "Ls-") && (ua.indexOf('intel mac os x') > -1 || ua.indexOf('ppc mac os x') > -1 || ua.indexOf('mac_powerpc') > -1 || ua.indexOf('sunos') > -1 || ua.indexOf('windows nt') > -1 || ua.indexOf('windows 98') > -1 || ua.indexOf('ipad') > -1 || ua.indexOf('winnt') > -1))
        {
            $('#modalcontainer').show();
            $('#modaloverlay').show();
        }
        else {
            if (username != null && username != "") {
                setCookie();
            }
        }
    }

    function isValidEmailAddress(emailAddress) {
        var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
        return pattern.test(emailAddress);
    }


    function validation() {
        //$('#firstcheck, #lastcheck, #emailcheck').hide(); 
//FIRST NAME
        $('#first').blur(function() {
            var val = $.trim($(this).val());
            if (val == '') {
                $('#firstcheck').show().removeClass('pass').addClass('fail');
            } 
            else 
            {
                $('#firstcheck').show().removeClass('fail').addClass('pass');
            }
        });

        $('#first').focus(function() {
            //add blackColor Class
            $('#first').removeClass('grayFont').addClass('blackFont');
            var val = $.trim($(this).val());
            if (val == 'First Name') {
                $(this).val('');
            }

        });
        $('#first').blur(function() {
            
            var val = $.trim($(this).val());
            if (val == '') {
                $(this).val('First Name');
                //add grayColor Class
                $('#first').addClass('grayFont').removeClass('blackFont');
            }

        });
//LAST NAME
        $('#last').blur(function() {
            var val = $.trim($(this).val());
            if (val == '') {
                $('#lastcheck').show().removeClass('pass').addClass('fail');
            }
            else {
                $('#lastcheck').show().removeClass('fail').addClass('pass');
            }
        });

        $('#last').focus(function() {
            var val = $.trim($(this).val());
            $('#last').removeClass('grayFont').addClass('blackFont');
            if (val == 'Last Name') {
                $(this).val('');
            }

        });
        $('#last').blur(function() {
            var val = $.trim($(this).val());
            
            if (val == '') {
                $(this).val('Last Name');
                //add grayColor Class
                $('#last').addClass('grayFont').removeClass('blackFont');
            }

        });
//EMAIL
        $('#email').blur(function() {
            var email = $.trim($(this).val());
            if (email == '') {
                $(this).val('Email Address');
                //add grayColor Class
                $('#email').addClass('grayFont').removeClass('blackFont');
                $('#emailcheck').show().removeClass('pass').addClass('fail');
            }
            else if (email != 0 &&  email != 'Email Address') {
                if (isValidEmailAddress(email)) {
                    $('#emailcheck').show().removeClass('fail').addClass('pass');
                }
                else {
                    $('#emailcheck').show().removeClass('pass').addClass('fail');
                }
            }
        });

        $('#email').focus(function() {
            var val = $.trim($(this).val());
            $('#email').removeClass('grayFont').addClass('blackFont');
            if (val == 'Email Address') {
                $(this).val('');
            }
        });

        // hit ENTER to submit form
        $('#modalcontent').keypress(function(e) {
            if (e.keyCode == 13) {
                SubValidation();
            }
        });

        // hit ESC to close form
        $('#modalcontent').keypress(function(e) {
            if (e.keyCode == 27) {
                setCookie();
                $('#modalcontainer').hide();
                $('#modaloverlay').hide();
            }
        });
        
    };
    
    $(document).ready(function() {


        $('#modalcontainer').hide();
        $('#modaloverlay').hide();

        $('#modaloverlay').css({
            height: $(document).height()
        });

        validation();
        
        var settings = {
            tl: { radius: 10 },
            tr: { radius: 10 },
            bl: { radius: 10 },
            br: { radius: 10 },
            antiAlias: true
        };

        $('#closeModal').click(function() {
            setCookie();
            $('#modalcontainer').hide();
            $('#modaloverlay').hide();
        });
        $('#CloseXHref').click(function() {
            setCookie();
            $('#modalcontainer').hide();
            $('#modaloverlay').hide();
        });

        checkCookie();

    });
