﻿function ShowHide(elementID) {
    var element = document.getElementById(elementID);
    if (element.style.display != "block") {
        element.style.display = "block";
    }
    else {
        element.style.display = "none";
    }
}
function ShowHide2(elementID,Show) {
    var element = document.getElementById(elementID);
    if (Show == true) {
        element.style.display = "block";
    }
    else {
        element.style.display = "none";
    }
}
//===== FadeInFadeOut ===
var TimeToFade = 500.0;
function fade(elementID) {
    var element = document.getElementById(elementID);
    if (element == null)
        return;

    if (element.FadeState == null) {
        if (element.style.opacity == null || element.style.opacity == ''
       || element.style.opacity == '1')
            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;
        setTimeout("animateFade(" + new Date().getTime() + ",'" + elementID + "')", 33);
    }
}
//===== aminateFade ===
function animateFade(lastTick, elementID) {
    var curTick = new Date().getTime();
    var elapsedTicks = curTick - lastTick;

    var element = document.getElementById(elementID);

    if (element.FadeTimeLeft <= elapsedTicks) {
        element.style.opacity = element.FadeState == 1 ? '1' : '0';
        element.style.filter = 'alpha(opacity = ' + (element.FadeState == 1 ? '100' : '0') + ')';
        element.FadeState = element.FadeState == 1 ? 2 : -2;
        return;
    }

    element.FadeTimeLeft -= elapsedTicks;
    var newOpVal = element.FadeTimeLeft / TimeToFade;
    if (element.FadeState == 1)
        newOpVal = 1 - newOpVal;

    element.style.opacity = newOpVal;
    element.style.filter = 'alpha(opacity = ' + (newOpVal * 100) + ')';

    setTimeout("animateFade(" + curTick + ",'" + elementID + "')", 33);
}
//===== TimeStamp ===
function TimeStamp() {
    setInterval(TimeStamp, 1000);
    var stamp = new Date();
    var hours = stamp.getHours();
    var mins = stamp.getMinutes();
    var secs = stamp.getSeconds();
    //if (hours < 10) {
    //    hours = "0" + hours;
    //}
    if (mins < 10) {
        mins = "0" + mins;
    }
    if (secs < 10) {
        secs = "0" + secs;
    }
    var currtime = hours + ":" + mins + ":" + secs;
    var element = document.getElementById("timestampelement");
    element.innerHTML = currtime;
}
//===== Ajax ===
var xmlHttp;
var upPanelID;
var upProgressID;
function AjaxRequest(RequestADR, UpdatePanelID, UpdateProgressID, RequestParams) {
    upPanelID = UpdatePanelID;
    upProgressID = UpdateProgressID;

    xmlHttp = GetXmlHttpObject();
    if (xmlHttp == null) {
        alert("Your browser does not support AJAX!");
        return;
    }
    var rnd = Math.random();
    if (RequestParams != null) {
        var url = RequestADR + "?" + RequestParams + "&rnd=" + rnd;
    }
    else {
        var url = RequestADR + "?rnd=" + rnd;
    }

    xmlHttp.onreadystatechange = stateChanged;
    xmlHttp.open("GET", url, true);
    //xmlHttp.setRequestHeader("Content-Type", "text/html; charset=utf-8")
    xmlHttp.send(null);
}
function stateChanged() {
    if (xmlHttp.readyState == 4) {
        document.getElementById(upPanelID).innerHTML = xmlHttp.responseText;
    }
    else {
        document.getElementById(upPanelID).innerHTML = document.getElementById(upProgressID).innerHTML;
    }
}
function GetXmlHttpObject() {
    var xmlHttp = null;
    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    }
    catch (e) {
        // Internet Explorer
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}
