﻿function $(id) {
    return document.getElementById(id);
}

var search_0 = new Image();
search_0.src = "../images/t_search.gif";
var search_1 = new Image();
search_1.src = "../images/t_searchon.gif";

var voteSml_0 = new Image();
voteSml_0.src = "../images/h_pvote.gif";
var voteSml_1 = new Image();
voteSml_1.src = "../images/h_pvoteon.gif";

var vote_0 = new Image();
vote_0.src = "../images/t_pvote.gif";
var vote_1 = new Image();
vote_1.src = "../images/t_pvoteon.gif";

/*
var submit_0 = new Image();
submit_0.src = "../images/h_psubmit.gif";
var submit_1 = new Image();
submit_1.src = "../images/h_psubmiton.gif";	
*/

function aover(elm, id)
 {
    elm.style.backgroundColor = '#DDF2BF';
}
function aout(elm, id)
 {
    elm.style.backgroundColor = '#F2FAE5';
}

function aclick(elm, id, type)
 {
    if (type == 0)
    {
        $(id).checked = true;
    }
    else
    {
        if (type == 1) {
            if ($(id).checked) {
                $(id).checked = false;
            }
            else {
                $(id).checked = true;
            }
        }
        else {
            var nc = 0;
            for (i = 0; i < document.formPoll.elements.length; i++)
            {
                if (document.formPoll.elements[i].type == "checkbox")
                {
                    if (document.formPoll.elements[i].checked)
                    {
                        nc += 1;
                    }
                }
            }

            if ($("PDI_OtherText"))
            {
                var ot = $("PDI_OtherText").value;
                if (ot.length > 0) {
                    nc += 1;
                }
            }
            
            
            if ($(id).checked) {
                $(id).checked = false;
                nc -= 1;
            }
            else {
                if ( nc > type ){
					$(id).checked = false;
					$(id).disabled = true;
				}
				else if ( nc < type ){
					$(id).checked = true;
					$(id).disabled = false;
					nc += 1;
				}
            }

            if (nc >= type) {
                for (i = 0; i < document.formPoll.elements.length; i++)
                {
                    if (document.formPoll.elements[i].type == "checkbox")
                    {
                        if (!document.formPoll.elements[i].checked)
                        {
                            document.formPoll.elements[i].disabled = true;
                        }
                    }
                }
            }
            else {
            	if ($("PDI_OtherText")){ $("PDI_OtherText").disabled = false; }
                for (i = 0; i < document.formPoll.elements.length; i++)
                {
                    if (document.formPoll.elements[i].type == "checkbox")
                    {
                        if (!document.formPoll.elements[i].checked)
                        {
                            document.formPoll.elements[i].disabled = false;
                        }
                    }
                }
            }
        }
    }
}

function oclick(type, lostfocus)
 {
    var reset = false;
    if (lostfocus) {
        var ot = $("PDI_OtherText").value;
        if (ot.length == 0) {
            reset = true;
        }
    }

    if (type == 0)
    {
        obj = $("PDI_answerOther");
        if (lostfocus && reset) {
            obj.checked = false;
        }
        else {
            obj.checked = true;
        }
    }
    else if (type > 1) {
        nc = 1;
        obj = $("PDI_OtherText");
        if (lostfocus && reset) {
            nc = 0;
        }

        for (i = 0; i < document.formPoll.elements.length; i++)
        {
            if (document.formPoll.elements[i].type == "checkbox")
            {
                if (document.formPoll.elements[i].checked)
                {
                    nc += 1;
                }
            }
        }

        if (nc > type) {
            obj.disabled = true;
            obj.value = '';
            for (i = 0; i < document.formPoll.elements.length; i++)
            {
                if (document.formPoll.elements[i].type == "checkbox")
                {
                    if (!document.formPoll.elements[i].checked)
                    {
                        document.formPoll.elements[i].disabled = true;
                    }
                }
            }
        }
        else if (nc < type) {
            obj.disabled = false;
            for (i = 0; i < document.formPoll.elements.length; i++)
            {
                if (document.formPoll.elements[i].type == "checkbox")
                {
                    if (!document.formPoll.elements[i].checked)
                    {
                        document.formPoll.elements[i].disabled = false;
                    }
                }
            }
        }
    }
}

function iover(elm, id)
 {
    elm.style.backgroundColor = '#FDFFDC';
}

function iout(elm, id)
 {
    elm.style.backgroundColor = '#FFFFFF';
}

function iclick(elm, id)
 {
    window.location = '/poll/' + id + '/';
}

function Set_Cookie(name, value, expires, path, domain, secure)
 {
    var today = new Date();
    today.setTime(today.getTime());

    if (expires)
    {
        expires = expires * 1000 * 60 * 60 * 24;
    }

    var expires_date = new Date(today.getTime() + (expires));

    document.cookie = name + "=" + escape(value) +
    ((expires) ? ";expires=" + expires_date.toGMTString() : "") +
    ((path) ? ";path=" + path: "") +
    ((domain) ? ";domain=" + domain: "") +
    ((secure) ? ";secure": "");
}

