﻿// JScript File
var ShowSignInBoxFlag;
var SignInBox;

    
function FindSignInControls()
{
if (!ShowSignInBoxFlag)
    {
    ShowSignInBoxFlag = FindControl ("ShowSignInBoxFlag");
    SignInBox = FindControl ("SignInBox");
    }
}  

function HideSignInBox()
{
FindSignInControls();
SignInBox.style.display = 'none';
ShowSignInBoxFlag.value = 0;
}  
function ShowSignInBox()
{
FindSignInControls();
SignInBox.style.display = 'inline';
ShowSignInBoxFlag.value = 1;
} 
function SetSignInBox()
{
FindSignInControls();
SignInBox.style.display = (ShowSignInBoxFlag.value == 1)?'inline':'none'
} 
function ToggleSignInBox()
{
FindSignInControls();
ShowSignInBoxFlag.value = 1 - ShowSignInBoxFlag.value;
SetSignInBox()
} 

function SignInBoxPseudoLink(n, label){
// mouseover
if (n==1)
    {
    label.style.textDecoration="none";
    label.style.fontStyle = "normal";
    }

// mouse out
if (n==0)
    {
    label.style.textDecoration="underline";
    label.style.fontStyle = "italic";
    }
}

function help( directory, item, theme) 
{ 
var url = '../helppage.aspx';
if (directory =='root')
    url = 'helppage.aspx';
OpenPopup(   url + '?directory='+directory+'&item=' + item+'&theme=' + theme); 
}

//Finds and returns a control whose ClientID is stored in a hidden field
function FindControl(ControlName)
    {
    var HiddenField = document.all ? document.all[ControlName]:document.getElementById(ControlName);
    if (HiddenField==null||HiddenField==undefined) 
        return null 
    else 
        return document.all ? document.all[HiddenField.value]:document.getElementById(HiddenField.value);
    }
// Finds and returns a control with the given id
// Applies for controls which do not have runat=server    
function FindControlDirect(ControlID)
{
    return document.all ? document.all[ControlID]:document.getElementById(ControlID);
}
    
    

// Return the value stored in a hidden field
function GetHiddenFieldValue(HiddenFieldID)
    {
    var HiddenField = document.all ? document.all[HiddenFieldID]:document.getElementById(HiddenFieldID);
    if (HiddenField==null||HiddenField==undefined) 
        return null 
    else 
        return HiddenField.value;
    }

    
// when cursor first enters box, clear its contents
function ClearBox(Box)
    { 
    if(Box.value==Box.defaultValue) 
        {
        Box.value = "";
        }
    }
     

// for check box lists and radio button lists
// return an array of controls which have the same name
// the name of the set of controls is stored in a hidden field
function FindControlList(ControlName)
    {
    var HiddenField = document.all ? document.all[ControlName]:document.getElementById(ControlName);
    if (HiddenField==null||HiddenField==undefined) 
        return null;
    else
        return document.getElementsByName(HiddenField.value);
    }

// find which element of a radio button list is selected
function GetSelectedIndex(Control)
    {
    var result = -1;
    for (var i = 0; i < Control.length; i++)
        {
        if (Control[i].checked)
            result = i;
        }
    return result;
    }

   /* 
*/
// open a popup window

function OpenPopup(Url) 
    { 
    myname='popup';
    if(screen.width)
        {var winl = (screen.width-630)/2;var wint = (screen.height-500)/2;}
    else
        {winl = 0;wint =0;}  
    if (winl < 0) 
        winl = 0;  
    if (wint < 0) 
        wint = 0;  
    var settings = 'height=' + 500 + ',';  
    settings += 'width=' + 630 + ',';  
    settings += 'top=' + wint + ',';  
    settings += 'left=' + winl + ',';  
    settings += 'scrollbars=yes, resizable=yes';
    win = window.open(Url,myname,settings); 
    win.window.focus();
    }


// Functions to drive tooltips
// See also JavaScriptHelper.MakeTip



var ToolTipSpace={}

ToolTipSpace.CurrentToolTip = {};
ToolTipSpace.CurrentToolText = {};
ToolTipSpace.CurrentToolPointer = {};
ToolTipSpace.TipIsLive = false;

