﻿if (typeof ('Sys') !== 'undefined') Sys.Application.notifyScriptLoaded();


/************************************************************
***
**********************************************************
*Capture enter key...
*************************************************************
*************************************************************
*************************************************************/
function doClickOnEnterPress(buttonId, e) {
    var key;
    if (window.event)
        key = window.event.keyCode;
    else
        key = e.which;

    if (key == 13) {
        GetO(buttonId).click();
        event.keyCode = 0;
    }
}
/************************************************************
***
**********************************************************
*************************************************************
Left Nave class shuffling CSS!
*************************************************************
*************************************************************
*************************************************************/
function leftNavHover(cntrl, colors) {
    if (colors == null)
        colors = 'leadColorsHover';

    if (cntrl.className == null)
        cntrl.className = '';

    cntrl.className = ('LeftMenuLinksHoveredItem ' + colors + ' ' + cntrl.className).toString().trim();
}
function leftNavHoverOut(cntrl, colors) {
    if (colors == null)
        colors = 'leadColorsHover';

    if (cntrl.className == null)
        cntrl.className = '';

    cntrl.className = (cntrl.className.replace('LeftMenuLinksHoveredItem', '').replace(colors, '')).toString().trim();
}

/************************************************************
*************************************************************
*************************************************************
Image determination methods
*************************************************************
*************************************************************
*************************************************************/
function GetTypeImage(aType) {
    if (aType == 'email')
        return '<img src="/assets/images/icons/type/email.png" alt="Email Lead" title="Email Lead" />';
    if (aType == 'phone-in')
        return '<img src="/assets/images/icons/type/phone-in.png" alt="Phone-in Lead" title="Phone-in Lead" />';
    if (aType == 'walk-in')
        return '<img src="/assets/images/icons/type/walk-in.png" alt="Walk-in Lead" title="Walk-in Lead" />';

    return aType;
}

function GetDisplayedStatus(status) {
    var rSr = '<span class="StatusActive">Active</span>'

    if (status == 'Leased')
        rSr = '<span class="StatusLeased">Leased</span>';
    else if (status == 'Dead')
        rSr = '<span class="StatusDead">Dead</span>'

    return rSr;
}
function GetManagedImage(managed) {
    if (!managed)
        return '<img src="/assets/images/icons/Managed/Managed0.png" alt="This lead is unmanaged" title="This lead is unmanaged" />';

    return '';
}

function GetCategoryImage(aCatId, aCatType) {
    return '<img src="/assets/images/icons/category/category' + aCatId + '.png" title="' + aCatType + '" alt="' + aCatType + '"/>';
}

function GetNeedsImage(count) {
    var rImg = "<img alt='Days since followup: " + count + "' title='Days since followup: " + count + "' ";

    if (count < 6)
        rImg = rImg + "src='/assets/images/Icons/Numbers/3-5.gif' />";
    else if (count < 11)
        rImg = rImg + "src='/assets/images/Icons/Numbers/6-10.gif' />";
    else if (count < 16)
        rImg = rImg + "src='/assets/images/Icons/Numbers/11-15.gif' />";
    else if (count < 30)
        rImg = rImg + "src='/assets/images/Icons/Numbers/16-29.gif' />";
    else
        rImg = rImg + "src='/assets/images/Icons/Numbers/30.gif' />";

    return rImg;
}
function GetPMLinkDisplay(aPMId, aPMCode) {
    if (aPMId == null || aPMId.toString() == "")
        s = "<span class='highlightRed'><img src='assets/images/legacy/icons/link_break.png' alt='Not Linked' title='Not Linked' />";
    else {
        var s = "<span class='highlightGreen'><img src='assets/images/legacy/icons/database_link.png' alt='Linked' title='Linked' />";
        s = s + "<br/>" + aPMId.toString();
        if (aPMCode == null || aPMCode.toString() == "")
            s = s + "<br/>" + aPMCode.toString();
    }
    return s + "</span>";
}
/************************************************************
*************************************************************
*************************************************************
Date Picker Methods
*************************************************************
*************************************************************
*************************************************************/
function Picker_OnSelectionChanged(picker) {
    picker.AssociatedCalendar.SetSelectedDate(picker.GetSelectedDate());
}
function Calendar_OnSelectionChanged(calendar) {
    calendar.AssociatedPicker.SetSelectedDate(calendar.GetSelectedDate());
}
function Button_OnClick(alignElement, calendar) {
    if (calendar.PopUpObjectShowing) {
        calendar.Hide();
    }
    else {
        calendar.SetSelectedDate(calendar.AssociatedPicker.GetSelectedDate());
        calendar.Show(alignElement);
    }
}
function Button_OnMouseUp(calendar) {
    if (calendar.PopUpObjectShowing) {
        event.cancelBubble = true;
        event.returnValue = false;
        return false;
    }
    else {
        return true;
    }
}

