﻿/*******************************************************************************

	Copyright (c) 2011 Mastertech Computer Products International, Inc.

	The copyright to the computer software herein is proprietary and remains
	the property of Mastertech Computer Products International, Inc., USA.

	FileName:
		Fader.js
		
	Description:
		Provides fading functions for <div> tags and their content.
	                              
*******************************************************************************/

var TimeToFade = 1000.0;

var ie4 = ((navigator.appVersion.indexOf("MSIE") > 0) 
    && (parseInt(navigator.appVersion) <= 4)); 

var count = 0, count2 = 0, add1 = 3, 
    add2 = 10, timerID; 

//var TimeToFade = 250.0;

//var #elementid {
//   filter: alpha(opacity=0);
//   -moz-opacity: 0;
//   display:none;
// }

function hidepanel(eid)
{
    var element = document.getElementById(eid);
    if(element == null)
        return;
    
    element.style.display = 'none'; //element.FadeState == 1 ? 'block' : 'none';
    element.style.opacity = '0';    //element.FadeState == 1 ? '.85' : '0';
    element.style.filter = 'alpha(opacity = 0)';    // + (element.FadeState == 1 ? '85' : '0') + ')';
    element.FadeState = -2;         //element.FadeState == 1 ? 2 : -2;

//    if(element.FadeState == null)
//    {
//        if(element.style.opacity == null
//            || element.style.opacity == ''
//            || element.style.opacity == '0.8')
//        {
//            element.FadeState = -2;
//        }
//        else
//        {
//            element.FadeState = 2;
//        }
//    }
}

function fade(eid)
{
    var element = document.getElementById(eid);
    if(element == null)
        return;
    
    if(element.FadeState == null)
    {
        if(element.style.opacity == null
            || element.style.opacity == ''
            || element.style.opacity == '1')  //0.8
        {
            element.FadeState = -2;
        }
        else
        {
            element.FadeState = 2;
        }
    }
    
    if(element.FadeState == 1 || element.FadeState == -1)
    {
        element.FadeState = element.FadeState == 1 ? -1 : 1;
        element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
    }
    else
    {
        element.FadeState = element.FadeState == 2 ? -1 : 1;
        element.FadeTimeLeft = TimeToFade;
        element.style.display = element.FadeState == 2 ? 'none' : 'block';
        setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
    }
}

function animateFade(lastTick, eid)
{
    var curTick = new Date().getTime();
    var elapsedTicks = curTick - lastTick;
  
    var element = document.getElementById(eid);
  
    if(element.FadeTimeLeft <= elapsedTicks)
    {
        element.style.display = element.FadeState == 1 ? 'block' : 'none';
        element.style.opacity = element.FadeState == 1 ? '1' : '0';   //'.85
        element.style.filter = 'alpha(opacity = ' + (element.FadeState == 1 ? '100' : '0') + ')';    //'85'
        element.FadeState = element.FadeState == 1 ? 2 : -2;
        return;
    }
 
    element.FadeTimeLeft -= elapsedTicks;
    var newOpVal = element.FadeTimeLeft/TimeToFade;
    if(element.FadeState == 1)
        newOpVal = 1 - newOpVal;

    newOpVal = newOpVal;    //*0.85;
    element.style.opacity = newOpVal;
    element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';

    setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
}
 
 