ToolTipSpace.mouseX = function(evt)
{
    if (!evt)
        evt = window.event; 
    if (evt.pageX) 
        return evt.pageX; 
    else if (evt.clientX)
        return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft);
    else 
        return 0;
}
ToolTipSpace.mouseY = function(evt)
{if (!evt) evt = window.event; if (evt.pageY) return evt.pageY; else if (evt.clientY)return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); else return 0;}


// Browser Window Size and Position
// copyright Stephen Chapman, 3rd Jan 2005, 8th Dec 2005
// you may copy these functions but please keep the copyright notice as well
ToolTipSpace.pageWidth = function()
{return window.innerWidth != null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ?       document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;} 

ToolTipSpace.pageHeight = function() {return  window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ?  document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;} 

ToolTipSpace.posLeft  = function(){return typeof window.pageXOffset != 'undefined' ? window.pageXOffset :document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0;} 

ToolTipSpace.posTop = function() {return typeof window.pageYOffset != 'undefined' ?  window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0;}


ToolTipSpace.posRight = function()  {return ToolTipSpace.posLeft()+ToolTipSpace.pageWidth();}
ToolTipSpace.posBottom = function()  {return ToolTipSpace.posTop()+ToolTipSpace.pageHeight();}
                    

ToolTipSpace.moveTip = function(evt) 
{
    if (ToolTipSpace.TipIsLive) 
    {
    ToolTipSpace.CurrentToolPointer.style.visibility = 'inherit'
    var offX = [5,35,5]
    var offY = [5,35,25]

    var MouseX = parseInt(ToolTipSpace.mouseX(evt));
    var MouseY = parseInt(ToolTipSpace.mouseY(evt));
    
    TipX = MouseX + offX[0];
    TipY = MouseY + offY[0];
    var posleft= ToolTipSpace.posLeft();
    var postop = ToolTipSpace.posTop();

    var rightEdge= ToolTipSpace.posRight()-MouseX-ToolTipSpace.CurrentToolText.offsetWidth-offX[1]; 
    var bottomEdge= ToolTipSpace.posBottom()-MouseY-ToolTipSpace.CurrentToolText.offsetHeight-offY[1] ;
    if (rightEdge < 0)
    {
        TipX = TipX - ToolTipSpace.CurrentToolText.offsetWidth-offX[2];
        ToolTipSpace.CurrentToolPointer.style.visibility = 'hidden'; 
    }
        
    if (bottomEdge < 0)
    {
        TipY = TipY - ToolTipSpace.CurrentToolText.offsetHeight - offY[2];
        ToolTipSpace.CurrentToolPointer.style.visibility = 'hidden'; 
    }   
    ToolTipSpace.CurrentToolTip.style.visibility = 'visible';
    ToolTipSpace.CurrentToolTip.style.left = TipX + 'px';
    ToolTipSpace.CurrentToolTip.style.top = TipY + 'px';
        
    }
}

ToolTipSpace.showTip = function(id)

{
    ToolTipSpace.CurrentToolTip = document.getElementById('tipdiv' +id);
    ToolTipSpace.CurrentToolText = document.getElementById('tiptext' +id);
    ToolTipSpace.CurrentToolPointer = document.getElementById('tippointer' +id);
    ToolTipSpace.TipIsLive = true;
    document.onmousemove = ToolTipSpace.moveTip;
}

ToolTipSpace.hideTip = function(id)
{
    ToolTipSpace.CurrentToolTip.style.visibility='hidden';
    ToolTipSpace.TipIsLive = false;
    document.onmousemove='';
}

var UpdatePanelMessageSpace={}
UpdatePanelMessageSpace.ErrorFlag = {};
UpdatePanelMessageSpace.UpdateStatusMessage = {};
UpdatePanelMessageSpace.UpdateProgressImage = {};
UpdatePanelMessageSpace.TimerVariable = {};
UpdatePanelMessageSpace.CurrentOpacity = {};


UpdatePanelMessageSpace.posLeft  = function()
{
    return typeof window.pageXOffset != 'undefined' ? window.pageXOffset :document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0;
} 

