﻿var _currentPage = 1;
var _sortOrder = 1;
var _busy = false;
function e(ele) { return document.getElementById(ele); }

function isNumeric(sText)
{
    var ValidChars = "0123456789.-";
    var IsNumber=true;
    var Char;

    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }
    return IsNumber;
}

function ajaxCall(sUrl, sRequest, fCallback, sType)
{
    if(sType != undefined)
    {
        $.ajax({type: "POST", url: sUrl, data:sRequest, success: fCallback, dataType: sType  });
    }
    else
    {
        $.ajax({type: "POST", url: sUrl, data:sRequest, success: fCallback });
    }
}

function pageLoad()
{
}

$(document).ready(function ()
{
    pageLoad();
});

function rfl(sortorder, pagenumber)
{
    if(_busy)
    {
        return; 
    }
    
    $("#aFollowRecent").css("font-weight","normal");
    $("#aFollowAlpha").css("font-weight","normal");
    $("#aFollowChron").css("font-weight","normal");
    
    switch(sortorder)
    {
        case 1: $("#aFollowRecent").css("font-weight","bold"); break;
        case 2: $("#aFollowAlpha").css("font-weight","bold"); break;
        case 3: $("#aFollowChron").css("font-weight","bold"); break;
    }
    
    _sortOrder = sortorder;
    
    $("#ctlFollower_pnlUserList").slideUp("slow");
    $("#ctlFollower_pnlUserList").get(0).innerHTML = "Updating...";
    $("#ctlFollower_pnlUserList").slideDown("slow", function()
    {
        ajaxCall("/ajax/followerlisthtml", "site=" + $("#ctlFollower_txtUser").val() + "&txtSortOrder=" + sortorder + "&txtPage=" + pagenumber, function(sHtml)
        {
            $("#ctlFollower_pnlUserList").slideUp("slow");
            $("#ctlFollower_pnlUserList").get(0).innerHTML = sHtml;
            $("#ctlFollower_pnlUserList").slideDown("slow");
            
            _currentPage = pagenumber;
        });
    });
    
    return false;
}

function rffl(sortorder, pagenumber)
{
    if(_busy)
    {
        return; 
    }
    
    $("#aFollowRecent").css("font-weight","normal");
    $("#aFollowAlpha").css("font-weight","normal");
    $("#aFollowChron").css("font-weight","normal");
    
    switch(sortorder)
    {
        case 1: $("#aFollowRecent").css("font-weight","bold"); break;
        case 2: $("#aFollowAlpha").css("font-weight","bold"); break;
        case 3: $("#aFollowChron").css("font-weight","bold"); break;
    }
    
    _sortOrder = sortorder;
    
    $("#ctlFollower_pnlUserList").slideUp("slow");
    $("#ctlFollower_pnlUserList").get(0).innerHTML = "Updating...";
    $("#ctlFollower_pnlUserList").slideDown("slow", function()
    {
      ajaxCall("/ajax/followlisthtml", "site=" + $("#ctlFollower_txtUser").val() + "&txtSortOrder=" + sortorder + "&txtPage=" + pagenumber, function(sHtml)
      {
          $("#ctlFollower_pnlUserList").slideUp("slow");
          $("#ctlFollower_pnlUserList").get(0).innerHTML = sHtml;
          $("#ctlFollower_pnlUserList").slideDown("slow");
         
          _currentPage = pagenumber;
      });
    });
    
    return false;
}

function rffl_next()
{
    if(_busy)
    {
        return; 
    }
    
    if (_currentPage == $("#ctlFollower_txtNumPages").val())
    {
        return false;
    }
    
    _currentPage++;
    
    rffl(_sortOrder, _currentPage);
}

function rffl_prev()
{
    if(_busy)
    {
        return; 
    }
    
    if (_currentPage == 0)
    {
        return false;
    }
    
    _currentPage--;
    
    rffl(_sortOrder, _currentPage);
}

function rfl_next()
{
    if(_busy)
    {
        return; 
    }
    
    if (_currentPage == $("#ctlFollower_txtNumPages").val())
    {
        return false;
    }
    
    _currentPage++;
    
    rfl(_sortOrder, _currentPage);
}

function rfl_prev()
{
    if(_busy)
    {
        return; 
    }
    
    if (_currentPage == 0)
    {
        return false;
    }
    
    _currentPage--;
    
    rfl(_sortOrder, _currentPage);
}

