﻿function selTime(){return document.filter.filterTime.value;}
function selGroup(){return document.filter.filterGroup.value;}
function chooseFilter(){            
    filter(selTime(),selGroup());
}
function filter(time,group){			    
    var i,hide,categoriesToHide,sTime='',sGroup='';
    var plans=$("plans").innerHTML.split("|")
    var plansNotDay=$("plansNotDay").innerHTML.split("|");
    var plansNotNight=$("plansNotNight").innerHTML.split("|");
    var plansNotSolo=$("plansNotSolo").innerHTML.split("|");
    var plansNotCouple=$("plansNotCouple").innerHTML.split("|");
    var plansNotFriends=$("plansNotFriends").innerHTML.split("|");
    var categories=$("categories").innerHTML.split("|");
    //get number of plans in each category
    var planCount=new Object();
    for(n=0;n<(categories.length-1);n++){
        categoryName=categories[n];
        planCount[categoryName]=$("plans"+categoryName).innerHTML.split("|").length-1;
        //alert(categoryName+":"+planCount[categoryName]);
    }
    //Hide individual plans	
    var j=0;		    
    for(i=0;i<(plans.length-1);i++){
        id=plans[i];    
        hide=false;
        if(time=='day'&&inArray(plansNotDay,id)){hide=true;sTime="during the day ";}else{
            if(time=='night'&&inArray(plansNotNight,id)){sTime="at night ";hide=true;}
        }
        if(group=='solo'&&inArray(plansNotSolo,id)){sGroup="by yourself ";hide=true;}else{
            if(group=='couple'&&inArray(plansNotCouple,id)){sGroup="as a couple ";hide=true;}else{
                if(group=='friends'&&inArray(plansNotFriends,id)){sGroup="with a group of friends ";hide=true;}
            }
        }
        if(hide){
            $("plan"+id).style.display="none";
            for(n=0;n<categories.length;n++){
                categoryName=categories[n];
                var arrPlansInCategory=$("plans"+categoryName).innerHTML.split("|");
                if(inArray(arrPlansInCategory,id)){planCount[categoryName]=planCount[categoryName]-1}
            }
        }else{
            j++;
            $("plan"+id).style.display="block";
        }
    }			    
    //hide/show categories with no/any plans
    for(i=0;i<(categories.length-1);i++){			        			        
        if(planCount[categories[i]]==0){
            $(categories[i]).style.display="none";
        }else{			            
            $(categories[i]).style.display="block";
        }
    }
    if((sGroup+sTime)==''){
        $("filterDescription").innerHTML="Things to do in New York City ("+j+")"
    }else{
        $("filterDescription").innerHTML="Things to do "+sGroup+sTime+" ("+j+")";
    }			        			    
}
