
var URL     = 'http://ccgi.misterdoo.plus.com/cgi-bin/index.pl'
var MAILURL = 'http://ccgi.misterdoo.plus.com/cgi-bin/handleMail.pl'

var OPTIONS = {
    showURLs:0,
    showResults:0,
    resultsFormat:'HTML'
}

var ajax = 0

var Page = new function()
{
    function init() {

        // Event Handlers
        //
        var tabs = document.getElementsByTagName('li')

        for (i = 0; i < tabs.length; i++) {
            if (tabs[i].id.indexOf('tabLink_') == 0) {
                var id = tabs[i].id.replace(/Link/, 'Span')
                var tabText = document.getElementById(id)
                EventManager.add(tabs[i], EventManager.CLICK, Page.Select)
                EventManager.add(tabText, EventManager.MOUSEOVER, Page.LinkMouseOver)
                EventManager.add(tabText, EventManager.MOUSEOUT, Page.LinkMouseOut)
            }
        }
        
        // Emails
        //
        Emails.init()
        
        // Functions
        //
        Stretch.init()
        Weather.init()
        
        // Sortable Tables
        //
        SortTable.init('productList_2')
        
        // AJAX Test
        //
        //var req = new Requester();
        //PARAMS = ""
		    //req.get(URL, PARAMS, doStuff);
    }
    this.init = init
    
    function doStuff(data) {
       // alert(data)
    }

    function Select(theEvent) {
    
        elem = theEvent.targetElement
        var id = elem.id.replace(/Span/, 'Link')
        elem = document.getElementById(id)

        var tabs    = document.getElementsByTagName('li')
        var tabsDiv = document.getElementById('tabsDiv')

        for (i = 0; i < tabs.length; i++) {
            if (tabs[i].id.indexOf('tabLink_') == 0) {

                // Change class of the link
                //
                if (tabs[i] != elem) {
                    tabs[i].className = 'unselectedTab'
                } else {
                    tabs[i].className = 'selectedTab'
                }

                // Change the content of the tabs div
                //
                var tabId = tabs[i].id.replace(/tabLink_/, 'tabContent_')
                tabElem   = document.getElementById(tabId).innerHTML

                if (tabElem) {
                    if (tabs[i] == elem) {
                       tabsDiv.innerHTML = tabElem
                    }
                } else {
                    str = tabId.replace(/tabContent_/g, '')
                    alert('No tab content for tab ' + str + '!')
                }
            }
        }
    }
    this.Select = Select
    
    function LinkMouseOver(theEvent) {
        elem = theEvent.targetElement
        elem.className = elem.className + ' underline'
    }
    this.LinkMouseOver = LinkMouseOver

    function LinkMouseOut(theEvent) {
        elem = theEvent.targetElement
        elem.className = elem.className.replace(/ underline/, '')
    }
    this.LinkMouseOut = LinkMouseOut


}

var Emails = new function() {

    function init() {

        if (ajax == 1) {
            _replaceMailsAJAX() ;
        } else {
            _replaceMails() ;
        }
    
    }
    this.init = init

    function _replaceMails() {

        var tds = document.getElementsByTagName('span')
        for (i = 0; i < tds.length; i++) {
            if (tds[i].className == '_HOGSMILLEMAIL_') {
                var str = tds[i].innerHTML
                tds[i].innerHTML = "<a href='mailto:"
                                          + _getAddress(str) + "'>"
                                          + _getAddress(str) + "</a>" ;
                tds[i].className = 'email'
            }
        }
    }

    function _getAddress(st, scope) {

        // Scope: 0 - don't show parameters (for display)
        //        1 - show parameters (for link)
        //
        var sts = st.split(' _H_ ')
        address = sts[1] + '\@' + sts[0]
        address = address.replace(/ /g, '')

        // handle parameteres (e.g. subject)
        //
        if (scope && sts[2]) {
            var pars = sts[2].split(/=/)
            address = address + '\?' + escape(pars[0]) + '=' + escape(pars[1])
            for (i = 3; i < sts.length; i++) {
                var pars = sts[i].split(/=/)
                address = address + '\&' + escape(pars[0]) + '=' + escape(pars[1])
            }
        }

        return address
    }

    function _replaceMailsAJAX() {
    
        var tds = document.getElementsByTagName('span')
        for (i = 0; i< tds.length; i++) {
            id = tds[i].innerHTML.split('_')
            
            var req = new Requester()
            PARAMS = "getEmail=" + id[1]
		        req.get(MAILURL, PARAMS, _replaceMailTextAJAX)
        }
    }
    
    function _replaceMailTextAJAX(data) {

        data = data.replace(/\n/g, '') ;
        data = data.split('=')
        var tds = document.getElementsByTagName('span')
        for (i = 0; i < tds.length; i++) {
            var emailText = tds[i].innerHTML ;
            if (emailText == 'EMAIL_' + data[0] + '_EMAIL') {
                tds[i].innerHTML = data[1]
            }
        }
    }
}