/************************************************************
*************************************************************
*************************************************************
Object access methods
*************************************************************
*************************************************************
*************************************************************/
function GetO(fieldId) {
    return document.getElementById(fieldId);
}

/************************************************************
*************************************************************
*************************************************************
String Formats  - format phone, decimal, currency, etc
*************************************************************
*************************************************************
*************************************************************/
function FormatPhone(cntrl) {
    var val = cntrl.value.replace(/[^0-9]/g, '');

    if (val.length > 10)
        val = val.substring(0, 3) + '-' + val.substring(3, 6) + '-' + val.substring(6, 10) + ' x' + val.substring(10);

    else if (val.length > 5)
        val = val.substring(0, 3) + '-' + val.substring(3, 6) + '-' + val.substring(6);

    else if (val.length > 2)
        val = val.substring(0, 3) + '-' + val.substring(3);

    cntrl.value = val;
}

function ForceLength(cntrl, maxLength) {
    var val = cntrl.value;
    if (val.length > maxLength)
        cntrl.value = val.substring(0, maxLength);
}

function FormatCurrency(cntrl) {
    var val = cntrl.value.replace(/[^0-9.]/g, '');

    var data = val;
    var temp = data.split(".");
    if (temp[1] && temp[1].length > 2)
        temp[1] = temp[1].substr(0, 2);

    var output = "";
    var re = /(\d{1,3})$/;
    while (temp[0].match(re)) {
        output = "," + RegExp.$1 + output;
        temp[0] = temp[0].replace(re, '');
    }
    if ("undefined" !== typeof (temp[1])) {
        output += "." + String(temp[1]);
    }

    if (output.substring(1).length > 0)
        cntrl.value = "$" + output.substring(1);
    else
        cntrl.value = '';
}

function FormatDecimal(cntrl) {
    var val = cntrl.value.replace(/[^0-9.]/g, '');

    cntrl.value = val;
}


/************************************************************
*************************************************************
*************************************************************
The following functions will return the x/y component of the page's current scroll...
*************************************************************
*************************************************************
*************************************************************/
function GetPageYOffset() {
    var yOffset = 0;
    if ((document.documentElement.scrollTop == null || document.documentElement.scrollTop == 0) && (window.pageYOffset != null && window.pageYOffset > 0)) {
        yOffset = yOffset + window.pageYOffset;
    }
    else if (document.documentElement.scrollTop != null) {
        yOffset = yOffset + document.documentElement.scrollTop;
    }
    return yOffset;
}
function GetPageXOffset() {
    var xOffset = 0;
    if ((document.documentElement.scrollLeft == null || document.documentElement.scrollLeft == 0) && (window.pageXOffset != null && window.pageXOffset > 0)) {
        xOffset = xOffset + window.pageXOffset;
    }
    else if (document.documentElement.scrollLeft != null) {
        xOffset = xOffset + document.documentElement.scrollLeft;
    }
    return xOffset;
}


/************************************************************
*************************************************************
*************************************************************
Visibility Heplers
*************************************************************
*************************************************************
*************************************************************/
function Hide(fieldId) {
    GetO(fieldId).style.display = 'none';
}
function Show(fieldId) {
    GetO(fieldId).style.display = 'block';
}
function AlterVisibility(fieldId, visible) {
    if (visible)
        Show(fieldId);
    else
        Hide(fieldId);
}
function IsVisible(fieldId) {
    return GetO(fieldId).style.display == 'block';
}
function ToggleVisibility(fieldId) {

    if (IsVisible(fieldId)) {
        Hide(fieldId);
        return false;
    }
    else {
        Show(fieldId);
        return true;
    }

}
