﻿//**************** utility section **************
$(function() {
    $(this).ajaxStart(function() {
        showPopUp();
    });
    $(this).ajaxStop(function() {
        hidePopUp();
    });
});

function showPopUp() {
    var content2 = "<div style='text-align:center'><img src='/images/preload.gif' width='220' height='19' alt='' />" +
                   "<div>Loading please wait..</div></div>";
    TINY.box.show(content2, 0, 0, 0, 0);
}

function hidePopUp() {
    TINY.box.hide();
    setTimeout("hidePopUp1()", 1000);
}
function hidePopUp1() {
    TINY.box.hide();
}

//****************** Main section ****************
var tmpUserId = 0;

function GetShortUrl(userId) {
    try {
        $('#ErrorMessage').html("");
        $("#shareIt").html("");
        closeMsg();
        document.getElementById('ShortUrl').value = ""
        $('#ErrorMessage').html("Please wait..");
        var LongUrl = document.getElementById('LongUrl').value;
        var v = new RegExp();
        v.compile("^(http|https|ftp)(\://)(.*)(\.)(.*).\/*?$");
        if (!v.test(LongUrl)) {
            showMsg("Invalid LongUrl", true);
            $('#ErrorMessage').html("");
            document.getElementById('LongUrl').focus();
            return false;
        }

        v.compile("^http://w*\.?nxy.in");
        if (v.test(LongUrl)) {
            showMsg("Url should not start with \"nxy.in\". Please try another", true);
            $('#ErrorMessage').html("");
            document.getElementById('LongUrl').focus();
            return false;
        }
        tmpUserId = userId;
        var pars = "/apis/shorten.aspx?url=" + UrlEncode(LongUrl) +
                    "&user=" + tmpUserId + "&frame=false";
        $.getJSON(pars, ShowShort);
    }
    catch (e) {
        alert(e);
    }
    return false;
}

function ShowShort(obj) {
    $('#ErrorMessage').html("");
    closeMsg();
    if (obj.ShortUrl == null) {
        showMsg(obj.Error, true);
    }
    else {
        document.getElementById('ShortUrl').value = obj.ShortUrl;
        var copy = document.getElementById('d_clip_button');
        var newPars = "/ajax/ShareCtrl.aspx?ShortUrl=" + obj.ShortUrl + "&LongUrl=" + obj.LongUrl;
        $("#shareIt").html("Loading share button...");
        $.get(newPars,function(res){
            $("#shareIt").html(res);
        });
        document.getElementById('LongUrl').value = "";
        copy.style.visibility = 'visible';
    }
    if (tmpUserId != 0) {
        $("#tabs").tabs('load', 0);
    }
}
//function copyToClipboard() {
//    var text = document.getElementById('ShortUrl').value;
//    alert(text);
//    ZeroClipboard.setMoviePath('/Web/swf/ZeroClipboard.swf');
//    var clip = new ZeroClipboard.Client();
//    clip.setText(text);
//}
function GetLongUrl() {
    $('#ErrorMessage').html("");
    closeMsg();
    document.getElementById('LongUrl1').value = ""
    $('#ErrorMessage').html("Please wait..");
    var pars = "/Api.aspx?getlong=" + UrlEncode(document.getElementById('ShortUrl1').value);
        $.getJSON(pars, ShowLong);
        return false;
}

function ShowLong(obj) {
    $('#ErrorMessage').html("");
    closeMsg();
    if (obj.LongUrl == null) {
        showMsg(obj.Error, true);
    }
    else {
        document.getElementById('LongUrl1').value = obj.LongUrl;
        $('#ErrorMessage').html("");
    }
}

function GetRecentUrls(pageNo, sortExp) {
    var $tabs = $('#tabs-upcomingUrls').tabs();
    var selected = $tabs.tabs('option', 'selected');
    var newurl = "Ajax/UpcomingUrls.aspx?pageNo=" + pageNo + "&sortExpression=" + sortExp;
    $tabs.tabs('url', selected, newurl);
    $tabs.tabs('load', selected);
}

function GetMyUrls(pageNo, sortExp) {
    var $tabs = $('#tabs-myUrls').tabs();
    var selected = $tabs.tabs('option', 'selected');
    var newurl = "/Ajax/GetMyUrls.aspx?pageNo=" + pageNo + "&sortExpression=" + sortExp + "&action=myurls";
    $tabs.tabs('url', selected, newurl);
    $tabs.tabs('load', selected);
}

