﻿// global clientside events to run on all pages

if(jQuery)
{        
    jQuery(document).ready
    (
        function()
        {
            var aryTxt = jQuery('input[type="text"],textarea');

	        aryTxt.blur
            (
                function() {
                    var txt = jQuery(this);
                    
                    //remove html/script tags
                    var reTags = /<(.|\n)*?>/g;
                    
                    txt.val(jQuery.trim(txt.val()).replace(reTags, ""));
                }
            );
        
            var aryTxtDefaultValue = jQuery('input[type="text"][default_value]');
            
            aryTxtDefaultValue.each
            (
                function()
                {
                    var txt = $(this);
                    
                    var strDefault = (txt.attr("default_value") ? txt.attr("default_value") : null);
                    
                    txt.focus
                    (
                        function()
                        {
                            var strDefault = (txt.attr("default_value") ? txt.attr("default_value") : null);        
                            
                            if(strDefault && txt.val() == strDefault)
                            {
                                txt.val("");
                            }
                        }
                    );
                    
                    txt.blur
                    (
                        function()
                        {
                            txt.val(jQuery.trim(txt.val()));
                            
                            var strDefault = (txt.attr("default_value") ? txt.attr("default_value") : null);        
                            
                            if((strDefault && txt.val() == ""))
                            {
                                txt.val(strDefault);
                            }
                        }
                    );
                    
                    txt.keypress
                    (
                        function(e)
                        {
                            if(e.which == 13)
                            {
                            
                                txt.val(jQuery.trim(txt.val()));
                                   
                                var bRet = true;
                                
                                if((strDefault && txt.val() == strDefault) || (txt.val() == "") )
                                {
                                    bRet = false;   
                                }
                                
                                return bRet;
                            }
                        }
                    );
                }
            );
            
            var aryTxtButtonID = jQuery('input[type="text"][button_id]');
            
            aryTxtButtonID.each
            (
                function()
                {
                    var txt = $(this);
                    var btn = (txt.attr('button_id') ? jQuery('#' + txt.attr('button_id')) : null);
                    var strDefault = (txt.attr("default_value") ? txt.attr("default_value") : null);
                    
                    if(btn)
                    {
                        btn.click
                        (
                            function()
                            {
                                var bRet = true;
                                
                                if((strDefault && txt.val() == strDefault) || (txt.val() == ""))
                                {
                                    if(strDefault)
                                        txt.val(strDefault);
                                        
                                    bRet = false;
                                }
                                else
                                {
                                  bRet = true;
                                }
                                
                                btn.blur();
                                
                                return bRet;
                            }
                        );
                    }
                }
            );
            
            var bPreventHtmlEvent = false;
        
            jQuery('.login_trigger').click
            (
                function()
                {
                    var cntrl = $(this);
                    
                    var bStayPut = false;
                    
                    if(cntrl.attr('stay_on_page') && cntrl.attr('stay_on_page').toLowerCase() == "true")
                        bStayPut = true;
                
                    showLoginDialog(bStayPut);
                }
            );
            
            
            // close login panel if someone clicks outside of it
            $('body').click
            (
                function(e)
                {
                    var pnlLogin = jQuery('.login_dialogue');
                    var bNotInsidePanel = jQuery(e.target).closest('.login_dialogue').length == 0;
        
                    if(pnlLogin.attr('id') && !bIsLoginBoxAnimating && pnlLogin.css('display') == 'block' && bNotInsidePanel)
                    {
                        bIsLoginBoxAnimating = true;
                        pnlLogin.slideUp(500, function() { bIsLoginBoxAnimating = false;});
                    }
                }
            );
            
            var aryTxt = jQuery('input[type="text"],textarea');
            
            aryTxt.blur
            (
                function()
                {
                    var txt = $(this);
                    txt.trim();
                    
                    // if .net ajax
                    if(typeof($get) === 'function')
                    {
                        var txtBox = $get(txt.attr('id'));
                     
                        // if behaviors are associated with this textbox   
                        if(txtBox._behaviors)
                        {
                            var aryBlur = new Array();
                            
                            for(var b in txtBox._behaviors)
                            {
                                // if this textbox has a watermark extender control on it
                                if(txtBox._behaviors[b] && txtBox._behaviors[b]._watermarkText && txtBox._behaviors[b]._blurHandler)
                                {
                                    aryBlur.push(txtBox._behaviors[b]._blurHandler);
                                }
                            }
                            
                            // if empty and watermark extender events are defined
                            if(txt.val() == "" && aryBlur.length > 0)
                            {
                                // invoke watermark extender event
                                for(var i = 0; i < aryBlur.length; i++)
                                    aryBlur[i]();
                            }
                            
                            // clean up
                            delete aryBlur;
                            aryBlur = null;
                        }
                    }
                }
            );
            
            aryTxt.focus
            (
                function()
                {
                    // if .net ajax
                    if(typeof($get) === 'function')
                    {
                        var txtBox = $get($(this).attr('id'));
                        
                        // if behaviors are associated with this textbox   
                        if(txtBox._behaviors)
                        {
                            var aryBlur = new Array();
                            
                            for(var b in txtBox._behaviors)
                            {
                                // if this textbox has a watermark extender control on it
                                if(txtBox._behaviors[b] && txtBox._behaviors[b]._watermarkText && txtBox._behaviors[b]._focusHandler)
                                {
                                    // keep track of watermark extender text and focus handler
                                    var obj = {Text: txtBox._behaviors[b]._watermarkText, Focus: txtBox._behaviors[b]._focusHandler};
                                    
                                    aryBlur.push(obj);
                                }
                            }
                            
                            for(var i = 0; i < aryBlur.length; i++)
                            {
                                // if text in textbox is the same as the watermark extender text
                                if(txtBox.value == aryBlur[i].Text)
                                {
                                    // empty textbox
                                    txtBox.value = "";
                                    
                                    // invoke focus handler
                                    aryBlur[i].Focus();
                                }
                            }
                            
                            // clean up
                            delete aryBlur;
                            aryBlur = null;
                        }
                    }   
                }
            );
            
            var form = jQuery('form');
               
            form.submit
            (
                function()
                {
                    aryTxt.trim();
                }
            );
            
            var hlMyHealthJourney = jQuery('#hlMyHealthJourney');
            
            hlMyHealthJourney.click
            (
                function()
                {
                    window.location.href = this.href;
                }
            );
            
            bind_greybox_parent_redirect();
            bind_hide_when_logged_in();
            
            Sys.WebForms.PageRequestManager.getInstance().add_endRequest
            (
                function(sender, args)
                {
                    bind_greybox_parent_redirect();
                    bind_hide_when_logged_in();
                }
            );
            
		    jQuery('select[multiple]').change
		    (
		        function()
		        {
		            var select = jQuery(this);
    		        
		            if(select.val().length > 1)
		            {
		                var oEmpty = select.children('option[value=""]');
    		            
		                if(oEmpty)
		                    oEmpty.get(0).selected = false;
		            }
		        }
		    );
        }
    );
}   
function bind_greybox_parent_redirect()
{
    var hlGreyBoxParentRedirect = jQuery('a.greybox_parent_redirect');
                
    hlGreyBoxParentRedirect.each
    (
        function()
        {
            var a = jQuery(this);
            
            if(parent.parent)
            {
                var strHref = a.attr("href");
                a.attr("href", "javascript:parent.parent.GB_hide();window.top.window.location.href = '" + strHref + "';");
                a.removeClass('greybox_parent_redirect');
            }
        }
    );
}

function bind_hide_when_logged_in()
{
    if(typeof(bLoggedIn) != "undefined" && bLoggedIn)
    {
        var aryHide = jQuery('.hide_when_logged_in');
                
        aryHide.each
        (
            function()
            {
                var el = jQuery(this);
                el.hide();
            }
        );
    }
}
