﻿// JScript File

// determine if this is safari
var mnIsSafari = (navigator.appVersion.toLowerCase().indexOf('safari') > -1);

/*
==================================================================================================
Handler for the enter key
===================================================================================================
*/
document.onkeypress = liTrapKey;
function liTrapKey(e)
{
    if (!e) { e = window.event; }
    if (e && e.keyCode == 13) 
    {
        // do a check to see which button we should click
        var bHasSrch = false;
        var bHasLogin = false;
        var oSrchBtn = null;
        var oLogBtn = null;
        
        var oBtn = document.getElementsByTagName('INPUT');
        var i = 0;
        for (i=0; i<oBtn.length; i++)
        {
            if (oBtn[i].type.toLowerCase() == 'image')
            {
                if (oBtn[i].id.indexOf('_btnSearch') > -1) { bHasSrch = true; oSrchBtn = oBtn[i]; }
                if (oBtn[i].id.indexOf('_btnLogin') > -1) { bHasLogin = true; oLogBtn = oBtn[i]; }
            }
        }
        
        if (bHasSrch && liFindSearchBox()!=null && liFindSearchBox().value != '') 
        { oSrchBtn.click(); }
        else if (bHasLogin)
        { oLogBtn.click(); }
        
        if (bHasSrch || bHasLogin)
        {       
            e.cancelBubble = true;
            e.returnCode = false;
            return false;
        }
    }
}

function liFindSearchBox()
{
    var oBtn = document.getElementsByTagName('INPUT');
    var i = 0;
    var oCtl = null;
    for (i=0; i<oBtn.length; i++)
    {
        if (oBtn[i].type.toLowerCase() == 'text')
        {
            if (oBtn[i].id.indexOf('_txtSearch') > -1) {oCtl = oBtn[i]; }
        }
    }
    
    return oCtl;
}


/*
===================================================================================================
Menu functions
====================================================================================================
*/
var sBaseFO = 'fodiv_';


function doShowMenu(sId,oMenu)
{
//alert(document.getElementById(sId));
    // first close everything
    liHideAllMenus();
    // clear any timer
    liClearHT();
    // get the top and left for the current menu
    var nTop = (doGetOffsetTop(oMenu) + oMenu.offsetHeight) -10; // add the height of the menu so it is underneath
    var nLeft = doGetOffsetLeft(oMenu) + 10; // slightly indented
    
    // set the position of the current FO, and show it
    if (document.getElementById(sId))
    {
        doSetPos(sId,nTop,nLeft);
        doShowHide(sId);
    }
    
    
}


function doShowHide(sId)
{
    if (document.getElementById(sId))
    {
        document.getElementById(sId).style.display = (document.getElementById(sId).style.display=='none')?'inline':'none';
    }
}

function doSetPos(sId,nTop,nLeft)
{
    var oEl = document.getElementById(sId);    
    oEl.style.top = nTop + 'px';
    oEl.style.left = nLeft+'px';
}

var oTimer = null;

function liHideTimer(sId)
{
    if (document.getElementById(sId)) { document.getElementById(sId).style.display='none'; }
}

function liHideAllMenus()
{
    var oDiv = document.getElementsByTagName('DIV');
    var i = 0;
    for (i=0; i<oDiv.length; i++)
    {
        if (oDiv[i].id.indexOf(sBaseFO) > -1) { oDiv[i].style.display='none'; }
    }
}

//var sCurMenuId = '';

//function liSetHT_NS(e)
//{
//    if (!e) { e=window.event; } //IE Compat

//    var sId = sCurMenuId;
//    var nLen = null;
//    sCurMenuId = '';    
//    var sExp = 'liHideTimer(\'' + sId + '\');';
//    var nTime = ((nLen)?nLen: 2000);
//    oTimer = setTimeout(sExp,nTime);
//}

function liSetHT(sId,nLen)
{
    var sExp = 'liHideTimer(\'' + sId + '\');';
    var nTime = ((nLen)?nLen: 2000);
    oTimer = setTimeout(sExp,nTime);
}