UpdatePanelMessageSpace.posTop = function() 
{
    return typeof window.pageYOffset != 'undefined' ?  window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0;
}


UpdatePanelMessageSpace.moveObjTo = function(objectID,x,y)
{ 
    var objs = $get(objectID);
    if (objs)
    {
        objs.style.left = x; 
        objs.style.top = y;
    }
}

UpdatePanelMessageSpace.PositionUpdateStatusMessage = function()
{
    var topMargin = 10;
    var leftMargin = 20;
    var x = (UpdatePanelMessageSpace.posLeft()+leftMargin) + 'px';
    var y = (UpdatePanelMessageSpace.posTop()+topMargin) + 'px';
    UpdatePanelMessageSpace.moveObjTo('UpdateMessagesLocation',x,y);
   // $get('UpdateMessagesLocation').style.visibility='visible';
}

UpdatePanelMessageSpace.setOpacity = function(opacity)
{
    if (navigator.userAgent.indexOf("MSIE") != -1) 
    {
        var normalized = Math.round(opacity * 100);
        $get('UpdateMessagesLocation').style.filter = "alpha(opacity=" + normalized + ")";
    } 
    else 
    {
        $get('UpdateMessagesLocation').style.opacity = opacity;
    }
    UpdatePanelMessageSpace.CurrentOpacity = opacity;
}

UpdatePanelMessageSpace.EndRequestHandler = function(sender, args)
{
    if(args.get_error())
    {
        $get(UpdatePanelMessageSpace.UpdateStatusMessage).innerHTML = args.get_error().message;
        $get(UpdatePanelMessageSpace.ErrorFlag).value = 'true';
        args.set_errorHandled( true );
    }
    if ($get(UpdatePanelMessageSpace.UpdateStatusMessage).innerHTML)
    {
        UpdatePanelMessageSpace.PositionUpdateStatusMessage();
        UpdatePanelMessageSpace.setOpacity( 1);
        $get('UpdateMessagesLocation').style.visibility='visible';
        $get(UpdatePanelMessageSpace.UpdateProgressImage).style.visibility='hidden';
        var ErrorStatus =Boolean.parse($get(UpdatePanelMessageSpace.ErrorFlag).value); 
        UpdatePanelMessageSpace.TimerVariable = setTimeout('UpdatePanelMessageSpace.Fade()',5000);
        if (ErrorStatus)
            alert ($get(UpdatePanelMessageSpace.UpdateStatusMessage).innerHTML);
    }
    else
    {
        $get('UpdateMessagesLocation').style.visibility='hidden';
    }
}
                
UpdatePanelMessageSpace.BeginRequestHandler = function(sender, args)             
{            
    UpdatePanelMessageSpace.PositionUpdateStatusMessage();
    UpdatePanelMessageSpace.setOpacity( 1);
    $get('UpdateMessagesLocation').style.visibility='visible';
    $get(UpdatePanelMessageSpace.UpdateProgressImage).style.visibility='visible';
    var elem = args.get_postBackElement();
    var PendingMessage = elem.getAttribute('UpdatingMessage');
    if (!PendingMessage)
        PendingMessage = 'processing...';
    $get(UpdatePanelMessageSpace.UpdateStatusMessage).innerHTML = PendingMessage;
    if (!isNaN(UpdatePanelMessageSpace.TimerVariable))
      clearTimeout(UpdatePanelMessageSpace.TimerVariable);
}

UpdatePanelMessageSpace.Fade = function()
{
    UpdatePanelMessageSpace.setOpacity (UpdatePanelMessageSpace.CurrentOpacity-.2);  
    if (UpdatePanelMessageSpace.CurrentOpacity>0)
    {
        UpdatePanelMessageSpace.TimerVariable = setTimeout('UpdatePanelMessageSpace.Fade()',200);
    }
    else
    {
        $get('UpdateMessagesLocation').style.visibility='hidden';
    }
}


window.onload = UpdatePanelMessageSpace.PositionUpdateStatusMessage;
window.onscroll = UpdatePanelMessageSpace.PositionUpdateStatusMessage;                  


                    

