﻿    
    var sortASC = false;
    
    function SortProjects(selectedSortBtn,sortBy,defaultSort,asc)
    {

        if (asc) {
            sortASC = true;
        }
        /* Show all for pageing */
    if(defaultSort == null)
    projectPager.unPageForSorting();

    var projectNames = null;

    if (defaultSort == null) {

        if (sortBy == "kommun")
            projectNames = $(".head-col-kommun");
        else
            projectNames = $(".head-col-namn");



        if ($(selectedSortBtn).parents("span").hasClass("ml-active"))
            if (sortASC)
            sortASC = false;
        else
            sortASC = true;


        $(selectedSortBtn).parents("span").addClass("ml-active");
        $(selectedSortBtn).parents("span").siblings("span").removeClass("ml-active");
    }
    else {


        projectNames = $(".second-col ul .phase");
        
        for (var p = 0; p < projectNames.length; p++) {

            var innerText = $(projectNames[p]).html();
            innerText = innerText.replace("Fas: ", "");

            $(projectNames[p]).html(replaceProjectPhaseForSorting(innerText,true));
            //alert(innerText);
             
           //1. Till salu/Pågående 2. Planerat 3. Slutsålt (om de nu visas där?) 
            
        
        }
        
    
    }
    
    

    var projectNamesToSort  = new Array(projectNames.length);
    var sortedIndexArr = new Array(projectNames.length);
    var projectNamesToHold = new Array(projectNames.length);

    for(var i = 0;i < projectNames.length;i++)
      projectNamesToSort[i] =  $(projectNames[i]).text();

     
    for(var i = 0;i < projectNames.length;i++)
      projectNamesToHold[i] =  projectNamesToSort[i];


    projectNamesToSort.sort();
    
    if(sortASC)
         projectNamesToSort.reverse();
        



    for(var i = 0;i < projectNamesToSort.length;i++)
    {
       for(var j = 0; j < projectNamesToHold.length;j++)
       {
            if(projectNamesToSort[i] == projectNamesToHold[j])
            {
                if(contains(sortedIndexArr,j))
                    continue;
                else
                {
                    sortedIndexArr[i] = j;
                    break;
                }
            }
        }    
    }


    if (defaultSort != null) {

        for (var k = 0; k < projectNames.length; k++) {
            $(projectNames[k]).html("Fas: " + replaceProjectPhaseForSorting($(projectNames[k]).html(),false)); 
        }
    
    
    
    
    }
      
      
      
 var containers = $(".container-item");
 var sortedContainers = new Array(containers.length);
  
 for(var i = 0; i < containers.length;i++)
    sortedContainers[i] = containers[sortedIndexArr[i]];
    


 for(var i = 0; i < containers.length;i++)
 {
    
    var thisItem = $(sortedContainers[i]).children('.result-item');
    
    if(i == sortedContainers.length-1)
        thisItem.addClass("result-item-bb");
    else
    {
        if(!$(sortedContainers[i]).children('.result-item-extras').text().length > 0)
             thisItem.removeClass("result-item-bb");
    }
    
      $("#result-items-container").append(sortedContainers[i]);
      
 }
 
 /* Redo pageing */
  projectPager.init();
  
}

 function contains(inArray,value)
 {
        for(var i = 0;i < inArray.length;i++)
        {
            if(inArray[i] == value)
                return true;  
        }
        
        return false;

    }

    function replaceProjectPhaseForSorting(phase,toSort) {

        if (toSort) {
            if (phase == "Till salu")
                return "A";
            else if (phase == "Pågående")
                return "B";
            else if (phase == "Planerat")
                return "C";
            else if (phase == "Slutsålt")
                return "D";
            else
                return phase;
        }
        else {

            if (phase == "A")
                return "Till salu";
            else if (phase == "B")
                return "Pågående";
            else if (phase == "C")
                return "Planerat";
            else if (phase == "D")
                return "Slutsålt";
            else
                return phase;
        
        }
                    
    
    }
