﻿    // JScript File
    var timeCounter;
    function hideShowDiv(divID, action, effect, grayOutBg)
    {    
        var divElement = document.getElementById(divID);
        if(divElement)
        {
            if(action=='')
            {
                if(divElement.style.display=='none')
                {
                    action = 'show';
                    switch(effect)
                    {
                        case 'SlideUp':
                            effect = 'SlideDown';
                            break;
                        case 'Fade':
                            effect = 'Appear';
                            break;
                        case 'BlindUp':
                            effect = 'BlindDown';
                            break;
                    }
                }
                else
                {
                    action = 'hide';
                    switch(effect)
                    {
                        case 'SlideDown':
                            effect = 'SlideUp';
                            break;
                        case 'Appear':
                            effect = 'Fade';
                            break;
                        case 'BlindDown':
                            effect = 'BlindUp';
                            break;
                    }
                }
            }
            if(action=='show')
            {
                if(divElement.style.display=='none')
                {
                    switch(effect)
                    {
                        case 'SlideDown':
                            Effect.SlideDown(divID);
                            break;
                        case 'Appear':
                            Effect.Appear(divID);
                            break;
                        case 'BlindDown':
                            Effect.BlindDown(divID);
                            break;
                        default:
                            divElement.style.display='block';
                    }
                }
            }
            else
            {
                if(divElement.style.display=='block')
                {
                    switch(effect)
                    {
                        case 'SlideUp':
                            Effect.SlideUp(divID);
                            break;
                        case 'Fade':
                            Effect.Fade(divID);
                            break;
                        case 'BlindUp':
                            Effect.BlindUp(divID);
                            break;
                        default:
                            divElement.style.display='none';
                    }
                }
            }
            if(grayOutBg=='1')
                grayOut(true);
            else
            {
                divElement.style.zIndex = '49';
                if(grayOutBg=='0')
                    grayOut(false);
            }
        }
    }
    function changeClass(divID, clssName) 
    { 
        var currDivElem = document.getElementById(divID); 
        if(currDivElem)
        {
            currDivElem.setAttribute("class", clssName); 
            currDivElem.setAttribute("className", clssName);
        }
        return; 
    } 
    function hideAllDivsExcept(divId, divIndex, effect)
    { 
        var index = 0;
        var divElement = document.getElementById(divId + index);
        while(divElement)
        {
            if(index!=divIndex)
            {
                if(divElement.style.display=='block')
                {
                    switch(effect)
                    {
                        case 'SlideUp':
                            Effect.SlideUp(divID);
                            break;
                        case 'Fade':
                            Effect.Fade(divID);
                            break;
                        case 'BlindUp':
                            Effect.BlindUp(divID);
                            break;
                        default:
                            divElement.style.display='none';
                    }
                }
            }
            index++;
            divElement = document.getElementById(divId + index);
        }
    }
    function placeDivAt(divID, obj, offsetLeft, offsetTop, floatIt, grayOutBg)
    {
        if(!obj.id)
            obj = document.getElementById(obj);
        var divElement = document.getElementById(divID);
        var left = 0;
        var top = 0;
        if(divElement && obj)
        {
            var positions = findPosition(obj);
            left = positions[0] + offsetLeft;
            top = positions[1] + offsetTop;
            divElement.style.left = left + 'px';
            divElement.style.top = top + 'px';
        }
        if(divElement)
        {
            if(grayOutBg == '1')
            {
                divElement.style.zIndex = '51';
                grayOut(true);
            }
            if(floatIt == '1')
               JSFX_FloatDiv(divID, left, top).floatIt();
        }
    }
    function findPosition(obj) 
    {
        if(obj)
        {
	        var curleft = curtop = 0;
            if (obj.offsetParent) {
            do {
			    curleft += obj.offsetLeft;
			    curtop += obj.offsetTop;
                } while (obj = obj.offsetParent);}
            return [curleft,curtop];
        }
    }
    function htmlEncode(s)
    {
        if(s!=null)
        {
	        var elm = document.createElement("div");
	        elm.innerText = elm.textContent = s;
	        s = elm.innerHTML;
	        s = s.replace(/\|/g,"&#124;");
	        s = s.replace(/,/g,"&#44;");
	        s = s.replace(/\'/g,"&#39;");
	        s = s.replace(/\"/g,'&#34;');
	        s = s.replace(/\:/g,'&#58;');
	        //s = s.replace(/\n/g,"<br/>");
	        delete elm;
	        return s;
	    }
	    else
	        return '';
    }
    function htmlDecode(s)
    {
        if(s!=null)
        {
	        s = s.replace(/&#124;/g,"|");
	        s = s.replace(/&#44;/g,",");
	        s = s.replace(/&#39;/g,"\'");
	        s = s.replace(/&#34;/g,"\"");
	        s = s.replace(/<BR>/g,"\n\r");
	        s = s.replace(/<br>/g,"\n\r");
	        s = s.replace(/&quot;/g,"\"");
	        s = s.replace(/&#58;/g,":");
	        //s = s.replace(/<br/>/g,"\n");
	        return s;
	    }
	    else
	        return '';
    }
    //*********************************************************
    //     * You may use this code for free on any web page provided that 
    //     * these comment lines and the following credit remain in the code.
    //     * Floating Div from http://www.javascript-fx.com
    //********************************************************
    var ns = (navigator.appName.indexOf("Netscape") != -1);
    var d = document;
    function JSFX_FloatDiv(id, sx, sy)
    {
	    var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
	    var px = document.layers ? "" : "px";
	    window[id + "_obj"] = el;
	    if(d.layers)el.style=el;
	    el.cx = el.sx = sx;el.cy = el.sy = sy;
	    el.sP=function(x,y){this.style.left=x+px;this.style.top=y+px;};

	    el.floatIt=function()
	    {
		    var pX, pY;
		    pX = (this.sx >= 0) ? 0 : ns ? innerWidth : 
		    document.documentElement && document.documentElement.clientWidth ? 
		    document.documentElement.clientWidth : document.body.clientWidth;
		    pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? 
		    document.documentElement.scrollTop : document.body.scrollTop;
		    if(this.sy<0) 
		    pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ? 
		    document.documentElement.clientHeight : document.body.clientHeight;
		    this.cx += (pX + this.sx - this.cx)/8;this.cy += (pY + this.sy - this.cy)/8;
		    this.sP(this.cx, this.cy);
		    setTimeout(this.id + "_obj.floatIt()", 40);
	    }
	    return el;
    }
    
    //*********************************************************
    //    Places the element at cetre
    //*********************************************************
    function placeDivAtCenter(divID, offsetLeft, offsetTop, floatIt, grayOutBg)
    {
        var elm = document.getElementById(divID)
        if(elm)
        {
            viewport.getAll();
            var WinW = viewport.width;
            var WinH = viewport.height;
            var ScrollX = viewport.scrollX;
            var ScrollY = viewport.scrollY;
            var ElemW = 300;
            var ElemH = 300;
            
            if(elm.style.display == 'none')
                elm.style.display = 'block';
            if (document.all || document.getElementById)
            {
                ElemW = elm.offsetWidth; //MSIE + NS6
                ElemH = elm.offsetHeight; // MSIE + NS6
            }
            else
            {
                ElemW = elm.document.width; //Netscape 4
                ElemH = elm.document.height; //Netscape 4
            }
            
            //calculate positions:
            var xPos = WinW / 2 - (ElemW / 2) + ScrollX;
            var yPos = WinH / 2 - (ElemH / 2) + ScrollY;
            xPos = Math.round(xPos, 0) + offsetLeft;
            yPos = Math.round(yPos, 0) + offsetTop;
            //move layers to the above positions:
            elm.style.left = xPos + "px";
            elm.style.top = yPos + "px";
            if(grayOutBg == '1')
            {
                elm.style.zIndex = '51';
                grayOut(true);
            }
            var ie = document.all;
            if(floatIt == '1')
                JSFX_FloatDiv(divID, xPos - ScrollX,   yPos - ScrollY).floatIt();
        }
    }
    function alterZIndex(divID, Zindex)
    {
        var divElement = document.getElementById(divID);
        if(divElement)
            divElement.style.zIndex = Zindex;
    }
    function getRandomNumber(upperLimit)
    {
        return ( Math.floor ( Math.random ( ) * upperLimit + 1 ) );
    }
    function trim(str)
    {
        var trimmed = str.replace(/^\s+|\s+$/g, '') ;
        return trimmed;
    }
    function replaceTextValue(replaceIn, replaceThis, replaceWith)
    {
        return replaceIn.replace(replaceThis, replaceWith);
    }
    // JScript File
    function grayOut(vis, options) {
      // Pass true to gray out screen, false to ungray
      // options are optional.  This is a JSON object with the following (optional) properties
      // opacity:0-100         // Lower number = less grayout higher = more of a blackout 
      // zindex: #             // HTML elements with a higher zindex appear on top of the gray out
      // bgcolor: (#xxxxxx)    // Standard RGB Hex color code
      // grayOut(true, {'zindex':'50', 'bgcolor':'#0000FF', 'opacity':'70'});
      // Because options is JSON opacity/zindex/bgcolor are all optional and can appear
      // in any order.  Pass only the properties you need to set.
      var options = options || {}; 
      var zindex = options.zindex || 50;
      var opacity = options.opacity || 70;
      var opaque = (opacity / 100);
      var bgcolor = options.bgcolor || '#000000';
      var dark=document.getElementById('darkenScreenObject');
      if (!dark) {
        // The dark layer doesn't exist, it's never been created.  So we'll
        // create it here and apply some basic styles.
        // If you are getting errors in IE see: http://support.microsoft.com/default.aspx/kb/927917
        var tbody = document.getElementsByTagName("body")[0];
        var tnode = document.createElement('div');           // Create the layer.
            tnode.style.position='absolute';                 // Position absolutely
            tnode.style.top='0px';                           // In the top
            tnode.style.left='0px';                          // Left corner of the page
            tnode.style.overflow='hidden';                   // Try to avoid making scroll bars            
            tnode.style.display='none';                      // Start out Hidden
            tnode.id='darkenScreenObject';                   // Name it so we can find it later
        tbody.appendChild(tnode);                            // Add it to the web page
        dark=document.getElementById('darkenScreenObject');  // Get the object.
      }
      if (vis) {
        // Calculate the page width and height 
        if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
            var pageWidth = document.body.scrollWidth+'px';
            var pageHeight = document.body.scrollHeight+'px';
        } else if( document.body.offsetWidth ) {
          var pageWidth = document.body.offsetWidth+'px';
          var pageHeight = document.body.offsetHeight+'px';
        } else {
           var pageWidth='100%';
           var pageHeight='100%';
        }   
        //set the shader to cover the entire page and make it visible.
        dark.style.opacity=opaque;                      
        dark.style.MozOpacity=opaque;                   
        dark.style.filter='alpha(opacity='+opacity+')'; 
        dark.style.zIndex=zindex;        
        dark.style.backgroundColor=bgcolor;  
        dark.style.width= pageWidth;
        dark.style.height= pageHeight;
        dark.style.display='block';				 
      } else {
         dark.style.display='none';
      }
    }
    function RSSPopUp(url)
        {
        day = new Date();
        id = day.getTime();
        URL = url+'RSS.htm';
        eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=300,height=300,left = 350,top = 284');");
        }
    function showAlert(vis, obj, message, delayTime, offsetLeft, offsetTop, floatIt, grayOutBg, options) {
      var options = options || {}; 
      var zindex = options.zindex || 50;
      var opacity = options.opacity || 70;
      var opaque = (opacity / 100);
      var bgcolor = options.bgcolor || '#FFE970';
      var color = options.color || '#625F5F';
      var fontFamily = options.fontFamily || 'Verdana';
      var fontSize = options.fontSize || '11px';
      var fontWeight = options.fontWeight || 'bold';
      var alertMessage = document.getElementById('alertMessage');
      if (!alertMessage) {
        var tbody = document.getElementsByTagName("body")[0];
        var tnode = document.createElement('div');
            tnode.style.position='absolute';
            tnode.style.top='0px';
            tnode.style.left='0px';
            tnode.style.overflow='hidden';        
            tnode.style.display='none';
            tnode.id='alertMessage';
        tbody.appendChild(tnode);
        alertMessage = document.getElementById('alertMessage');
      }
      if (vis) {
        alertMessage.style.color=color;
        alertMessage.style.fontFamily=fontFamily;
        alertMessage.style.fontSize=fontSize;
        alertMessage.style.fontWeight=fontWeight;
        alertMessage.style.opacity=opaque;                 
        alertMessage.style.MozOpacity=opaque;                   
        alertMessage.style.filter='alpha(opacity='+opacity+')'; 
        alertMessage.style.zIndex=zindex;        
        alertMessage.style.backgroundColor=bgcolor;  
        alertMessage.style.display='block';
        alertMessage.innerHTML = message;
        if(obj)
            placeDivAt('alertMessage', obj, offsetLeft, offsetTop, floatIt, grayOutBg);
        else
            placeDivAtCenter('alertMessage', offsetLeft, offsetTop, floatIt, grayOutBg);
        clearTimeout(timeCounter);
        timeCounter = setTimeout('hideShowDiv(\'alertMessage\', \'hide\', \'Fade\', \'x\')', delayTime);
      } else {
         alertMessage.style.display='none';
      }
    }
    //============================================================
    viewport =
    {
       getIECanvas: function ()
       {
          var canv = null;
          if (!window.opera && document.all && typeof document.body.clientWidth != "undefined")
          {
             var cm = document.compatMode && document.compatMode == "CSS1Compat";
             canv = cm ? document.documentElement : document.body;
          }
          return canv;
       },

       getWinWidth: function ()
       {
          var canv;
          if ( canv = this.getIECanvas() )
             this.width = canv.clientWidth;
          else
             this.width = window.innerWidth - 18;
       },

       getWinHeight: function ()
       {
          var canv;
          if (canv = this.getIECanvas())
             this.height = canv.clientHeight;
          else
             this.height = window.innerHeight - 18;
       },

       getScrollX: function ()
       {
          var canv;
          if (canv = this.getIECanvas())
             this.scrollX = canv.scrollLeft;
          else if (window.pageXOffset)
             this.scrollX = window.pageXOffset;
          else if (window.scrollX)
             this.scrollX = window.scrollX;
          else
             this.scrollX = 0;
       },

       getScrollY: function ()
       {
          var canv;
          if (canv = this.getIECanvas())
             this.scrollY = canv.scrollTop;
          else if (window.pageYOffset)
             this.scrollY = window.pageYOffset;
          else if (window.scrollY)
             this.scrollY = window.scrollY;
          else
             this.scrollY = 0;
       },

       getAll: function ()
       {
          this.getWinWidth();
          this.getWinHeight();
          this.getScrollX();
          this.getScrollY();
       }
    };

