﻿//  ================================================================================
//  TEAM APPLICATION FRAMEWORK
//  --------------------------------------------------------------------------------
//  Version:        0.2
//  Author:         Michael Maw
//  Requirements:   Prototype 1.6.0.2
//                  Scriptaculous
//  ================================================================================

//  Global Variables
//  ================================================================================
    var objXMenu;
    var objHover = null;
    var debug = false;
    var path_XMLTransform = "/components/ajax/xml_transform.aspx";


//  Application Initialization
//  ================================================================================
    function application_init() {
        try {
            // Load Site Menu
            xml_transform('/components/menus/xmenu_site.xml', '/components/xsl/xmenu.xsl', 'page_menu');
        } catch (e) {
            alert("Error: application_init() - " + e.message);
        }
    }
    
    
//  Show an Application Message
//  ================================================================================
    function appMsg(sMsg, bClear) {
        if (bClear) {
            $('app_msg').update();
        } else {
            sMsg = $('app_msg').innerHTML + "<br />" + sMsg;
        }
        $('app_msg').update(sMsg);       
        $('app_msg').show();
    }
    

//  Hover
//  ================================================================================
    function hover(domID) {
        if ((objHover != null) && (objHover != $(domID))) {
            Effect.Fade(objHover, {duartion:0.3});
        }
        objHover = $(domID);
        Effect.Appear(objHover, {duartion:0.3});
     }

//  Flash-Style Slideshow
//  ================================================================================
    function slideshow(sClass, iDelay, iFade) {
        var iStart, iEnd;
        var n = 0;
        
        // Show each slide
        $$(sClass).each(function(index) {
            iStart = (n*(iFade*1000))+(n*(iFade*1000));
            iEnd = (n*(iFade*1000))+(iDelay*1000)+(n*(iFade*1000));
            setTimeout("Effect.Appear($$('" + sClass + "')[" + n + "], {duration:" + iFade + "});", iStart);
            setTimeout("Effect.Fade($$('" + sClass + "')[" + n + "], {duration:" + iFade + "});", iEnd);
            n++;
        });
        
        // Repeat the slideshow
        setTimeout("slideshow('" + sClass + "', " + iDelay + ", " + iFade + ");", iEnd + 1000);
     }
    
//  Transform an XML Document & populate a DOM node
//  ================================================================================
    function xml_transform(sXML, sXSL, domID) {
        try {
                var url = path_XMLTransform + "?xml=" + sXML + "&xsl=" + sXSL;
                
                // AJAX Request
                new Ajax.Request(url, {
                    method: 'get', 
                    onSuccess: function(transport) {
                        $(domID).update(transport.responseText);
                    }
                });
        } catch (e) {
            alert("Error: xml_transform() - " + e.message);
        }
    }
    
    