﻿if(jQuery)
{
    /* jQuery extensions */
    
    jQuery.fn.trim = 
        function() 
        { 
            this.each
            (
                function()
                {
                    if((this.tagName.toLowerCase() == "input" && this.type && this.type.toLowerCase() == "text") 
                        || this.tagName.toLowerCase() == "textarea")
                    {
                        var txt = $(this);
                        txt.val(jQuery.trim(txt.val()));
                    }
                }
            );            
        }
}

/* utility functions */
function scrollToReviews()
{
    if(jQuery('#reviews') && $)
        $.scrollTo($('#reviews'), 1250);
}

var bIsLoginBoxAnimating = false;

function showLoginDialog(bStayPut)
{
    if(jQuery)
    {
        var hlMyHealthJourney = jQuery('#hlMyHealthJourney');
        var pnlLogin = jQuery('.login_dialogue');
        var hfStayOnPageID = jQuery('#hfStayOnPageID')
        var hfStayOnPage = null;
        
        if(hfStayOnPageID.attr('id'))
            hfStayOnPage = jQuery('#' + hfStayOnPageID.val());
        
        if(pnlLogin.attr('id') && !bIsLoginBoxAnimating)
        {
            bIsLoginBoxAnimating = true;
            pnlLogin.slideToggle
            (
                500, 
                function() 
                { 
                    bIsLoginBoxAnimating = false; 
                    
                    if(bStayPut != null)
                        hfStayOnPage.val(bStayPut);
                    else
                        hfStayOnPage.val(false);
                }
            );
        }
        else if(pnlLogin.attr('id') == null)
        {
            hlMyHealthJourney.click();
        }
    }
}
function doLoginDrop() {
    showLoginDialog(false);
}

function goToExtranetLanding()
{
    if(jQuery)
    {
        var aExtranet = jQuery('.extranet_landing')[0];
        
        if(!aExtranet)
            aExtranet = jQuery('.login_trigger')[0];
     
        if(aExtranet)
            jQuery(aExtranet).trigger('click');
    }
}

function isValidEmail(strEmail)
{
    var reEmail  =/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
    return reEmail.test(strEmail);
}

function fixPaginationLinks()
{
    if(jQuery && jQuery.browser.msie)
    {
        jQuery('.HRPaginationRight a:last-child').addClass('last');
        jQuery('.HRPaginationRight span span:last-child').addClass('last');
    }
}

function isDateTextMMDDYYYYFormat(strDate, strSeparator)
{
    var strSpecialChars ="[\^$.|?*+(){}";
    
    if(strSpecialChars.indexOf(strSeparator) > -1)
        strSeparator = '\\' + strSeparator;
    
    var strDateFormat = "^\\d{1,2}%delim%\\d{1,2}%delim%\\d{4}$";
    var strRE = strDateFormat.replaceAll('%delim%', strSeparator);
    
    var reDate = new RegExp(strRE);
    
    return reDate.test(strDate);
}


/* Extensions */

String.prototype.replaceAll = 
    function(strOld, strNew)
    {
        var aryStr = this.split(strOld);
        
        if(aryStr.length > 1)
            return aryStr.join(strNew);
        
        return this;
    }