// JavaScript
// cmX Blog

//config

//number to show in recent list
var recentListNum = 3;


$(document).ready(function() {

    var url;
    url = 'http://www.hopperatty.com/newsite/getBlogEntriesJSON.asp';
    var str = '';
    var str2 = '';
    var recentBlogCnt = 0;


    if($('#cmX-blogEntry').size() > 0) {


        $.ajax({
            type: 'POST',
            url: 'http://www.hopperatty.com/newsite/getBlogEntry.asp',
            dataType: 'json',
            // beforeSend: function(xhr) { xhr.overrideMimeType('text/html; charset=UTF-8'); },
            error: function(errorObj, textStatus, errorThrown) { alert('get blog entry error:' + errorThrown); },
            success: function(blogEntries) {

                for (var key in blogEntries) {

                    // main blog list
                    str = '<div class="blogTitle"><a href="' + blogEntries[key].title.replace(/\s/g, "-") + '">' + blogEntries[key].title + '</a></div>';
                    str += '<div class="blogHeader"><span class="blogAuthor">by ' + blogEntries[key].author + '</span> <span class="blogDate">on ' + blogEntries[key].postDate + '</span> </div>';
                    str += '<div class="blogSummary">' + blogEntries[key].summary + '</div>';
                    str += '<div class="blogContent">' + blogEntries[key].content + '</div>';
                    str += '<div class="blogDivider"></div>';

                    $('#cmX-blogEntry').append(str);

                  
                }


            }
        });



    }





    if ($('#cmX-blogList').size() > 0) {
        $.ajax({
            type: 'POST',
            url: url,
            dataType: 'json',
            // beforeSend: function(xhr) { xhr.overrideMimeType('text/html; charset=UTF-8'); },
            error: function(errorObj, textStatus, errorThrown) { alert('get blog list error:' + errorThrown); },
            success: function(blogEntries) {

                var blogArr = new Array();


                for (var key in blogEntries) {

                    blogArr.push({ 'key': key, 'postDate': new Date(blogEntries[key].postDate) })

                }

                blogArr.sort(sortByDate);
                cnt = 0;

                for (var i = 0; i < blogArr.length; i++) {

                                   
                    // main blog list
                    str = '<div class="blogTitle"><a href="' + blogEntries[blogArr[i].key].title.replace(/\s/g, "-") + '">' + blogEntries[blogArr[i].key].title + '</a></div>';
                    str += '<div class="blogHeader"><span class="blogAuthor">by ' + blogEntries[blogArr[i].key].author + '</span> <span class="blogDate">on ' + blogEntries[blogArr[i].key].postDate + '</span> </div>';
                    str += '<div class="blogSummary">' + blogEntries[blogArr[i].key].summary + '</div>';
                    str += '<div class="blogDivider"></div>';

                    $('#cmX-blogList').append(str);

                    //top 3 list

                    if ($('#cmX-recentBlogList').size() > 0) {
                        if (recentBlogCnt < recentListNum) {
                            str2 = '<div class="recentBlogItem"><a href="' + blogEntries[blogArr[i].key].title.replace(/\s/g, "-") + '">' + blogEntries[blogArr[i].key].title + '</a></div>';
                            $('#cmX-recentBlogList').append(str2);
                        }

                        recentBlogCnt++;
                    }
                }


            }
        });



    }

    if ($('#cmX-recentBlogList').size() > 0 && recentBlogCnt == 0) {

              
        
        $.ajax({
            type: 'POST',
            url: url,
            dataType: 'json',
            error: function(httpObj, textStatus, errorThrown) { alert('get recent blog list error:' + httpObj.status + ' ' + errorThrown + ' ' + textStatus); },
            success: function(blogEntries) {

                var blogArr = new Array();


                for (var key in blogEntries) {

                    blogArr.push({ 'key': key, 'postDate': new Date(blogEntries[key].postDate) })

                }

                blogArr.sort(sortByDate);

                cnt = 0;

               for (var i = 0; i < blogArr.length; i++) {

                    //recent list
                    if (recentBlogCnt < recentListNum) {
                        str2 = '<div class="recentBlogItem"><a href="'+ blogEntries[blogArr[i].key].title.replace(/\s/g,"-") +'">' + blogEntries[blogArr[i].key].title + '</a></div>';
                        $('#cmX-recentBlogList').append(str2);
                    }

                    recentBlogCnt++;
                }


            }
        });

    };



});


function sortByDate(a, b) {


   if (a.postDate == b.postDate) {

            return 0;
        }

   return (a.postDate > b.postDate) ? -1 : 1;
   
  
   
}
