﻿var _last_id = 0;
var _divEmployeeDetails;
var _divHelpText;
var _mouseX;
var _mouseY;
var _isNN = document.layers ? true : false;
var _isIE = document.all ? true : false;
var _counter = 0;

//Tracker code
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

function trackPage(paramName,paramValue,uri)
{
    try {

        //alert('test');
    
        var pageTracker = _gat._getTracker("UA-3023915-3");
        pageTracker._setCustomVar(1,paramName,paramValue,3);
        var trackerPage = '';

        if(uri != 'undefined')
        {
            if (uri != null) {
                trackerPage = uri;
            }
        }

        pageTracker._trackPageview(trackerPage);

        //document.title = 'operation complete -> ' + paramName + ',' + paramValue + ',' + uri;
   } catch(err) {}
}

function trackMouse() {

    if (_isNN)
        document.captureEvents(Event.MOUSEMOVE)
    document.onmousemove = handleMouseMove;
}
function doNothing() {
}
function handleMouseMove(evt) {

    if (!evt) { evt = window.event; }

    if (evt.pageX == undefined) {
        _mouseX = window.event.clientX;
    } else {
        _mouseX = evt.pageX;
    }
    if (evt.pageY == undefined) {
        _mouseY = window.event.clientY;
    } else {
        _mouseY = evt.pageY;
    }

    if (_divEmployeeDetails != undefined) {
        if (_divEmployeeDetails.style.visibility == 'visible') {
            _divEmployeeDetails.style.left = _mouseX + 5 + 'px';
            _divEmployeeDetails.style.top = _mouseY + 5 + 'px';
        }
    }

//    document.title = "Mouse: X=" + _mouseX + ",Y=" + _mouseY;

//    if (_divEmployeeDetails != undefined) {
//        document.title += "(" + _divEmployeeDetails.style.visibility + ")->(" + _divEmployeeDetails.innerHTML.length + ")";
//    }

    return false;
}

function InitXmlHttp() {
    // Attempt to initialize xmlhttp object
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
        // Try to use different activex object
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E) {
            xmlhttp = false;
        }
    }

    // If not initialized, create XMLHttpRequest object
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    // Define function call for when Request obj state has changed
    xmlhttp.onreadystatechange = XMLHttpRequestCompleted;
}

function InvokeASHX(uri) {
    
    InitXmlHttp();
    xmlhttp.onreadystatechange = XMLHttpRequestCompleted;
    xmlhttp.open("GET", uri, true);
    xmlhttp.send(null);
}

function XMLHttpRequestCompleted() 
{
    if (xmlhttp.readyState == 4) 
    {
        try {

            if (_divEmployeeDetails == undefined) {
                //alert('div loading failed');
                return; 
            }

            //alert(xmlhttp.responseText);
            
            _divEmployeeDetails.innerHTML = xmlhttp.responseText;
            //alert(_divEmployeeDetails.innerHTML);
        }
        catch (e) {
            alert(e);
        }
    }
}


function showEmployeeDetails(e, divName, uri) {

    e = (e) ? e : window.event;
    
    

    loadEmployeeDetailsDiv(divName);
    
    if (uri != _last_id) {

        InvokeASHX(uri);

        _last_id = uri;
    }

//    _divEmployeeDetails.style.left = e.clientX + 50 + "px";
//    _divEmployeeDetails.style.top = e.clientY + 50 + "px";
    _divEmployeeDetails.style.visibility = 'visible';

    //document.title = e.clientX + "::" + e.clientY + "::" + _counter++;
    //showDocTitle();
}

function showDocTitle() {

    if (_divEmployeeDetails == undefined) {
        //document.title = 'undefined';
    } else {
        //document.title = _divEmployeeDetails + ':[state]:' + _divEmployeeDetails.style.visibility + ":[left pos]:" + _divEmployeeDetails.style.left + ":[top pos]:" + _divEmployeeDetails.style.top
    }
}

function hideEmployeeDetails(divName) 
{
    loadEmployeeDetailsDiv(divName);

    if (_divEmployeeDetails == undefined) {return; }

    _divEmployeeDetails.style.visibility = 'hidden';

    //showDocTitle();
}

function loadEmployeeDetailsDiv(divName) {

    if (_divEmployeeDetails == undefined) {
        _divEmployeeDetails = document.getElementById(divName);

        if (_divEmployeeDetails == undefined) {
            //document.title = 'divEmpDetails missing';
        } else {
            //document.title = 'divEmpDetails loaded';
        //alert('divEmpDetails loaded [' + _divEmployeeDetails.style.left + '][' + _divEmployeeDetails.style.top + ']');
        }
    }
}


function ChangeGridViewRowCssClass(row, ClassName) 
{
    row.className = ClassName;
}

function RetreiveImage(imgCtrl, URI) 
{
    imgCtrl.src = URI;
}
function setEmployeeDetailsPos(e) 
{
    e = (e) ? e : window.event;

    var pos = e.clientX + "px:" + e.clientY + "px";

    var posBox = document.getElementById('ctl03_teEmployeeDetailsDivPos');

    if (posBox != undefined) {
        posBox.value = pos;
    } else {
        //alert(posBox);
    }
}
function showHelpText(id, divName) {


     try {
         var mouseX = _mouseX;
         var mouseY = _mouseY;

         loadHelpText(divName);

         InvokeHelpASHX(id);

         _divHelpText.style.visibility = 'visible';

         if (_divHelpText != undefined) {
             _divHelpText.style.left = (mouseX - 305) + 'px';
             _divHelpText.style.top = mouseY + 5 + 'px';
         }
     } catch (e1) {
        //document.title = e1;
     }

     //document.title = '->' + _divHelpText.style.left + _divHelpText.style.visibility;
    
}
function InvokeHelpASHX(id) 
{
    InitXmlHttp();
    xmlhttp.onreadystatechange = HelpXMLHttpRequestCompleted;
    xmlhttp.open("GET", "" + "/usercontrols/helploader.ashx?hid=" + id, true);
    xmlhttp.send(null);
}
function HelpXMLHttpRequestCompleted() 
{

    if (xmlhttp.readyState == 4) 
    {
        try 
        {

            if (_divHelpText == undefined) {
                //alert('div loading failed');
                return;
            }

            //alert(xmlhttp.responseText);

            _divHelpText.innerHTML = xmlhttp.responseText;
            //alert(_divHelpText.innerHTML);
        }
        catch (e) {
            //alert(e);
        }
    }
}
function hideHelpText(divName) 
{
    loadHelpText(divName);

    if (_divHelpText == undefined) { return; }

    _divHelpText.style.visibility = 'hidden';
}

function loadHelpText(divName) {

    if (_divHelpText == undefined) {
        _divHelpText = document.getElementById(divName);

        if (_divHelpText == undefined) {
            //alert('div missing:' + divName);
        } else {
            //alert('div loaded [' + _divHelpText.style.left + '][' + _divHelpText.style.top + ']');
        }
    }
}
function setCss(control, css, ignoreCss) {

    if (control.className != ignoreCss) 
    {
        control.className = css;
    }

}
function setCss2(control) {
    //alert(control.id);
}
function CheckAll(me,controlName) {

    var x = false;
    for (i = 0; i < document.forms[0].length; i++) {
        var o = document.forms[0][i];
        if (o.type == 'checkbox' && x == false) {
            if (controlName != o.name) {
                if (o.name.substring(0, controlName.length) == me || o.name.substring(0, controlName.length) == controlName.replace("_","$")) {
                    o.checked = me.checked;
                    //o.click();
                }
            }
        }
    }
}