function vote(iZapId, score, callBack)
{
    if (_busy)
    {
        return false;
    }
    
    _busy = true;
    
    ajaxCall("/ajax/vote", "zapid=" + iZapId + "&score=" + score, function(sReturn)
    {
        _busy = false;
        
        if(isNumeric(sReturn))
        {
            if(callBack == undefined)
            {
                $("#lblScore" + iZapId).get(0).innerHTML = sReturn;
                
                if(sReturn > 0)
                {
                    $("#lblScore").css("class", "voteup");
                }
                else
                {
                    $("#lblScore").css("class", "votedown");
                }
                
                $("#op" + iZapId).get(0).innerHTML = "Thanks for voting!";
            }
            else
            {
                callBack(sReturn);
            }
        }
        else
        {
            if(sReturn == "Already Voted")
            {
                $("#op" + iZapId).get(0).innerHTML = "Thanks for voting!";
            }
            else if(sReturn == "Please Login")
            {
                window.location = "/login?vote=1&ReturnUrl=" + escape(window.location.href);
            }
        }
    });
    
    return false;
}

function renderScore(iScore)
{
    if(iScore > 0)
    {
        return "<span class='voteup'>" + iScore + "</span>";
    }
    else if(iScore < 0)
    {
        return "<span class='votedown'>" + iScore + "</span>";
    }
    else
    {
        return "0";
    }
}

function deleteComment(iCommentId)
{
    _busy = true;
    
    ajaxCall('/ajax/deletecomment', 'commentid=' + iCommentId, function(sReturn)
    {
        _busy = false;
        
        if(isNumeric(sReturn))
        {
            $("#divComment" + sReturn).get(0).innerHTML = "<span class='bold error'>Comment removed</span>";
            window.setTimeout(function()
            {
                $("#divComment" + sReturn).slideUp("slow");
            }, 5000);
        }
        else
        {
            $("#divComment" + iCommentId).get(0).innerHTML = sReturn;
        }
    });
    
    return false;
}

function isLoggedIn()
{
    if($.cookie("PZDSID") != undefined)
    {
        return true;
    }

    if($.cookie("PZSID") != undefined)
    {
        return true;
    }
    
    return false;
}

function checkLoginStatus()
{
    if($.cookie("PZDSID") != undefined)
    {
        return;
    }

    if($.cookie("PZSID") != undefined)
    {
        return;
    }
    
    window.location = "/login?ReturnUrl=" + escape(window.location.href);
}

function tf()
{
    checkLoginStatus();
    
    _busy = true;
    ajaxCall('/ajax/togglefollow', 'txtSiteName=' + $('#txtUsername').val(), function(sReturn)
    {
        if(sReturn == "1")
        {
            $("#lblFollow").get(0).innerHTML = "Stop Following";
        }
        else if(sReturn == "0")
        {
            $("#lblFollow").get(0).innerHTML = "Follow";
        }
        else
        {
            alert(sReturn);
        }
        
        _busy = false;
    });
}

function tb()
{
    checkLoginStatus();
    
    _busy = true;
    ajaxCall('/ajax/toggleblock', 'txtSiteName=' + $('#txtUsername').val(), function(sReturn)
    {
        if(sReturn == "1")
        {
            $("#lblBlock").get(0).innerHTML = "UnBlock";
        }
        else if(sReturn == "0")
        {
            $("#lblBlock").get(0).innerHTML = "Block";
        }
        else
        {
            alert(sReturn);
        }
        
        _busy = false;
    });
}

function sc()
{
    checkLoginStatus();
    
    ajaxCall('/ajax/getchat', 'txtSiteName=' + $('#txtUsername').val(), function(sReturn)
    {
        window.location = "/chat?id=" + sReturn;
    });
    
    return false;
}

function flag(zapId)
{
    _busy = true;
    
    ajaxCall('/ajax/flagitem', 'txtZapID=' + zapId, function(sReturn)
    {
        if(isNumeric(sReturn))
        {
            $("#divZap" + zapId).get(0).innerHTML = "<span class='bold error'>Item flagged. Thank you</span><hr/>";
            window.setTimeout(function()
            {
                $("#divZap" + zapId).slideUp("slow");
            }, 5000);
        }
        else
        {
            alert(sReturn);
        }
        
        _busy = false;
    });
    
    return false;
}

function toTop(element)
{
    $("#" + element).animate({ scrollTop: 0 }, "slow");
    return false;
}

function toBottom(element)
{
    $("#" + element).animate({ scrollTop: $("#" + element).attr("scrollHeight") }, "slow");
    return false;
}