var timer;
var TIMER_TIMEOUT = 1000;
var first;
var headerImages =  {
    CT : "steve_hedber285.jpg",
    DC : "building_and_flag.jpg",
    FL : "steve_hedber497.jpg",
    GA : "augusta-canal-dsc_0035.jpg",
    ME : "steve_hedber212.jpg",
    MD : "steve_hedber358.jpg",
    MA : "steve_hedber263.jpg",
    NH : "steve_hedber249.jpg",
    NJ : "steve_hedber312.jpg",
    NY : "steve_hedber293.jpg",
    NC : "steve_hedber415.jpg",
    PA : "steve_hedber342.jpg",
    RI : "house_ri.jpg",
    SC : "steve_hedber425.jpg",
    VA : "historic.jpg"
};

$(document).ready(function(){

    if (window.location.hash != null && window.location.hash != undefined && window.location.hash.length > 0) {
        $("#dataDiv").html("Redirectring...");
        var hash = window.location.hash.substring(1);
        var loc = window.location.href.replace( /#.*/, "");

        if (loc.indexOf("?") != -1) {
            loc = loc.substring(0, loc.indexOf("?"));
        }

        window.location = loc + "?" + hash;
    //initMap();
    }
    else
    {
        if(window.location.href.indexOf("search.php") != -1) //init map tab
        {
                initMap();
            //ClearMarkers();
            $(".description ul.results li").each(function(index) {
                var address = $(this).contents("p").contents("span.addressTag").text();
                var description = $(this).contents("span.description").text();
                var companyTitle = $(this).contents("h2").contents("span.name").text();
                var photoUrl;
                if($(this).contents("input[type=hidden]#imgPath").val() != "")
                {
                    photoUrl = $(this).contents("input#imgPath").val();
                }
                var catIDsStrFromRes = $(this).contents("input#catIDs").val()
                var listingID = $(this).contents("input#listingID").val();

                var exists = false;
                var catsFromQS = $.url.param("cat").split(",");
                if (catIDsStrFromRes == undefined || catIDsStrFromRes == null) {
                    catIDsStrFromRes = "";
                }
                var catIDsFromResponse = catIDsStrFromRes.split(",");
                var catID = 0;
                for(var counter = 0; counter < catsFromQS.length; counter++)
                {
                    for(var counterAddlCats = 0; counterAddlCats < catIDsFromResponse.length; counterAddlCats++)
                    {
                        if(catsFromQS[counter] == catIDsFromResponse[counterAddlCats])
                        {
                            catID = catsFromQS[counter];
                            exists = true;
                            break;
                        }
                    }
                }
				
                if (catID == 248) {
                    catID = 166;
                }
				else if (catID == 249) {
					catID = 167;
				}
                else if (catID == 251) {
                    catID = 169;
                }
                else if (catID == 254) {
                    catID = 236;
                }
                else if (catID == 253) {
                    catID = 237;
                }
                else if (catID == 252) {
                    catID = 170;
                }
                else if (catID == 255) {
                    catID = 238;
                }


                
                if(exists)
                {
                    SetMarker(address, generateDataInfo(companyTitle, description, address, photoUrl, listingID), catID .toString() + String.fromCharCode(index + 97));
                }
                else
                {
                    SetMarker(address, generateDataInfo(companyTitle, description, address, photoUrl, listingID), "NA");
                }
                
            });
        }

        if(window.location.href.indexOf("search.php") != -1) //init list tab
        {
            var qs = "";
            if (window.location.hash != null && window.location.hash != undefined && window.location.hash.length > 0) {
                hash = window.location.hash.substring(1);

                qs = hash;
            }
            else {
                var locationWithoutHash = window.location.href.replace( /#.*/, "");
                qs = locationWithoutHash.substring(locationWithoutHash.indexOf("?") + 1);
            }

            $(".list_view ul li h2 a").each(function (index)
            {
                var oldLink = $(this).attr("href");
                var newLink = oldLink + "&" + qs;
                $(this).attr("href", newLink);
            });
        }
    }

    handleStates();

    var state = $.url.param("state");

    if (state != "") {
        $("#statesSelect").val(state);
    }
    first = true;
    bindCities($("#statesSelect").val());


//handleAttractionsLinks();
});

function afterBindCities()
{
    if(first)
    {
        if ($("#resHidden").val() == "no") {
            loadData(1, $("#psize").val(), $("#statesSelect").val(), /*$("#citySelect").val()*/"all", getSelectedCategories());
            //$("#resHidden").val("yes");
        }
        else {//do var state je bilo komentarisano
             handlePagesClicks();

            var state = $.url.param("state");

            $(".controls #prevPageSpan #prevPageList").click(function() {
                loadData($(this).attr("page"), $("#psize").val(), $("#statesSelect").val(), $("#citySelect").val(), getSelectedCategories());
                return false;
            });

            $(".controls #nextPageSpan #nextPageList").click(function() {
                loadData($(this).attr("page"), $("#psize").val(), $("#statesSelect").val(), $("#citySelect").val(), getSelectedCategories());
                return false;
            });

            $(".controls #prevPageSpan #prevPageMap").click(function() {
                loadData($(this).attr("page"), $("#psize").val(), $("#statesSelect").val(), $("#citySelect").val(), getSelectedCategories());
                return false;
            });

            $(".controls #nextPageSpan #nextPageMap").click(function() {
                loadData($(this).attr("page"), $("#psize").val(), $("#statesSelect").val(), $("#citySelect").val(), getSelectedCategories());
                return false;
            });
            var city = $.url.param("city");

            if (city != "") {
                $("#citySelect").val(city);
            }

            if ($.url.param("cat") != "") {
                checkCommaSeparatedCategories($.url.param("cat"));
            }

            if($("ul.results li").length == 0)
            {
                if(typeof SetCenterByState == 'function') {
                    SetCenterByState(state)
                }
            }
            if(window.location.href.indexOf("explore-listing.php") != -1)
            {
                var pageNo = $.url.param("pnum");
                var stateCode = $.url.param("state");
                var cityValue = $.url.param("city");
                var cats = $.url.param("cat");
                var queryString = "";
                if(pageNo != undefined)
                {
                    queryString += "pnum=" + pageNo;
                }
                if(stateCode != undefined)
                {
                    queryString += "&state=" + stateCode;
                }
                if(cityValue != undefined)
                {
                    queryString += "&city=" + cityValue;
                }
                if(cats != undefined)
                {
                    queryString += "&cat=" + cats;
                }
                $(".back_to_res").attr("href", $("#phpRoot").val() + "search.php?" + queryString);
            }
        }
        handleCities();
        handleFindButton();
        handleTabClicks();
        first = false;
    }
}

function checkCommaSeparatedCategories(commaSeparatedCategories) {
    var categories = commaSeparatedCategories.split(",");
	
    $("div#attractionsDiv input[type=checkbox]").each(function (index, item){
        item.checked = false;
        $(this).parent(".cbox").children('label').removeClass('checked');
        itemValues = item.value.split(",");
		
        for (var index = 0; index < categories.length; index++) {
            for (var itemIndex = 0; itemIndex < itemValues.length; itemIndex++) {
                if (categories[index] == itemValues[itemIndex]) {
                    item.checked = true;
                    $(this).parent(".cbox").children('label').addClass('checked');
                }
            }
        }
    });
}

function handleFindButton() {
    $(".find_btn_2").click(findClicked);
    $(".find_btn").click(findClicked);
}

function findClicked(){
    if(window.location.href.indexOf("search") == -1)//explore, explore-listing, home, and other pages different from search
    {
        var city = "";
        if ($("#citySelect").length > 0) {
            city = $("#citySelect").val();
        }
        else {
            city = "all";
        }

        var cat = getSelectedCategories();

        window.location = $("#phpRoot").val() + "search.php?pnum=1&state=" +  $("#statesSelect").val() + "&city=" + city + "&cat=" + cat;
    }
    else
    {
        loadData(1, $("#psize").val(), $("#statesSelect").val(), $("#citySelect").val(), getSelectedCategories());
    }

    return false;
}

function handleAttractionsLinks() {

    var links = $("#attractionsDiv a");
    if (links.length > 0)
    {
        links.each(function(index)
        {
            var categoryID = $(this).parent("label").prev("input").val();

            var city = "";
            if ($("#citySelect").length > 0) {
                city = $("#citySelect").val();
            }
            else {
                city = "all";
            }

            var value = $("#phpRoot").val() + "search.php?pnum=1&state=" +  $("#statesSelect").val() + "&city=" + city + "&cat=" + categoryID;
            $(this).attr("href",value);

        }
        )
        links.click(function () {
            window.location = $(this).attr("href");
            return false;

        });
    }
         

    




// KAKO JE BILO RANIJE:
//   var links = $("#attractionsDiv a");
//
//    if (links.length > 0) {
//      links.click(function () {
//           var categoryID = $(this).parent("label").prev("input").val();
//
//           if(window.location.href.indexOf("search") == -1)//explore, explore-listing, home, and other pages different from search
//            {
//                var city = "";
//                if ($("#citySelect").length > 0) {
//                    city = $("#citySelect").val();
//                }
//                else {
//                    city = "all";
//                }
//
//                window.location = $("#phpRoot").val() + "search.php?pnum=1&state=" +  $("#statesSelect").val() + "&city=" + city + "&cat=" + categoryID;
//            }
//            else
//            {
//                //deselect all except clicked
//                checkCommaSeparatedCategories(categoryID);
//
//                loadData(1, $("#psize").val(), $("#statesSelect").val(), $("#citySelect").val(), categoryID);
//            }
//
//            return false;
//        });
//    }
}

function handleTabClicks() {
    $("ul.m_tabs li a").click(function () {
        if ($(this).attr("name") == "map") {

            $("#listDiv").hide();
            $("#mapDiv").show();

            $("#pageIsListHidden").val("no");
             ClearMarkers();
            initMap();
        }
        else if ($(this).attr("name") == "list") {
            $("#mapDiv").hide();
            $("#listDiv").show();

            $("#pageIsListHidden").val("yes");
        }
        else {
            //return false;
        }

        var pSize = $("#psize").val();
        var pnum = $("#pnum").val();

        loadData(pnum, pSize, $("#statesSelect").val(), $("#citySelect").val(), getSelectedCategories());
        return false;
    });
}

function handleAttractions() {
    $("div#attractionsDiv input[type=checkbox]").click(function () {
        if(timer != undefined)
        {
            timer = clearTimeout(timer);
        }
        if(timer == undefined)
        {
            timer = setTimeout("loadData(1, $('#psize').val(), $('#statesSelect').val(), $('#citySelect').val(), getSelectedCategories())", TIMER_TIMEOUT);
        }
    });
}

function getSelectedCategories() {
    var allCategories = "";
    if ( $("div#attractionsDiv input[type=checkbox]").length > 0) {
        $("div#attractionsDiv input[type=checkbox]").each(function (index, item) {
            if (item.checked) {
                if (allCategories.length > 0) {
                    allCategories +=",";
                }
                allCategories += item.value;
            }
        });
    }
    else if ($("#attractionsSelect").length > 0) {
        allCategories = "" + $("#attractionsSelect").val();
    }

    return allCategories;
}

function handleStates() {
    $("#statesSelect").change(function () {
        bindCities($(this).val());
        //loadData(1, $("#psize").val(), $("#statesSelect").val(), $("#citySelect").val(), getSelectedCategories());
        handleAttractionsLinks();
    });
}

function handleCities() {
    $("#citySelect").change(function () {
        handleAttractionsLinks();
    });
}

function bindCities(state) {
    if ($("#citySelect").length == 0) {
        afterBindCities();
        return;
    }
    
    $("#citySelect").text("loading...");

    $.getJSON($("#phpRoot").val() + 'json/city.php', {
        state: state
    }, function (res) {
        var selectHTML = "<option selected='selected' value='all'>Select city...</option>";
		
        for (var index = 0; index < res.length; index++) {
            selectHTML += "<option>" + res[index] + "</option>";
        }
        $("#citySelect").html(selectHTML);

        var city = $.url.param("city");

        if (city != "" && city != null && city != undefined) {
            $("#citySelect").val(city);

            if ($("#citySelect").val()==null)
            {
                $("#citySelect").val("all");
            }
        }
        handleAttractionsLinks();
        afterBindCities();
    });
    
}

function loadData(pNum, pSize, state, city, categories) {

    if($("#pageIsListHidden").val() == "no")
    {
        // map
        $("#mapTag").text($("input.mapTexts[state='" + state + "']").val());
        $(".description ul.results").html("<li>LOADING DATA</li>");
    }
    else if ($("#pageIsListHidden").val() == "yes")
    {
        // list
        $("#listingDescriptionDiv").html($("input.listTexts[state='" + state + "']").val());
        $(".list_view ul:not(div.controls ul)").html("<li>LOADING DATA</li>");
    }

    ClearMarkers();

    $("#pnum").val(pNum);

    $.getJSON($("#phpRoot").val() + 'json/Data.php', {
        pnum: pNum,
        psize: pSize,
        state: state,
        city: city,
        cat: categories
    }, function (res) {
        // changing header image to fit selected state
        var imgName = headerImages[state];
        $("#headerImage").attr("src", $("#phpRoot").val() + "images/branding/" + imgName);

        window.location.hash = "pnum=" + pNum + "&state=" + state + "&city=" + city + "&cat=" + categories + ($("#pageIsListHidden").val() == "yes" ? "&tab=list" : "");// + "&psize=" + pSize;

        if (res.DATA != undefined && res.DATA != null &&
            res.STATUS != undefined && res.STATUS != null){
            ClearMarkers();
            if($("#pageIsListHidden").val() == "no")
            {

                fillData(res.DATA);
            }
            else if($("#pageIsListHidden").val() == "yes")
            {
                fillListData(res.DATA);
            }
            fillPagesDiv(res, pSize, pNum);
        }
    //        $("#progressDiv").html(" ").show();

    });    
}

function fillListData(data)
{
    var allHtml = "";

    if(data.length != 0)
    {
        for(var index = 0; index < data.length; index++)
        {
            var singleRes = data[index];
            allHtml += generateSingleResListData(singleRes);
        }
    }

    $(".list_view").children("ul").html(allHtml);
}

function generateSingleResListData(singleData)
{
    var qs = "";
    if (window.location.hash != null && window.location.hash != undefined && window.location.hash.length > 0) {
        var hash = window.location.hash.substring(1);

        qs = hash;
    }
    else {
        var locationWithoutHash = window.location.href.replace( /#.*/, "");
        qs = locationWithoutHash.substring(locationWithoutHash.indexOf("?") + 1);
    }

    var shortenedDesc = singleData.DESCRIPTION;
    if (shortenedDesc.length > 100) {
        shortenedDesc = shortenedDesc.substr(0, 100) + "... <a href=\"" + $("#phpRoot").val() + "explore-listing.php?id=" + singleData.LISTINGID + "&" + qs + "\" >More &gt;</a>";
    }
    var listHtml = "<li>";
    listHtml += "<h2><a href=\"" + $("#phpRoot").val() + "explore-listing.php?id=" + singleData.LISTINGID + "&" + qs + "\" >" + singleData.COMPANY + "</a></h2>";
    listHtml += "<p>" + shortenedDesc + "</p>";
    listHtml += "<div class='address_phone'>";
    listHtml += "<span class='address'>" + singleData.ADDR1 + ", " + singleData.ZIP + "</span>";
    if (singleData.PHONE != null && singleData.PHONE.length > 0) {
        listHtml += "<span class='phone'>Phone: " + singleData.PHONE + "</span>";
    }
    listHtml += "</div>";
    listHtml += "</li>";
    return listHtml;
}

function fillData(data) {
    var allHtml = "";
    if(data.length != 0)
    {
        for (var index = 0; index < data.length; index++) {
            var singleRes = data[index];
            allHtml += $("#pageIsListHidden").val() == "no"? generateSingleDataDiv(singleRes, index):generateSingleResListData(singleRes);
            var address = singleRes.ADDR1 + ", " + singleRes.CITY + ", " + singleRes.STATE;

            var exists = false;
            var cats = getSelectedCategories().split(",");
            var catIDsStrFromResponse = singleRes.ADDLSUBCATLIST;
            var catIDsFromResponse = catIDsStrFromResponse.split(",");
            var catID;
            for(var counter = 0; counter < cats.length; counter++)
            {
                for(var counterAddlCats = 0; counterAddlCats < catIDsFromResponse.length; counterAddlCats++)
                {
                    if(cats[counter] == catIDsFromResponse[counterAddlCats])
                    {
                        catID = cats[counter];
                        exists = true;
                        break;
                    }
                }
            }
			
	
            if (catID == 248) {
                catID = 166;
            }
			else if (catID == 249) {
				catID = 167;
			}
            else if (catID == 251) {
                catID = 169;
            }
            else if (catID == 254) {
                catID = 236;
            }
            else if (catID == 253) {
                catID = 237;
            }
            else if (catID == 252) {
                catID = 170;
            }
            else if (catID == 255) {
                catID = 238;
            }

            
            if(exists)
            {
                SetMarker(address, generateSingleDataInfo(singleRes), catID.toString() + String.fromCharCode(index + 97));//97 ASCII  == 'a'
            }
            else
            {
                SetMarker(address, generateSingleDataInfo(singleRes), "NA");//97 ASCII  == 'a'
            }
        

        }
    }
    else
    {
        SetCenterByState($("#statesSelect option:selected").text());
    }

    $(".description ul.results").html(allHtml);
}

function generateSingleDataInfo(singleData)
{
    var companyTitle = singleData.COMPANY;
    var description = singleData.DESCRIPTION;
    var address = singleData.ADDR1 + ", " + singleData.CITY + ", " + singleData.STATE + ", " + singleData.ZIP;
    var imagePath;
    if(singleData.PHOTOFILE != "")
    {
        imagePath = singleData.IMGPATH + singleData.PHOTOFILE;
    }
    var listingID = singleData.LISTINGID;

    return generateDataInfo(companyTitle, description, address, imagePath, listingID);
}
function generateDataInfo(companyTitle, description, address, imagePath, listingID)
{
    var qs = "";
    if (window.location.hash != null && window.location.hash != undefined && window.location.hash.length > 0) {
        var hash = window.location.hash.substring(1);

        qs = hash;
    }
    else {
        var locationWithoutHash = window.location.href.replace( /#.*/, "");
        qs = locationWithoutHash.substring(locationWithoutHash.indexOf("?") + 1);
    }
    var infoHtml = "";

    infoHtml += "<h2>" + companyTitle + "</h2>";
//    if(imagePath != undefined)
//    {
//        infoHtml += "<div class='mini_image'>";
//        infoHtml += "<img alt='' src='" + imagePath + "' />";
//        infoHtml += "</div>";
//    }
    infoHtml += "<div class='mp_txt_area'>";
    var shortDesc = description;
    if(shortDesc.length > 100)
    {
        shortDesc = shortDesc.substring(0, 100) + " ...";
    }
    infoHtml += "<p>" + shortDesc + "</p>";
    infoHtml += "<p class='pop_adress'>" + address + "</p>";
    infoHtml += "<a href='" + $("#phpRoot").val() + "explore-listing.php?id=" + listingID + "&" + qs +"' target='_blank' class='mp_more'>More &gt;</a>";
    infoHtml += "</div>";
    infoHtml += "<img class='mp_arrow' alt='' src='images/mp_arrow.png' />";

    return infoHtml;
}

function generateSingleDataDiv(singleData, index) {
    var listHtml = "<li>";
    var exists = false;
    var cats = getSelectedCategories().split(",");
    var catIDsStrFromResponse = singleData.ADDLSUBCATLIST;
    var catIDsFromResponse = catIDsStrFromResponse.split(",");
    var catID;
    for(var counter = 0; counter < cats.length; counter++)
    {
        for(var counterAddlCats = 0; counterAddlCats < catIDsFromResponse.length; counterAddlCats++)
        {
            if(cats[counter] == catIDsFromResponse[counterAddlCats])
            {
                catID = cats[counter];
                exists = true;
                break;
            }
			
        }
    }
	
    if (catID == 248) {
        catID = 166;
    }
	else if (catID == 249) {
        catID = 167;
    }
    else if (catID == 251) {
        catID = 169;
    }
    else if (catID == 254) {
        catID = 236;
    }
    else if (catID == 253) {
        catID = 237;
    }
    else if (catID == 252) {
        catID = 170;
    }
    else if (catID == 255) {
        catID = 238;
    }

    if(!exists)
    {
        listHtml += "<span class=\"point\">" + String.fromCharCode(index + 65) + "</span>";
    }
    else
    {
        listHtml += "<img src=\"images/markers/" + catID.toString() + String.fromCharCode(index + 97) + ".png\" />"
    }
    listHtml += "<h2><a href=\"#\" onclick=\"ShowMarkerInfo(" + index + "); return false;\">" + singleData.COMPANY + "</a></h2>";
    listHtml += "<p>" + singleData.ADDR1 + ", " + singleData.CITY + ", " +  singleData.STATE + ", " + singleData.ZIP + "<br />";
    if (singleData.PHONE != null && singleData.PHONE.length > 0) {
        listHtml += "Phone:" +  singleData.PHONE + "</p>";
    }
    listHtml += "</li>";
    
    //return divHtml;
    return listHtml;
}

function fillPagesDiv(res, pageSize, pageNumber) {
    //    $(".controls ul").html("<li></li>");
    //    $(".controls #prevPageSpan").html("");
    //    $(".controls #nextPageSpan").html("");
    var numberOfResults = res.STATUS.RESULTS;

    var numberOfPages = Math.floor(numberOfResults / pageSize);
    if ((numberOfResults % pageSize) > 0) {
        numberOfPages++;
    }
    var category = getSelectedCategories();

    var prevPnum = pageNumber - 1;
    var prevprevPnum = pageNumber - 2;
    var nextPnum = Number(pageNumber) + 1;
    var nextnextPnum = Number(pageNumber) + 2;

    var prevPage = $("#phpRoot").val() + "search.php?pnum=" + prevPnum + "&state=" +  $("#statesSelect").val() + "&city=" + $("#citySelect").val() + "&cat=" + category + "&tab=" + ($("#pageIsListHidden").val() == "yes" ? "list": "map");
    var prevprevPage = $("#phpRoot").val() + "search.php?pnum=" + prevprevPnum + "&state=" +  $("#statesSelect").val() + "&city=" + $("#citySelect").val() + "&cat=" + category + "&tab=" + ($("#pageIsListHidden").val() == "yes" ? "list": "map");
    var nextPage = $("#phpRoot").val() + "search.php?pnum=" + nextPnum + "&state=" +  $("#statesSelect").val() + "&city=" + $("#citySelect").val() + "&cat=" + category + "&tab=" + ($("#pageIsListHidden").val() == "yes" ? "list": "map");
    var nextnextPage = $("#phpRoot").val() + "search.php?pnum=" + nextnextPnum + "&state=" +  $("#statesSelect").val() + "&city=" + $("#citySelect").val() + "&cat=" + category + "&tab=" + ($("#pageIsListHidden").val() == "yes" ? "list": "map");
    var page = $("#phpRoot").val() + "search.php?pnum=" + pageNumber + "&state=" +  $("#statesSelect").val() + "&city=" + $("#citySelect").val() + "&cat=" + category + "&tab=" + ($("#pageIsListHidden").val() == "yes" ? "list": "map");



    var pagesMapHtml = "";
    if($("#mapDiv .controls ul li").length == 0)
    {
        pagesMapHtml += "<li><a href=\"#\" id=\"firstPageMap\" ></a> | </li>";
        pagesMapHtml += "<li><a href=\"#\" id=\"secondPageMap\" ></a> | </li>";
        pagesMapHtml += "<li><a href=\"#\" id=\"thirdPageMap\" ></a></li>";
        $("#mapDiv .controls ul").html(pagesMapHtml);
    }

    var pagesListHtml = "";
    if($("#listDiv .controls ul li").length == 0)
    {
        pagesListHtml += "<li><a href=\"#\" id=\"firstPageList\" ></a> | </li>";
        pagesListHtml += "<li><a href=\"#\" id=\"secondPageList\" ></a> | </li>";
        pagesListHtml += "<li><a href=\"#\" id=\"thirdPageList\" ></a></li>";
        $("#listDiv .controls ul").html(pagesListHtml);
    }

        if($("#mapDiv .controls #prevPageSpan a").length == 0)
        {
            $("#mapDiv .controls #prevPageSpan").html("<a href=\"#\" class=\"prev\" id=\"prevPageMap\">Previous</a>");
        }

        if($("#mapDiv .controls #nextPageSpan a").length == 0)
        {
            $("#mapDiv .controls #nextPageSpan").html("<a href=\"#\" class=\"next\" id=\"nextPageMap\">Next</a>");
        }

        if($("#listDiv .controls #prevPageSpan a").length == 0)
        {
            $("#listDiv .controls #prevPageSpan").html("<a href=\"#\" class=\"prev\" id=\"prevPageList\">Previous</a>");
        }

        if($("#listDiv .controls #nextPageSpan a").length == 0)
        {
            $("#listDiv .controls #nextPageSpan").html("<a href=\"#\" class=\"next\" id=\"nextPageList\">Next</a>");
        }

        hidePageControls();

    if(pageNumber > 1 && numberOfPages >= 2)
    {
        if($("#pageIsListHidden").val() == "yes")
                {
                    //prevPage+="&tab=list";
                    $("#prevPageList").show();
                    $("#prevPageList").attr("href",prevPage);
                    $("#prevPageList").attr("page",prevPnum);
                }
            else
                {
                   //prevPage+="&tab=map";
                    $("#prevPageMap").show();
                    $("#prevPageMap").attr("href",prevPage);
                    $("#prevPageMap").attr("page",prevPnum);
                }
                
//                $(".controls #prevPageSpan #prevPage").click(function() {
//                loadData($(this).attr("page"), $("#psize").val(), $("#statesSelect").val(), $("#citySelect").val(), getSelectedCategories());
//                return false;
//            });
    }
    

    if(numberOfPages >= 2)
    {
        $(".controls a").show();
        $(".controls li").show();

        if(pageNumber == 1 && numberOfPages == 2)
        {
            if($("#pageIsListHidden").val() == "yes")
                {
                   // page+="&tab=list";
                   // nextPage+="&tab=list";

                    $("#prevPageList").hide();

                    $("#firstPageList").attr("href",page);
                    $("#firstPageList").html("1");
                    $("#firstPageList").attr("class","current");

                    $("#secondPageList").attr("href",nextPage);
                    $("#secondPageList").html("2");
                    $("#secondPageList").removeClass("current");

                    $("#thirdPageList").hide();
                    $("#pomSpanList").hide();
                      
                }
            else
                {
                   // page+="&tab=map";
                   // nextPage+="&tab=map";

                    $("#prevPageMap").hide();

                    $("#firstPageMap").attr("href",page);
                    $("#firstPageMap").html("1");
                    $("#firstPageMap").attr("class","current");

                    $("#secondPageMap").attr("href",nextPage);
                    $("#secondPageMap").html("2");
                    $("#secondPageMap").removeClass("current");

                    $("#thirdPageMap").hide();

                    //mozda treba if
                    $("#pomSpanMap").hide();
                      
                }


        }

        if(pageNumber == 2 && numberOfPages == 2)
        {
            if($("#pageIsListHidden").val() == "yes")
                {
                 //   page+="&tab=list";
                 //   prevPage+="&tab=list";
                    $("#prevPageList").show();

                    $("#firstPageList").attr("href",prevPage);
                    $("#firstPageList").removeClass("current");

                    $("#secondPageList").attr("href",page);
                    $("#secondPageList").attr("class","current");

                    //$("#pomSpanList").hide();
                     
                    $("#thirdPageList").hide();
                    $("#nextPageList").hide();

                }
            else
                {
                  //  page+="&tab=map";
                  //  prevPage+="&tab=map";
                    $("#prevPageMap").show();

                    $("#firstPageMap").attr("href",prevPage);
                    $("#firstPageMap").removeClass("current");

                    $("#secondPageMap").attr("href",page);
                    $("#secondPageMap").attr("class","current");
                    
                    //$("#pomSpanMap").hide();

                    $("#thirdPageMap").hide();
                    $("#nextPageMap").hide();
                }
            
        }

        if(pageNumber == 1 && numberOfPages >= 3)
        {
            if($("#pageIsListHidden").val() == "yes")
                {
                    if($("#pomSpanList").length == 1)
                    {
                        $("#pomSpanList").show();
                    }
                    $("#prevPageList").hide();

                    $("#firstPageList").attr("href",page);
                    $("#firstPageList").html("1");
                    $("#firstPageList").attr("class","current");

                    $("#secondPageList").attr("href",nextPage);
                    $("#secondPageList").html("2");
                    $("#secondPageList").removeClass("current")

                    $("#thirdPageList").attr("href",nextnextPage);
                    $("#thirdPageList").html("3");

                    //$("#nextPageList").show();
                }
            else
                {              
                    if($("#pomSpanMap").length == 1)
                    {
                        $("#pomSpanMap").show();
                    }
                    $("#prevPageMap").hide();

                    $("#firstPageMap").attr("href",page);
                    $("#firstPageMap").html("1");
                    $("#firstPageMap").attr("class","current");

                    $("#secondPageMap").attr("href",nextPage);
                    $("#secondPageMap").html("2");
                    $("#secondPageMap").removeClass("current");

                    $("#thirdPageMap").attr("href",nextnextPage);
                    $("#thirdPageMap").html("3");

                    //$("#nextPageMap").show();
                }
                
            
        }

        if(pageNumber > 1 && pageNumber < numberOfPages && numberOfPages >= 3)
        {
            
            if($("#pageIsListHidden").val() == "yes")
                {
                    if($("#pomSpanList").length == 1)
                    {
                        $("#pomSpanList").show();
                    }
                    $("#prevPageList").show();
                    $("#firstPageList").attr("href",prevPage);
                    $("#secondPageList").attr("href",page);
                    $("#thirdPageList").attr("href",nextPage);
                    
                    $("#firstPageList").html(prevPnum.toString());
                    $("#firstPageList").removeClass("current");

                    $("#secondPageList").html(pageNumber.toString());
                    $("#secondPageList").addClass("current");

                    $("#thirdPageList").html(nextPnum.toString());
                    $("#thirdPageList").removeClass("current");
                    $("#thirdPageList").show();

                }
            else
                {
                    if($("#pomSpanMap").length == 1)
                    {
                        $("#pomSpanMap").show();
                    }
                    $("#prevPageMap").show();
                    $("#firstPageMap").attr("href",prevPage);
                    $("#secondPageMap").attr("href",page);
                    $("#thirdPageMap").attr("href",nextPage);

                    $("#firstPageMap").html(prevPnum.toString());
                    $("#firstPageMap").removeClass("current");

                    $("#secondPageMap").html(pageNumber.toString());
                    $("#secondPageMap").addClass("current");
                    
                    $("#thirdPageMap").html(nextPnum.toString());
                    $("#thirdPageMap").removeClass("current");
                    $("#thirdPageMap").show();
                    //$("#nextPageMap").show();
                }            
        }

        if(pageNumber > 1 && pageNumber == numberOfPages  && numberOfPages >= 3)
        {
            if($("#pageIsListHidden").val() == "yes")
                { 
                    $("#nextPageList").hide();
                    $("#firstPageList").attr("href",prevprevPage);
                    $("#secondPageList").attr("href",prevPage);
                    $("#thirdPageList").attr("href",page);

                    $("#firstPageList").html(prevprevPnum.toString());
                    $("#secondPageList").html(prevPnum.toString());
                    $("#secondPageList").removeClass("current");

                    $("#thirdPageList").html(pageNumber.toString());
                    $("#thirdPageList").addClass("current");
                }
            else
                {
                    $("#nextPageMap").hide();
                    $("#firstPageMap").attr("href",prevprevPage);
                    $("#secondPageMap").attr("href",prevPage);
                    $("#thirdPageMap").attr("href",page);

                    $("#firstPageMap").html(prevprevPnum.toString());
                    $("#secondPageMap").html(prevPnum.toString());
                    $("#secondPageMap").removeClass("current");

                    $("#thirdPageMap").html(pageNumber.toString());
                    $("#thirdPageMap").addClass("current");
                }                   
        }
    }

    if(pageNumber < numberOfPages)
    {
        if($("#pageIsListHidden").val() == "yes")
                {
                    $("#nextPageList").show();
                    $("#nextPageList").attr("href",nextPage);
                    $("#nextPageList").attr("page",nextPnum);               
                }
            else
                {
                    $("#nextPageMap").show();
                    $("#nextPageMap").attr("href",nextPage);
                    $("#nextPageMap").attr("page",nextPnum);
           
                }               
        
    }



//    Mishko.
//    Ranija verzija sa click-om.
//    Slave.
//    var pagesHtml = "";
//
//    if(numberOfPages >= 2)
//    {
//        if(pageNumber == 1 && numberOfPages == 2)
//        {
//            pagesHtml += '<li><a href=\"#\" class=\"current\" >1</a> | </li>';
//            pagesHtml += '<li><a href="#">2</a></li>';
//        }
//
//        if(pageNumber == 2 && numberOfPages == 2)
//        {
//
//            pagesHtml += '<li><a href="#">1</a> | </li>';
//            pagesHtml += '<li><a href=\"#\" class=\"current\" >2</a></li>';
//        }
//
//        if(pageNumber == 1 && numberOfPages >= 3)
//        {
//            pagesHtml += '<li><a href=\"#\" class=\"current\" >1</a>| </li>';
//            pagesHtml += '<li><a href="#">2</a> | </li>';
//            pagesHtml += '<li><a href="#">3</a></li>';
//        }
//
//        if(pageNumber > 1 && pageNumber < numberOfPages && numberOfPages >= 3)
//        {
//
//            pagesHtml += "<li><a href=\"#\">" + (Number(pageNumber) - 1).toString() + "</a> | </li>";
//            pagesHtml += "<li><a href=\"#\" class=\"current\" >" + pageNumber + "</a> | </li>";
//            pagesHtml += "<li><a href=\"#\">" + (Number(pageNumber) + 1).toString() + "</a></li>";
//        }
//
//        if(pageNumber > 1 && pageNumber == numberOfPages  && numberOfPages >= 3)
//        {
//            pagesHtml += "<li><a href=\"#\">" + (pageNumber - 2).toString() + "</a> | </li>";
//            pagesHtml += "<li><a href=\"#\">" + (pageNumber - 1).toString() + "</a> | </li>";
//            pagesHtml += "<li><a href=\"#\" class=\"current\" >" + pageNumber + "</a></li>";
//        }
//
//        if(pageNumber < numberOfPages)
//        {
//            $(".controls #nextPageSpan").html("<a href=\"#\" class=\"next\" id=\"nextPage\" page=\"" + (Number(pageNumber) + 1).toString() + "\" >Next</a>");
////            $(".controls #nextPageSpan #nextPage").click(function() {
////                loadData($(this).attr("page"), $("#psize").val(), $("#statesSelect").val(), $("#citySelect").val(), getSelectedCategories());
////                return false;
////            });
//        }
//        if(pageNumber > 1 && numberOfPages >= 2)
//        {
//            $(".controls #prevPageSpan").html("<a href=\"#\" class=\"prev\" id=\"prevPage\" page=\"" + (Number(pageNumber) - 1).toString() + "\" >Previous</a>");
////            $(".controls #prevPageSpan #prevPage").click(function() {
////                loadData($(this).attr("page"), $("#psize").val(), $("#statesSelect").val(), $("#citySelect").val(), getSelectedCategories());
////                return false;
////            });
//        }
//    }
//
//    $(".controls ul").html(pagesHtml);

 //handlePagesClicks();
}

function hidePageControls()
{
    $(".controls a").hide();
    $(".controls li").hide();
    /*
    $("#prevPageMap").hide();
    $("#nextPageMap").hide();
    $("#firstPageMap").hide();
    $("#secondPageMap").hide();
    $("#thirdPageMap").hide();
    
    $("#prevPageList").hide();
    $("#nextPageList").hide();
    $("#firstPageList").hide();
    $("#secondPageList").hide();
    $("#thirdPageList").hide();
    */
}

function handlePagesClicks() {
	$(".controls ul a").click(function() {
		var pNum = this.innerHTML;
		var pSize = $("#psize").val();

		loadData(pNum, pSize, $("#statesSelect").val(), $("#citySelect").val(), getSelectedCategories());

		return false;
	});

        $(".controls #nextPageSpan #nextPageList").click(function() {
        loadData($(this).attr("page"), $("#psize").val(), $("#statesSelect").val(), $("#citySelect").val(), getSelectedCategories());
        return false;
        });

        $(".controls #prevPageSpan #prevPageList").click(function() {
        loadData($(this).attr("page"), $("#psize").val(), $("#statesSelect").val(), $("#citySelect").val(), getSelectedCategories());
        return false;
        });

        $(".controls #nextPageSpan #nextPageMap").click(function() {
        loadData($(this).attr("page"), $("#psize").val(), $("#statesSelect").val(), $("#citySelect").val(), getSelectedCategories());
        return false;
        });

        $(".controls #prevPageSpan #prevPageMap").click(function() {
        loadData($(this).attr("page"), $("#psize").val(), $("#statesSelect").val(), $("#citySelect").val(), getSelectedCategories());
        return false;
        });
}