function vote(id, poll_other, rand, poll_type, u)
 {

    var answerString = '';
    var otherText = '';

    for (i = 0; i < document.formPoll.elements.length; i++)
    {
        if (document.formPoll.elements[i].type == "checkbox" || document.formPoll.elements[i].type == "radio")
        {
            if (document.formPoll.elements[i].checked)
            {
                answerString += document.formPoll.elements[i].value + ',';
            }
        }
    }

    if (poll_other == 1)
    {
        otherText = $('PDI_OtherText').value;
    }

    if (answerString.length > 0 || otherText.length > 0)
    {
        location.href = '/vote/?va=' + u + '&pt=' + poll_type + '&r=' + rand + '&p=' + id + '&a=' + answerString + '&o=' + otherText;
    }
    else
    {
        alert('Please choose an answer first!');
    }
}

var vote_0 = new Image();
vote_0.src = "../images/t_pvote.gif";
var vote_1 = new Image();
vote_1.src = "../images/t_pvoteon.gif";

var submit_0 = new Image();
submit_0.src = "../images/t_psubmit.gif";
var submit_1 = new Image();
submit_1.src = "../images/t_psubmiton.gif";

function countchars(elm)
 {
    if (elm.value.length >= 4000)
    {
        elm.value = left(elm.value, 4000);
    }
    $('charcount').innerHTML = elm.value.length;
}

function left(str, n) {
    if (n <= 0)
    return "";
    else if (n > String(str).length)
    return str;
    else
    return String(str).substring(0, n);
}


function isEmail(add) {
    if (/^[_\w\.\-\+]*@\w+([\.-]?\w+)*(\.\w{2,5})+$/.test(add))
    {
        return true;
    } else {
        return false;
    }
}

String.prototype.trim = function() {
    a = this.replace(/^\s+/, '');
    return a.replace(/\s+$/, '');
};

function submitComment()
 {
    var pass = true;

    if ($('cname').value.trim().length < 1)
    {
        pass = false;
        $('cnameerr').style.display = 'block';
    }
    else {
        $('cnameerr').style.display = 'none';
    }

    if (!isEmail($('cemail').value))
    {
        pass = false;
        $('cemailerr').style.display = 'block';
    }
    else {
        $('cemailerr').style.display = 'none';
    }

    if ($('ctext').value.trim().length < 1)
    {
        pass = false;
        $('ctexterr').style.display = 'block';
    }
    else
    {
        $('ctexterr').style.display = 'none';
    }

    if (pass)
    {
        if (!$('fb_post').checked)
        {
            $('post_to_fb').value = '0';
        }
        $('formcomment').submit();
    }
}

var scrollTO;
function goscroll()
 {
    scrollTO = setTimeout('doscroll()', 500);
}

function stopscroll()
 {
    if (scrollTO)
    {
        clearTimeout(scrollTO);
    }
}

var pointer = 0;
var opacity = 0;

function doscroll()
 {
    var EvString = '';
    var thisPointer = pointer;
    var choosenOne = '';

    for (count = 1; count <= 4; count++)
    {

        if (count == 4)
        {
            choosenOne = 'id="choosenOne" style="opacity:0;"';
        }
        else
        {
            choosenOne = '';
        }
        switch (Tev[thisPointer].toString().split('|')[0])
        {
        case '1':
            {
                EvString = '<div class="item1" ' + choosenOne + ' style="display:inline-block;">Vote Cast On: <a href="/poll/' + Tev[thisPointer].toString().split('|')[1] + '/">' + Tev[thisPointer].toString().split('|')[2] + '</a><br/> <span>(' + Tev[thisPointer].toString().split('|')[4] + ')</span></div>' + EvString;
                break;
            }
        case '2':
            {
                EvString = '<div class="item2" ' + choosenOne + ' style="display:inline-block;">Poll Created: <a href="/poll/' + Tev[thisPointer].toString().split('|')[1] + '/">' + Tev[thisPointer].toString().split('|')[2] + '</a><br/> <span>(' + Tev[thisPointer].toString().split('|')[4] + ')</span></div>' + EvString;
                break;
            }
        case '3':
            {
                EvString = '<div class="item3" ' + choosenOne + ' style="display:inline-block;">New Comment:  <a href="/poll/' + Tev[thisPointer].toString().split('|')[1] + '/">' + Tev[thisPointer].toString().split('|')[2] + '</a><br/> <span>(' + Tev[thisPointer].toString().split('|')[4] + ')</span></div>' + EvString;
                break;
            }
        }
        thisPointer++;

        if (thisPointer > (Tev.length - 1))
        {
            thisPointer = 0;
        }
    }

    pointer++;
    if (pointer > (Tev.length - 1))
    {
        pointer = 0;
    }

    $('tscroller').innerHTML = EvString;
    opacity = 0;
    appear();
    scrollTO = setTimeout("doscroll()", 3000);
}