function GetMyTopUrls(pageNo, sortExp) {
    var $tabs = $('#tabs-myTopUrls').tabs();
    var selected = $tabs.tabs('option', 'selected');
    var newurl = "/Ajax/GetMyUrls.aspx?pageNo=" + pageNo + "&sortExpression=" + sortExp + "&action=myurls"+"&type=myTop";
    $tabs.tabs('url', selected, newurl);
    $tabs.tabs('load', selected);
}
function GetMostLikedUrls(pageNo, sortExp) {
    var $tabs = $('#tabs-mostLikedUrls').tabs();
    var selected = $tabs.tabs('option', 'selected');
    var newurl = "/Ajax/GetMostLikedUrls.aspx?pageNo=" + pageNo + "&sortExpression=" + sortExp;
    $tabs.tabs('url', selected, newurl);
    $tabs.tabs('load', selected);
}
function GetDomainUrls(pageNo, sortExp) {
    try {
        var fromDate = $('#' + ctrlFromDate).val();
        var toDate = $('#' + ctrlToDate).val();
        if (new Date(fromDate) < new Date(joinDate)) {
            showMsg("The selected date should be greater than join date.", true);
        }
        else if (new Date(fromDate) > new Date(today) ||
                new Date(toDate) > new Date(today) || new Date(fromDate) > new Date(toDate)) {
            showMsg("Invalid Date range.", true);
        }
        else {
            var $tabs = $('#tabs-DomainUrls').tabs();
            var selected = $tabs.tabs('option', 'selected');
            var newurl = "/Ajax/GetDomainUrls.aspx?pageNo=" + pageNo + "&userId=" + userId + "&companyId=" + companyId + "&domain=" + domain + "&fromDate=" + fromDate + "&toDate=" + toDate + "&sortExpression=" + sortExp;
            $tabs.tabs('url', selected, newurl);
            $tabs.tabs('load', selected);
        }

       // return false;
    }
    catch (e)
    { }
}

function GetPopularArticles(pageNo, sortExp) {
    var time = $('#ddlPopularArticles').val();
    var $tabs = $('#tabs-popularArticles').tabs();
    var selected = $tabs.tabs('option', 'selected');
    var newurl = "/Ajax/GetPopularArticles.aspx?pageNo=" + pageNo + "&sortExpression=" + sortExp + 
                                "&action=todayshot&time=" + time;
    $tabs.tabs('url', selected, newurl);
    $tabs.tabs('load', selected);
}

function GetTopMarketers(pageNo, sortExp) {
    
    var time = $('#ddlTopMarketers').val();
    var $tabs = $('#tabs-TopMarketers').tabs();
    var selected = $tabs.tabs('option', 'selected');
    var newurl = "/Ajax/GetTopMarketers.aspx?pageNo=" + pageNo + "&sortExpression=" + sortExp + "&time=" + time;
    $tabs.tabs('url', selected, newurl);
    $tabs.tabs('load', selected);
}
function GetlastFiveDayUrl(pageNo, sortExp) {
    try {
        var $tabs = $('#tabs3').tabs();
        var selected = $tabs.tabs('option', 'selected');
        var newurl = "/Ajax/LastFiveDaysUrl.aspx?pageNo=" + pageNo + "&sortExpression=" + sortExp;
        $tabs.tabs('url', selected, newurl);
        $tabs.tabs('load', selected);
    }
    catch (e) {

    }
}
function GetTopDomain(pageNo, sortExp) {
    try {
        var time = $('#ddlTopDomain').val();
        var $tabs = $('#tabs-TopDomain').tabs();
        var selected = $tabs.tabs('option', 'selected');
        var newurl = "/Ajax/GetTopDomain.aspx?pageNo=" + pageNo + "&sortExpression=" + sortExp + "&time=" + time;
        $tabs.tabs('url', selected, newurl);
        $tabs.tabs('load', selected);
       
    }
    catch (e) {
    }
}
function GetUserTopUrls(pageNo,sortExpression) {
    var $tabs = $('#tabs-myTopUrls').tabs();
    var selected = $tabs.tabs('option', 'selected');
    var newurl = "/Ajax/GetUserPopularArticles.aspx?pageNo=" + pageNo + "&userId=" + userId + "&userName=" + userName + "&sortExpression="+sortExpression;
    $tabs.tabs('url', selected, newurl);
    $tabs.tabs('load', selected);
}

function changeUserTopArticles(func, sortExpression) {
    var boxname = "#selectPage1" + func;
    var value = $(boxname).val();
    var index = $(boxname).attr("selectedIndex");
    GetUserTopUrls(value, sortExpression);
}

