﻿//********************************************************************//
//*                                                                  *//
//*       Concepts2Go dotNet Classes                                 *//
//*       By Don Wibier                                              *//
//*                                                                  *//
//*       Copyright (c) 2006 Any Key Software Solutions              *//
//*       ALL RIGHTS RESERVED                                        *//
//*                                                                  *//
//*   Portions of Microsoft Corporation                              *//
//*                                                                  *//
//*   The entire contents of this file is protected by Dutch, U.S.   *//
//*   and International Copyright Laws. Unauthorized reproduction,   *//
//*   reverse-engineering, and distribution of all or any portion of *//
//*   the code contained in this file is strictly prohibited and may *//
//*   result in severe civil and criminal penalties and will be      *//
//*   prosecuted to the maximum extent possible under the law.       *//
//*                                                                  *//
//*   RESTRICTIONS:                                                  *//
//*                                                                  *//
//*   THIS SOURCE CODE AND ALL RESULTING INTERMEDIATE FILES          *//
//*   (DCU, OBJ, DLL, EXE ETC.) ARE CONFIDENTIAL AND                 *//
//*   PROPRIETARY TRADE SECRETS OF ANY KEY SOFTWARE SOLUTIONS.       *//
//*                                                                  *//
//*   THE SOURCE CODE CONTAINED WITHIN THIS FILE AND ALL RELATED     *//
//*   FILES OR ANY PORTION OF ITS CONTENTS SHALL AT NO TIME BE       *//
//*   COPIED, TRANSFERRED, SOLD, DISTRIBUTED, OR OTHERWISE MADE      *//
//*   AVAILABLE TO OTHER INDIVIDUALS WITHOUT EXPRESS WRITTEN CONSENT *//
//*   AND PERMISSION FROM ANY KEY SOFTWARE SOLUTIONS.                *//
//*                                                                  *//
//********************************************************************//
var C2Gmenu = function() {
    var t = 15, z = 10000, s = 6, a, useOpacity = true;
    function dd(n) { this.n = n; this.h = []; this.c = [] }
    dd.prototype.init = function(p, c, zidx, uo) {
        if (uo != null) useOpacity = uo;
        a = c; var w = document.getElementById(p), s = w.getElementsByTagName('ul'), l = s.length, i = 0;
        this.z = zidx;
        for (i; i < l; i++) {
            var h = s[i].parentNode; this.h[i] = h; this.c[i] = s[i];
            h.onmouseover = new Function(this.n + '.st(' + i + ',true)');
            h.onmouseout = new Function(this.n + '.st(' + i + ')');
        }
    }
    dd.prototype.st = function(x, f) {
        var c = this.c[x], h = this.h[x], p = h.getElementsByTagName('a')[0];
        clearInterval(c.t); c.style.overflow = 'hidden';
        if (f) {
            p.className += ' ' + a;
            if (!c.mh) { c.style.display = 'block'; c.style.height = ''; c.mh = c.offsetHeight; c.style.height = 0 }
            if (c.mh == c.offsetHeight) { c.style.overflow = 'visible' }
            else { c.style.zIndex = this.z; this.z++; c.t = setInterval(function() { sl(c, 1) }, t) }
        } else { p.className = p.className.replace(a, ''); c.t = setInterval(function() { sl(c, -1) }, t) }
    }
    function sl(c, f) {
        var h = c.offsetHeight;
        /*try { h = parseInt(c.style.height); }
        catch(err){}*/
        if ((h <= 0 && f != 1) || (h >= c.mh && f == 1)) {
            if (f == 1) { c.style.filter = ''; c.style.opacity = 1; c.style.overflow = 'visible' }
            clearInterval(c.t); return
        }
        var d = (f == 1) ? Math.ceil((c.mh - h) / s) : Math.ceil(h / s), o = h / c.mh;
        if (useOpacity) {
            c.style.opacity = o;
            c.style.filter = 'alpha(opacity=' + (o * 100) + ')';
        }
        else { c.style.opacity = 1; }
        c.style.height = h + (d * f) + 'px'
    }
    return { dd: dd }
} ();

