// -------------------------------------------------------
// Forums
//
// $Id: forums.js,v 1.1 2008/05/25 10:16:41 steve Exp $
//
// -------------------------------------------------------

function init_forums() {

    // Forums
    //
    $('td.forumTd').mouseover( function() { $(this).addClass('forumTd_Over') } )
    $('td.forumTd').mouseout( function() { $(this).removeClass('forumTd_Over') } )
    $('td.forumTdCenter').mouseover( function() { $(this).addClass('forumTdCenter_Over') } )
    $('td.forumTdCenter').mouseout( function() { $(this).removeClass('forumTdCenter_Over') } )

    if (document.getElementById('ForumSelect')) {
        var elem = document.getElementById('ForumSelect')
        EventManager.add(elem, EventManager.CHANGE, selectForum)
    }

    var tds = document.getElementsByTagName('td')
    for (i = 0; i < tds.length; i++) {
        id = tds[i].id.split('_')
        if (id[0] == 'ForumTd') {
            EventManager.add(tds[i], EventManager.CLICK, selectForum)
        } else if (id[0] == 'ForumThread') {
            EventManager.add(tds[i], EventManager.CLICK, selectThread)
        }
    }
    var imgs = document.getElementsByTagName('img')
    for (i = 0; i < imgs.length; i++) {
        id = imgs[i].id.split('_')
        if (id[0] == 'PostReply') {
            EventManager.add(imgs[i], EventManager.CLICK, postReply)
        } else if (id[0] == 'NewPost') {
            EventManager.add(imgs[i], EventManager.CLICK, newPost)
        }
    }
    if (document.getElementById('Back2ForumList')) {
        var elem = document.getElementById('Back2ForumList')
        addMouseOverAndOut(elem)
        EventManager.add(elem, EventManager.CLICK, back2ForumList)
    }
    if (document.getElementById('Back2Forum')) {
        var elem = document.getElementById('Back2Forum')
        addMouseOverAndOut(elem)
        EventManager.add(elem, EventManager.CLICK, back2Forum)
    }
    if (document.getElementById('PostNewThread')) {
        var elem = document.getElementById('PostNewThread')
        EventManager.add(elem, EventManager.CLICK, submitNewPost)
    }
    if (document.getElementById('PostReplyToThread')) {
        var elem = document.getElementById('PostReplyToThread')
        EventManager.add(elem, EventManager.CLICK, submitReply)
    }
}

function back2ForumList() {

    loadPage('')
}

function back2Forum() {

    selectForum('')
}

function selectForum(theEvent) {

    var forum
    if (theEvent) {
        var elem  = theEvent.targetElement
        var forum
        if (elem.id == 'ForumSelect') {
            var ind   = elem.selectedIndex
            if (ind == 0) {
                //return
            }
            forum = elem.options[ind].text
        } else {
            var id = elem.id.split('_')
            forum = id[1]
        }
    } else {
        forum = document.getElementById('ForumSel').value
    }
    var url = location.href
    if (url.indexOf('?') > 0) {
        url = url.substr(0, url.indexOf('?'))
    }

    url = url + '?Email=' + document.getElementById('emailHidden').value
              + '&Forum=' + forum
    location.replace(url)
}

function selectThread(theEvent) {

    var elem   = theEvent.targetElement
    var id     = elem.id.split('_')
    var thread = id[1]
    var url = location.href
    if (url.indexOf('?') > 0) {
        url = url.substr(0, url.indexOf('?'))
    }
    var forum = document.getElementById('ForumSel').value
    url = url + '?Email=' + document.getElementById('emailHidden').value
              + '&Forum=' + forum
              + '&ThreadId=' + thread
    location.replace(url)
}

function postReply(theEvent) {

    if (!loggedIn()) {
        alert('You must be logged in to post in the forums.') ;
        return
    }

    var forum  = document.getElementById('ForumSel').value
    var thread = document.getElementById('ThreadSel').value

    var url = location.href
    if (url.indexOf('?') > 0) {
        url = url.substr(0, url.indexOf('?'))
    }

    url = url + '?Email=' + document.getElementById('emailHidden').value
              + '&PostReply=1'
              + '&Forum=' + forum
              + '&ThreadId=' + thread
    location.replace(url)
}

function submitReply() {

    var forum   = document.getElementById('ForumSel').value
    var thread  = document.getElementById('ThreadSel').value
    var subject = document.getElementById('PostTitle').value
    var text    = document.getElementById('PostText').value

    PARAMS = 'Action=newForumReply&Email=' + document.getElementById('emailHidden').value
                          + '&Forum=' + forum
                          + '&ThreadId=' + thread
                          + '&Subject=' + subject
                          + '&Text=' + text
    jQuery.post(SITEURL, PARAMS, _submitReplyDone)
}

function _submitReplyDone(data) {

    alert('Reply Added')

    var url = location.href
    if (url.indexOf('?') > 0) {
        url = url.substr(0, url.indexOf('?'))
    }

    url = url + '?Email=' + document.getElementById('emailHidden').value
              + '&Forum=' + document.getElementById('ForumSel').value
              + '&ThreadId=' + document.getElementById('ThreadSel').value
    location.replace(url)
}

function newPost(theEvent) {

    if (!loggedIn()) {
        alert('You must be logged in to post in the forums.') ;
        return
    }

    var forum = document.getElementById('ForumSel').value

    var url = location.href
    if (url.indexOf('?') > 0) {
        url = url.substr(0, url.indexOf('?'))
    }

    url = url + '?Email=' + document.getElementById('emailHidden').value
              + '&NewThread=1'
              + '&Forum=' + forum
    location.replace(url)
}

function submitNewPost() {

    var forum   = document.getElementById('ForumSel').value
    var title   = document.getElementById('ThreadTitle').value
    var subject = document.getElementById('PostTitle').value
    var text    = document.getElementById('PostText').value

    PARAMS = 'Action=newForumThread&Email=' + document.getElementById('emailHidden').value
                          + '&Forum=' + forum
                          + '&ThreadTitle=' + title
                          + '&Subject=' + subject
                          + '&Text=' + text
    jQuery.post(SITEURL, PARAMS, _submitNewPostDone)
}

function _submitNewPostDone(data) {

    alert('Post Added')

    var url = location.href
    if (url.indexOf('?') > 0) {
        url = url.substr(0, url.indexOf('?'))
    }

    url = url + '?Email=' + document.getElementById('emailHidden').value
              + '&Forum=' + document.getElementById('ForumSel').value
    location.replace(url)
}