function changePage(func, sortExp) {
    var boxname = "#selectPage1" + func;
    var value = $(boxname).val();
    var index = $(boxname).attr("selectedIndex");

    if (func == 'GetTopDomain') {
        GetTopDomain(value, sortExp);
    }
    if (func == 'GetMostLikedUrls') {
        GetMostLikedUrls(value);
    }
    if (func == 'GetMyTopUrls') {
        GetMyTopUrls(value);
    }
    if (func == 'GetPopularArticles') {
        GetPopularArticles(value);
    }
    if (func == 'GetTopMarketers') {
        GetTopMarketers(value,sortExp);
    }
    if (func == 'GetLastMonthTop') {
        GetLastMonthTop(value);
    }
    if (func == 'GetLastWeekTop') {
        GetLastWeekTop(value);
    }
    if (func == 'GetTopUrls') {
        GetTopUrls(value, sortExp);
    }
    if (func == 'GetTodaysHot') {
        GetTodaysHot(value);
    }
    if (func == 'GetRecentUrls') {
        GetRecentUrls(value);
    }
    if (func == 'GetMyUrls') {
        GetMyUrls(value,sortExp);
    }
    if (func == 'GetDomainUrls') {
        GetDomainUrls(value);
    }
}


function ChangePopularArticles(e, mode) {
    var time = e.options[e.selectedIndex].value;
    var $tabs = $('#tabs-popularArticles').tabs();
    var selected = $tabs.tabs('option', 'selected');
    var newurl = "/Ajax/GetPopularArticles.aspx?pageNo=1&mode=" + mode + "&time=" + time;
    $tabs.tabs('url', selected, newurl);
    $tabs.tabs('load', selected);
}

function ChangeTopMarketers(e, mode) {
    var time = e.options[e.selectedIndex].value;
    var $tabs = $('#tabs-TopMarketers').tabs();
    var selected = $tabs.tabs('option', 'selected');
    var newurl = "/Ajax/GetTopMarketers.aspx?pageNo=1&mode=" + mode + "&time=" + time;
    $tabs.tabs('url', selected, newurl);
    $tabs.tabs('load', selected);
}

function ChangeTopDomain(e, mode) {
    var time = e.options[e.selectedIndex].value;
    var $tabs = $('#tabs-TopDomain').tabs();
    var selected = $tabs.tabs('option', 'selected');
    var newurl = "/Ajax/GetTopDomain.aspx?pageNo=1&mode=" + mode + "&time=" + time;
    $tabs.tabs('url', selected, newurl);
    $tabs.tabs('load', selected);
}

function checkuser() {

    var username = document.getElementById(document.getElementById('TxtId').value).value;
    if (username == null || jQuery.trim(username) == '') {
        showMsg("You must enter a User name.", true);
    }
    else {
        var pars = "/Ajax/CheckUser.aspx?username=" + username;
        $.getJSON(pars, IsUserAvailable);
    } 
}
function IsUserAvailable(obj) {
    if (obj== "0") {
        showMsg("User name already exists.", true);
        }
    else {
        showMsg("User name is available.", false);
    }

}

function UrlEncode(inputString) {
    var encodedString = escape(inputString);
    encodedString = encodedString.replace("+", "%2B");
    encodedString = encodedString.replace("/", "%2F");
    return encodedString;
}

function GetSearchResult(userId, pageNo, txtKeyWord, selected) {
    var selectedValue = document.getElementById(selected).value; 
    var key = document.getElementById(txtKeyWord).value;
    $.post("/Ajax/GetMySearchResult.aspx?userId=" + userId + "&pageNo=" + pageNo + "&selectedValue=" + selectedValue + "&key=" + key, function(data) {
        $("#searchResult").html(data);
    });
}

function changePgSearchedArticles(userId, pageNo) {
    var key = document.getElementById('hidKey').value;
    var selectedValue = document.getElementById('hidType').value;
    
//    var boxname = "#selectPage1" + func;
//    var pageNo = $(boxname).val();
    $.post("/Ajax/GetMySearchResult.aspx?userId=" + userId + "&pageNo=" + pageNo + "&selectedValue=" + selectedValue + "&key=" + key, function(data) {
        $("#searchResult").html(data);
    });
}
function changeSearchedArticles(userId, func) {
    var boxname = "#selectPage1" + func;
    var pageNo = $(boxname).val();
    var key = document.getElementById('hidKey').value;
    var selectedValue = document.getElementById('hidType').value;
    $.post("/Ajax/GetMySearchResult.aspx?userId=" + userId + "&pageNo=" + pageNo + "&selectedValue=" + selectedValue + "&key=" + key, function(data) {
        $("#searchResult").html(data);
    });
}