function liClearHT(e)
{
    if (!e) { e=window.event; }
    clearTimeout(oTimer);
//    if (navigator.appName.toLowerCase().indexOf('microsoft') > -1)
//    {
//        e.cancelBubble = true;
//    }
//    else
//    {
//        stopPropagation();
//    }
}


function doGetOffsetTop(oEl)
{
    var oT = oEl.offsetHeight;
    while ((oEl = oEl.offsetParent) != null) { oT += oEl.offsetTop; }
    return oT;
}

function doGetOffsetLeft(oEl)
{
    var oT = oEl.offsetLeft;
    while ((oEl = oEl.offsetParent) != null) { oT += oEl.offsetLeft; }
    return oT;
}

/*
================================================================================================
MISC FUNCTION
===============================================================================================
*/

function liDoHideByIdPart(sBase)
{
      var oTbl = document.getElementsByTagName('TABLE');
      var x = 0;
      for (x=0; x<oTbl.length; x++)
      {
        if (oTbl[x].id.indexOf(sBase) > -1) { oTbl[x].style.display = 'none'; }
      }
}

function liDoShowById(sId)
{
    if (document.getElementById(sId)) { document.getElementById(sId).style.display = 'inline'; }
}

/*
==================================================================================================
CUSTOM DATA VALIDATORS
==================================================================================================
*/

function liValForumItem()
{

    if (document.getElementById('Topic').value == '') { alert('Please supply a TOPIC.'); return false; }
    if (document.getElementById('DatePosted').value == '') { alert('Please supply a POSTING DATE.'); return false; }
    if (document.getElementById('Message').value == '') { alert('Please supply a MESSAGE.'); return false; }
 
    return true;
}

function liValEditProfile()
{
    if (document.getElementById('FirstName') && document.getElementById('FirstName').value == '') { alert('FIRST NAME can not be blank.'); return false; }
    if (document.getElementById('LastName') && document.getElementById('LastName').value == '') { alert('LAST NAME can not be blank.'); return false; }
    if (document.getElementById('CompanyName') && document.getElementById('CompanyName').value == '') { alert('COMPANY NAME can not be blank.'); return false; }
    if (document.getElementById('FK_Role_PK') && document.getElementById('FK_Role_PK').value == '') { alert('Please select a TYPE.'); return false; }
    if (document.getElementById('Email').value == '') { alert('EMAIL address can not be blank.'); return false; }
    if (document.getElementById('NewPass').value != '' && (document.getElementById('NewPass').value != document.getElementById('ConfPass').value)) 
    { alert('New PASSWORD and PASSWORD CONFIRMATION do not match.'); return false; }
    
    return true;
}

function liValEventRegister()
{
    if (document.getElementById('FirstName').value == '') { alert('Please enter your FIRST NAME.'); return false; }
    if (document.getElementById('LastName').value == '') { alert('Please enter your LAST NAME.'); return false; }
    if (document.getElementById('Email').value == '') { alert('Please enter your EMAIL Address.'); return false; }
    
    return true;
}


function liReturnHome(xmlMasterDoc)
{
    var sUrl = '/';
    try
    {
        if (xmlMasterDoc.getElementsByTagName('redirectPage')[0].childNodes.length > 0)
        {
            sUrl = xmlMasterDoc.getElementsByTagName('redirectPage')[0].childNodes[0].nodeValue;
        }
    }
    catch (e) {}
    
    document.location.href = sUrl; 
}

function liReturnHomePopWin(xmlMasterDoc)
{
    //alert('Pop Win');
    var sUrl = '/';
    try
    {
        if (xmlMasterDoc.getElementsByTagName('redirectPage')[0].childNodes.length > 0)
        {
            sUrl = xmlMasterDoc.getElementsByTagName('redirectPage')[0].childNodes[0].nodeValue;
        }
    }
    catch (e) {}
    
    if (sUrl != '/')
    {
        window.open(sUrl,'newWin');
    }
}