function appear()
 {
    if (document.all)
    {
        $('choosenOne').style.filter = 'alpha(opacity=' + opacity + ')';
    }
    else
    {
        $('choosenOne').style.opacity = opacity / 100;
    }

    opacity = opacity + 20;
    if (opacity < 100)
    {
        setTimeout("appear()", 150);
    }
}


function hchange(type, period)
 {
    if (type == 'popular')
    {
        $('recenthead').innerHTML = '<span>Popular Polls</span> | <a href="javascript:hchange(\'recent\',\'all\');">Recent Polls</a>';
        if (period == 'week') {
            $('recentsub').innerHTML = 'This Week | <a href="javascript:hchange(\'popular\',\'month\');">This Month</a> | <a href="javascript:hchange(\'popular\',\'all\');">All Time</a>';
        }
        if (period == 'month') {
            $('recentsub').innerHTML = '<a href="javascript:hchange(\'popular\',\'week\');">This Week</a> | This Month | <a href="javascript:hchange(\'popular\',\'all\');">All Time</a>';
        }
        if (period == 'all') {
            $('recentsub').innerHTML = '<a href="javascript:hchange(\'popular\',\'week\');">This Week</a> | <a href="javascript:hchange(\'popular\',\'month\');">This Month</a> | All Time';
        }
    }
    else
    {
        $('recenthead').innerHTML = '<a href="javascript:hchange(\'popular\',\'week\');">Popular Polls</a> | <span>Recent Polls</span>';
        $('recentsub').innerHTML = '&nbsp;';
    }
    var params = '?type=' + type + '&period=' + period;
    $('hrec').innerHTML = '<div class="loading">loading Content...</div>';
    makeRequest('/a-recent/', params, $('hrec'));
}


function alertPostContents()
 {
    if (http_request.readyState == 4)
    {
        if (http_request.status == 200)
        {
            return true;
        }
        else
        {
            alert('Oops! There was a problem with your request, please refresh this page and try again.');
        }
    }
}



function makeRequest(url, params, container, evalCode)
 {
    http_request = false;
    if (window.XMLHttpRequest)
    // Mozilla, Safari,...
    {
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType)
        {
            http_request.overrideMimeType('text/xml');
        }
    }
    else if (window.ActiveXObject)
    {
        // IE
        try
        {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e)
        {
            try
            {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(e)
            {
                }
        }
    }
    if (!http_request)
    {
        alert('Cannot create XMLHTTP instance');
        return false;
    }

    http_request.onreadystatechange = function() {
        if (http_request.readyState == 4)
        {
            if (http_request.status == 200)
            {
                result = http_request.responseText;
                if (container)
                {
                    container.innerHTML = result;
                }
                eval(evalCode);
            }
            else
            {
                //alert(http_request.responseText);
                alert('There was a problem with the request.');
            }
        }
    }

    http_request.open('GET', url + params, true);
    http_request.send(null);
}

function t_go(id)
 {
    location.href = '/poll/' + id + '/';
}

function t_search()
 {
    if ($('searchstring').value.length == 0)
    {
        alert('Please enter a search term first!');
    }
    else
    {
        location.href = '/search/?s=' + $('searchstring').value;
    }
}

function loadComments()
 {
    $('commidin').innerHTML = '<form method="post" action="/postcomment/" name="formcomment" id="formcomment">' + $('commidin').innerHTML + '</form>';
    $('commidin').style.display = 'block';
}

function findX(obj) {
    var curleft = 0;
    if (obj.offsetParent)
    while (1)
    {
        curleft += obj.offsetLeft;
        if (!obj.offsetParent)
        break;
        obj = obj.offsetParent;
    }
    else if (obj.x)
    curleft += obj.x;
    return curleft;
}

function findY(obj) {
    var curtop = 0;
    if (obj.offsetParent)
    while (1)
    {
        curtop += obj.offsetTop;
        if (!obj.offsetParent)
        break;
        obj = obj.offsetParent;
    }
    else if (obj.y)
    curtop += obj.y;
    return curtop;
}


var lang = false;

function showLang()
 {
    lang = true;
    $('langbg').className = 'langbgon';
    $('langlist').style.top = findY($('langbg')) + 25 + 'px';
    $('langlist').style.left = (findX($('langbg'))) + 'px';
    $('langlist').style.display = 'block';
}

function hideLang()
 {
    lang = false;
    $('langlist').style.display = 'none';
    $('langbg').className = 'langbgoff';
}

function checkLang(ev)
 {
    ev = ev || window.event;
    var target = ev.target || ev.srcElement;

    if (lang == true)
    {
        try
        {

            if (target.id != 'langlist')
            {
                if (target.parentNode.id != 'langlist')
                {
                    if (target.parentNode.parentNode.id != 'langlist')
                    {
                        hideLang();
                    }
                }
            }
        }
        catch(err)
        {
            hideLang();
        }
        finally
        {
            }
    }
}

document.onmousedown = checkLang;