/*
    Author: Joe Tan
    Email: jtan@silaspartners.com

*/

var KinteraVars = function() {
    function Kintera(e) {
    }
    var self = Kintera
    var tmp = window.location + ''
    var parts = tmp.split('/')
    var site=false
    for (var i=0;i<parts.length;i++) {
        if (parts[i] == 'site') site=true
        if (site) {
            if (parts[i].indexOf('c') == 0 && !self.c) {
                self.cURL = parts[i]
                self.c = parts[i].substr(2)
            } else if (parts[i].indexOf('b') == 0 && !self.b) {
                self.bURL = parts[i]
                self.b = parts[i].substr(2)
            } else if (parts[i].indexOf('k') == 0 && !self.k) {
                self.kURL = parts[i]
                self.k = parts[i].substr(2)
            }
        }
    }
    return self
}();

var SilasPage = function() {
    function SilasPlugins(e){
    }
    var self = SilasPlugins

    function addOnLoad (func) {
        this.plugins[this.plugins.length] = func
    }
    function addOnLoadFinish (func) {
        this.pluginsFinish[this.pluginsFinish.length] = func
    }

    function initialize() {
        for (var i=0;i<this.plugins.length;i++) {
            this.plugins[i]()
        }
        for (var i=0;i<this.pluginsFinish.length;i++) {
            this.pluginsFinish[i]()
        }
    }
    function printPage (url) {
        var w = window.open(url, '_blank', 'width=730,height=550,scrollbars,resizable,menubar');
        if (w) {
            w.focus()
        }
        return false
    }
    function formatPrintPage() {
        var screenDefault = getElem('style-screen-default')
        var screenAll = getElem('style-screen-all')
        var printDefault = getElem('style-print')
        screenDefault.disabled = true
        screenAll.disabled = true
        printDefault.media = 'all'
        var printdiv = document.createElement('div')
        printdiv.className='print-button'
        printdiv.innerHTML = '<form method="get" action="#" onsubmit="return false;"><input type="button" value="print this page" onclick="window.print()" /><input type="button" value="cancel" onclick="SilasPage.closePrintPage()" /></form>'
        var main = getElem('main_feature')
        main.appendChild(printdiv)
    }

    function closePrintPage() {
        if (window.opener) {
            window.close()
        } else {
            var screenDefault = getElem('style-screen-default')
            var screenAll = getElem('style-screen-all')
            var printDefault = getElem('style-print')

            screenDefault.disabled = false
            screenAll.disabled = false
            printDefault.media = 'print'
            window.location='#top'
        }
    }
    function emailPage(id, target, url) {
        if (!id)  id  = '664219FC1F3F43A8A6E3AB0A64A4AC57'
        if (!url) url = '/site/c.'+KinteraVars.c+'/b.'+KinteraVars.b+'/email2friend.asp?email_url=' + escape(window.location)
        var w = window.open(url, '_blank', 'width=700,height=525,resizable')
        if (w) {
            w.focus()
        }
        if (!url) return false
    }

    self.addOnLoad = addOnLoad
    self.addOnLoadFinish = addOnLoadFinish
    self.initialize = initialize
    self.printPage = printPage
    self.formatPrintPage = formatPrintPage
    self.closePrintPage = closePrintPage
    self.emailPage = emailPage

    self.plugins = Array()
    self.pluginsFinish = Array()
    return self;
}();

function initializePageHeader() {
    // setup page header, kintera specific
    var breadcrumb = getElem('breadcrumb');
    var links = GetElementsWithClassName('a', 'Path', breadcrumb)
    var label = false
    if (links && links[1]) {
        label = links[1].innerHTML
    } else {
        var fonts = GetElementsWithClassName('font', 'Path', breadcrumb)
        if (fonts && fonts[0]) {
            label = fonts[0].innerHTML
        }
    }
    if (label) {
        label = label.toLowerCase().replace(' ', '_');
        var silas_body = getElem('silas_body');
        if (silas_body) silas_body.className += ' '+label
    }
}

function initializeBookmark() {
    var location = window.location + ""
    if (location.indexOf('#') != -1)
        gotoBookmark(location.substring(location.indexOf('#')+1))
}


SilasPage.addOnLoad(initializePageHeader)
SilasPage.addOnLoadFinish(initializeBookmark)
// printer friendly format
SilasPage.addOnLoadFinish(function() { var location = window.location + ""; if (location.indexOf('#printer-friendly') != -1) SilasPage.formatPrintPage() })

/* Misc functions */

function clearDefaultValue(obj) {
    if (!obj.defaultValue || obj.defaultValue == '' || (obj.defaultValue == obj.value)) {
        obj.value = ''
        if (obj.className) obj.className += ' focused'
        else obj.className = 'focused'
    }
}

function getFile(URL, target) {
    if (target) {
        window.open(url, target)
    } else {
        setTimeout("window.location='"+URL+"'", 5000);
    }
}
function gotoBookmark (bookmark) {
    return
}

var popUpDialogResizeable = SilasPage.emailPage

function toggleLayer(whichLayer){
	var div = getElem(whichLayer)
	if (!div.style.display || div.style.display=='none') {
	    showDisplayElem(div)
	} else {
	    hideDisplayElem(div)
	}
}