﻿//global js functions

function getEventElem(e)
{
    var returnElem;
    
    if(!e) var e = window.event;
    
    if(e.target)
    {
        returnElem = e.target;
    }
    
    else if(e.srcElement)
    {
        returnElem = e.srcElement;
    }
    
    return returnElem;
}

function addListener(obj, evntType, func)
{
    if(window.addEventListener)
    {
        obj.addEventListener(evntType, func, false);
        return true;
    }
    
    else if(obj.attachEvent)
    {
        obj.attachEvent("on"+evntType, func);
        return true;
    }
    
    else
    {
        return false;
    }
    
}

function findLeftPos(obj)
{
    var curleft = 0;
    
    while(obj.offsetParent)
    {
        curleft += obj.offsetLeft;
        obj = obj.offsetParent;
    }
    
    return curleft;
}

function findTopPos(obj)
{
    var curTop = 0;
    
    while(obj.offsetParent)
    {
        curTop += obj.offsetTop;
        obj = obj.offsetParent;
    }
    
    return curTop;
}

function popCalendar(e, frameId, formname, fldname)
{
    var frameElem = document.getElementById(frameId);
    var eventElem = getEventElem(e);
    var fldObj = eval('document.' + formname + '.' + fldname)
    var fldVal = "";
    
    if(fldObj)
    {
        fldVal = fldObj.value;
    }
    
    if(frameElem && eventElem)
    {
        frameElem.src = "/includes/calendar.aspx?frm=" + formname + "&fld=" + fldname + "&fid=" + frameId + "&v=" + encodeURIComponent(fldVal);
        frameElem.style.display = "block";  
        frameElem.style.top = findTopPos(eventElem) + 'px';
        frameElem.style.left = findLeftPos(eventElem) + 'px';
        
    }
    
}

String.prototype.trim = function() {
                            return this.replace(/^\s+|\s+$/g,'');
}

