var page = 0;
var low_disp = 0;

var cbOutfitsContest = {
    success: drawEntries
}

function loadEntries() {
    if (low_disp == 0 && sort_entries == "yes"){
        high_disp = first_page_with_pyramid;
    }
    YAHOO.util.Dom.get("loading-bar").innerHTML = "<img width=220 height=19 src='images/ajax-loader-bar.gif'>";
    YAHOO.util.Connect.asyncRequest('GET', "/outfits/contest/service/svc_outfits_contest.php?contest-id="+contest_id+"&past-contest="+historical_contest+"&low-display="+low_disp+"&high-display="+high_disp+"&purge-restricted-interval="+purge_interval+"&sort="+sort_entries, cbOutfitsContest);     
}

function drawEntries(o) {
    var data = eval("(" + o.responseText + ")");
    var show_pyramid = sort_entries;

    //header
    var entry_count = data.total_entries;
    
    if(entry_count<=0) {
        YAHOO.util.Dom.get("loading-bar").innerHTML = "No entries for this contest yet.  Be the first! Enter <a href='/outfits/contest/enter_outfit.php'>here</a>.";
    }
    else{
        var bd = YAHOO.util.Dom.get("entries-block");
        bd.innerHTML = "";
        var html = "";

        high_disp = Math.min(high_disp,entry_count);
        
        html += "<div id='loading-bar' style='float:left'>&nbsp;&nbsp;&nbsp;&nbsp;showing " + (low_disp + 1) + "-" + high_disp + " of <strong>" + entry_count + "</strong> entries";
                
        html += "</div>";
        
        html += drawPageLinks(page,data.highest_page);

        html += "<br/><br/><center><table><tr>";

        //body
        for(var i = 0; i < data.results.length; i++) {
        
            var entry = data.results[i];
            var outfit = entry.outfit;

            var r = i+low_disp;

            //when we sort chronologically we just show a grid
            if ( show_pyramid == 'yes' ) {
                if(r==0){
                    if(historical_contest==0){
                        html += "<td width='35%' align=right>";
                        if(is_ap) {
                            html += "<img src='images/badge_leader_ap.gif'/>";
                        } else {
                            html += "<img src='images/badge_leader.gif'/>";
                        }
                        html += "</td>";
                    }
                    else {
                        html += "<td align=right>";
                        if(is_ap) {
                            html += "<img src='images/badge_winner_ap.gif'/>";
                        } else {
                            html += "<img src='images/badge_winner.gif'/>";
                        }
                        html += "</td>";
                    }
                    html += "<td align=center>";
                }
                else if( ( r==1 ) || ( r==3 ) ) {
                    html += "<td align=right>";
                    html += "<img src='images/left_deco.gif'/></td>";
                    html += "<td align=right>";
                }
                
                else {
                    html += "<td align=center>";
                }
            } else {
                html += "<td align=center>";
            }

            var height = 403;
            if(admin_controls) {
                height = 483;    
            }

            var color = "#555555";

            if(entry.viewer_has_voted==1){
                if(entry.viewer_score>5) {
                    color = "#11aa00";
                }
                else {
                    color = "#dd1100";
                }
            }

            html += "<div class='icon_container'>";
            html += "<div class='icon_placing'";
            
            //slight tweak to vert spacing of top icon in pyramid
            if( (r==0) && ( show_pyramid == 'yes' ) ) { 
                html += " style='margin-top: -4px;' "; 
            }
            
            html += ">";
            
            if(admin_controls) {
                html += "<span>Score: "+entry.vote_sum+"</span><br/>";
                html += "<span>Vote avg: "+entry.vote_average+"</span><br/>";
                html += "<span>Vote count: "+entry.vote_count+"</span><br/>";
                html += "<span>Entry ID: "+entry.entry_id+"</span><br/>";
                html += "<span>Contestant ID: "+entry.customers_id+"</span><br/>";
                html += "<a style='color:red; cursor:pointer' onclick=\"if(confirm('Really remove?') == 1) { window.location='?action=removeentry&entryid="+entry.entry_id+"&contestid="+entry.contests_id+"&contestantid="+entry.customers_id+"' }\">Remove entry</a><br/>";
            }
            
            if ( show_pyramid == 'yes' ) {
                html += entry.placing+numberEnding(entry.placing);
            } else {
                html += entry.placing+numberEnding(entry.placing)+' - '+entry.time_display;
            }
            
            html += "</div>";
            html += "<div class='icon_bg'>";
            
            if(outfit) {
                html += "<div class='icon_image'><img width='160' height='330' src='"+outfit.outfit_image+"'></div>";
            } else {
                html += "<div style='color: #fff;'><br/>Outfit no longer available</div>";
            }
            
            //voting and voted
            if ( is_logged_on == 'yes' ) {
                if((entry.viewer_has_voted==0) && (historical_contest==0)) {        
                    html += "<div class='icon_voted' id='thumbsvoted-"+entry.customers_id+"-"+entry.entry_id+"' ></div>";
                    html += "<div class='icon_vote_down'><a id='thumbsdown-"+entry.customers_id+"-"+entry.entry_id+"' style='cursor:pointer' onclick='submitRating(-1,"+entry.entry_id+","+entry.contests_id+","+entry.customers_id+")'><img src='images/contest_vote_down.gif' border=0 ></a></div>";
                    html += "<div class='icon_vote_up'><a id='thumbsup-"+entry.customers_id+"-"+entry.entry_id+"' style='cursor:pointer' onclick='submitRating(1,"+entry.entry_id+","+entry.contests_id+","+entry.customers_id+")'><img src='images/contest_vote_up.gif' border=0 ></a></div>";
                } else if( entry.viewer_has_voted==1 ) {
                    html += "<div class='icon_voted'>";
                    if(entry.viewer_score>5) {
                        html += "<img height='76' width='160' src='images/voted_up.gif'>";
                    }
                    else {
                        html += "<img height='76' width='160' src='images/voted_down.gif'>";
                    }
                    html += "</div>";
                }
            }
                
            // info panel
            if ( anonymous_contest == 'no' || historical_contest == 1 ) {
                //show all
                html += "<div class='icon_namebg'><img src='images/contest_film_namebg.gif'></div>";
                html += "<div class='icon_info'>";
                if(outfit) {
                    html += "<a id='outfitrank-"+entry.customers_id+"-"+entry.entry_id+"' style='color: #fff;' href='/outfits/outfit_info.php?customer-id="+entry.customers_id+"&outfit-id="+outfit.user_outfits_id+"&contest-id="+data.contest_id+"&entry-id="+entry.entry_id+"'>"+outfit.outfit_name+"</a><br>";
                    html += "<span style='font-style: italic;'>by</span>&nbsp;";
                }
                html += "<a style='color: #7ff1f6;' href='/catalog/web_mypage.php?user="+entry.customers_id+"'>"+entry.avatar_name+"</a>";
                html += "&nbsp;<a style='color: #fff;' href='/outfits/index.php?just_this_user="+entry.customers_id+"' title='See recent outfits from "+entry.avatar_name+"'>[+]</a>";
                html += "</div>";  
            } else {
                // show just the outfit name
                html += "<div class='icon_namebg'><img src='images/contest_film_namebg_low.gif'></div>";
                html += "<div class='icon_info'>";
                if(outfit) {
                    html += "<br/><a id='outfitrank-"+entry.customers_id+"-"+entry.entry_id+"' style='color: #fff;' href='/outfits/outfit_info.php?customer-id="+entry.customers_id+"&outfit-id="+outfit.user_outfits_id+"&contest-id="+data.contest_id+"&entry-id="+entry.entry_id+"'>"+outfit.outfit_name+"</a><br>";
                }
                html += "</div>";  
            }
            
            if( ( outfit ) && ( is_logged_on == 'yes' ) ) {
                var tryit_class = "icon_tryit";
                if ( anonymous_contest == 'yes' && historical_contest == 0 ) {
                    tryit_class = "icon_tryit_low";
                }
                
                html += "<div class='"+tryit_class+"'><a id='tryit-"+entry.customers_id+"-"+entry.entry_id+"' href='"+outfit.dressup_link+"'><img src='images/tryit_blue_barrow.gif' border=0 ></a></div>";
            }  
                    
            //spinner
            html += "<div id='spinner-"+entry.customers_id+"-"+entry.entry_id+"' class='icon_votingbg'>";
            html += "<div class='icon_votingspinner'><img width=32 height=32 src='images/ajax-loader.gif'></div>";
            html += "</div>";
                    
            html += "</div>";
            html += "</div>";
            html += "</center></div></td>";

            //when we sort chronologically we just show a grid
            if ( show_pyramid == 'yes' ) {
                if(r==0){
                    html += "<td width='35%' align='left'>";
                    if ( is_logged_on == 'yes' ) {
                        if(is_ap) {
                            html += "<img src='images/howtovote_ap.gif'/>";
                        } else {
                            html += "<img src='images/howtovote.gif'/>";
                        }
                    } else {
                        html += "<a href='/signup/index.php'><img border=0 src='images/loggedout.gif'/></a>";
                    }
                    html += "</td>";
                }
                
                else if(r==2) {
                    html += "<td ></td>";
                }
    
                if(page==0) {
                    if((r==0) || (r==2) || (r==5)) {
                        
                        if( (r==2) || (r==5) ) {
                            html += "<td align=left>";
                            html += "<img src='images/right_deco.gif'/></td>";
                        }
                        
                        html += "</tr></table><table><tr>";
                    }
                    else if((r>5) && ((r-5)%4==0)) {
                        html += "</tr><tr>";
                    }
                }
                else {
                    if((r-low_disp+1)%4==0) {
                        html += "</tr><tr>";
                    }
                }
            } else {
                if((r-low_disp+1)%4==0) {
                    html += "</tr><tr>";
                }
            }
            
        }

        //footer
        html += "</tr></table></center>";
        html += "<br/><br/>";
        html += drawPageLinks(page,data.highest_page);
        html += "<br/><br/>";
        html += "</div>";
        
        bd.innerHTML = html;

        YAHOO.util.Dom.setStyle('outfits-group-link-positioned', 'display', 'block');
        var loadingBarPosition = YAHOO.util.Dom.getXY('loading-bar');
        var loadingBarRegion = YAHOO.util.Dom.getRegion('loading-bar');
        YAHOO.util.Dom.setXY('outfits-group-link-positioned', [loadingBarRegion.right + 13,loadingBarPosition[1]]);
    }

}

