﻿function createPager()
{
    if(!pageSettings) return;
    try{pageSettings.pageCount = parseInt(pageSettings.pageCount)}catch(ex){pageSettings.pageCount = 0};
    if(pageSettings.pageCount == 0) return;
    try{pageSettings.pageSize = parseInt(pageSettings.pageSize)}catch(ex){pageSettings.pageSize = 0};
    if(pageSettings.pageSize == 0) return;
    try{pageSettings.currentPage = parseInt(pageSettings.currentPage)}catch(ex){pageSettings.currentPage = 0};
    if(!pageSettings.url) pageSettings.url = "?";
    
    document.write("<table cellpadding='0' cellspacing='1'>");
    document.write("<tr>");
    document.write("<td class='PagerMessage'>");
    document.write(pageSettings.pageMessage);
    document.write("</td>");
    if(pageSettings.pageCount > 10)
    {
        if(pageSettings.pageCount > 30)
        {
            document.write("<td style='padding: 0px; margin: 0px;'>");
            document.write("<input type='text' class='GridViewPagerTextbox' value='" + (pageSettings.currentPage + 1) + "' onkeydown='changePage(this);'/>");
            document.write("</td>");
        }
        else
        {
            document.write("<td style='padding: 0px; margin: 0px;'>");
            document.write("<select class=\"PagerSizeDropdown\" size=\"1\" onchange=\"location.href='" + pageSettings.pageURL.replace(/{page}/g, "' + this.options[this.selectedIndex].value + '") + "';\">");
            for(var i = 0; i < pageSettings.pageCount; i++)
            {
                document.write("<option value='" + i + "'");
                if(i == pageSettings.currentPage) document.write(" selected ");          
                document.write(">");
                document.write(i + 1);
                document.write("</option>");
            }
            document.write("</select>");
            document.write("</td>");
        }        
        var startPage;
        var endPage;
        
        startPage = pageSettings.currentPage - 2;
        if(startPage < 0) startPage = 0;
        endPage = startPage + 4;
        if(endPage >= pageSettings.pageCount)
        {
            endPage = pageSettings.pageCount - 1;
            startPage = endPage - 4;
        }
    }
    else
    {
        startPage = 0;
        endPage = pageSettings.pageCount - 1;
    }
    document.write("<td><a class='NormalPagerItem' href='" + pageSettings.pageURL.replace(/{page}/g, 0) + "'>&lt;&lt;</a></td>");
    for(var i = startPage; i <= endPage; i++)
    {
        if(i == pageSettings.currentPage)
            document.write("<td><a class='CurrentPagerItem'>" + (i + 1) + "</a></td>");
        else
            document.write("<td><a class='NormalPagerItem' href='" + pageSettings.pageURL.replace(/{page}/g, i) + "'>" + (i + 1) + "</a></td>");
    }
    document.write("<td><a class='NormalPagerItem' href='" + pageSettings.pageURL.replace(/{page}/g, pageSettings.pageCount - 1) + "'>&gt;&gt;</a></td>");
    document.write("</td>");
    document.write("</tr>");
    document.write("</table>");
}

function validateEmail(value, nullable)
{
    if(value.length == 0 && nullable) return true;
    if(value.length == 0) return false;
    return value.match(/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/ig);
}

function validateEmpty(value)
{
    if(value.length == 0) return false;
    return true
}

function validateField(field, validator, message, nullable)
{
    if(field)
    {
        if(validator)
        {
            if(validator(field.value, nullable)) return true;
        }
    }
    alert(message);
    field.focus();
    return false;
}

function setHomePage(node, homePage)
{
	if(!node) return;
	node.addBehavior("#default#homepage");
	node.setHomePage(homePage);
}

function showHideInfo(node, container)
{
    if(!node) return;
    container = document.getElementById(container);
    if(!container) return;
    if(container.style.display == "")
    {
        container.style.display = "none";
        node.src = "Images/Expand.gif";
    }
    else
    {
        container.style.display = "";
        node.src = "Images/Collapse.gif";
    }
}