function numberEnding(num){
    if(num >= 4 && num <= 20){
        return "th";
    }
    
    lastDigit = num.toString().charAt(num.toString().length-1);
    switch(lastDigit){
        case "1":
            return "st";
        case "2":
            return "nd";
        case "3":
            return "rd";
        case "0":
            return "th";
    }
        
    return "th";
}


function setPage(new_page) {
    new_page = parseInt(new_page);
    new_page--;
    
    if ( sort_entries == "yes" ) {
        if( new_page==0 ) {
            high_disp = first_page_with_pyramid;
            low_disp = 0;
        } else {
            high_disp = first_page_with_pyramid + (new_page*per_page);
            low_disp = high_disp - per_page;
        }
    } else {
        high_disp = (new_page+1)*per_page;
        low_disp = high_disp - per_page;
    }
    page = new_page;
    loadEntries();
}

function drawPageLinks(current_page,highest_page) {
    html = "<div style='float:right; margin-right: 8px;'>";
    current_page++;
    
    if(current_page != 1) {
        html += "<a href='javascript:setPage(1)'><span class='pagebox'><<</span></a>&nbsp;&nbsp;";
        html += "<a href='javascript:setPage("+(current_page-1)+")'><span class='pagebox'><</span></a>&nbsp;&nbsp;";
    }
    
    pages_per_window = 8;
    page_window = parseInt((current_page)/pages_per_window);

    page_window_lower = Math.max(pages_per_window*page_window,1);
    page_window_upper = Math.min(pages_per_window*(page_window+1),highest_page);
    
    for(var i = page_window_lower; i <= page_window_upper; i++) {
        if(i==current_page) {
            html += "<a id='pagebox_" + i + "' href='javascript:setPage("+i+")'><span class='pagebox-selected'>"+i+"</span></a>&nbsp;&nbsp;";
        }
        else {
            html += "<a id='pagebox_" + i + "' href='javascript:setPage("+i+")'><span class='pagebox'>"+i+"</span></a>&nbsp;&nbsp;";
        }
    }
    
    if(current_page != highest_page) {
        html += "<a href='javascript:setPage("+(current_page+1)+")'><span class='pagebox'>></span></a>&nbsp;&nbsp;";
        html += "<a href='javascript:setPage("+highest_page+")'><span class='pagebox'>>></span></a>&nbsp;&nbsp;";
    }

    html += "</div>";    
    return html;
}

YAHOO.util.Event.onContentReady("entries-block", loadEntries);
