var all = new Array();
all['entry'] = new Array();

function TypePadJsonCallback(data) {
    var tmp = new Array(); tmp['entry'] = new Array();
    var total = 0;
    var del_num = 0;
    
    if (!initChk(all, data)) {
        return;
    }

    for (var i=0, entry; entry = data.entry[i]; i++) {
        if (i > (show_total-1)) {
            all = tmp;
            return;
        }

        for (var a=0, a_entry; a_entry = all.entry[a]; a++) {
            if (total > (show_total-1)) {
                all = tmp;
                return;
            }

            if (entry.published > a_entry.published) {
                entry['blog'] = data.title;
                tmp.entry[total] = entry;
                total++;
                all = deleteNum(all, del_num);
                break;
            }
            else {
                tmp.entry[total] = a_entry;
                total++;
                del_num++;
            }
        }
    }
    
    all = entryMerge(tmp, all, show_total);
}

function initChk(all, data) {
    if (typeof(all.entry[0]) == 'undefined') {    
        for (var i=0, entry; entry = data.entry[i]; i++) {
            if (i > (show_total-1)) {
                break;
            }
            else {
                entry['blog'] = data.title;
                all.entry[i] = entry;
            }
        }
        
        return false;
    }
    
    return true;
}

function entryMerge(tmp, all, count) {   
    for (i=0; i<count; i++) {
        if (typeof(tmp.entry[i]) == 'undefined')
            break;
    }
    
    var begin = i;
    var merge = count - i;
    
    for (i=0; i<merge; i++) {
        tmp.entry[begin] = all.entry[i];
        begin++;
    }
    
    return tmp;
}

function deleteNum(data, num) {
    var tmp = new Array();
    tmp['entry'] = new Array();
    var j = 0;

    if (num == 0) {
        return data;
    }

    for ( var i=0, entry; entry = data.entry[i]; i++) {
        if (i >= num) {
            tmp.entry[j] = entry;
            j++;
        }
    }

    return tmp;
}

function getCLassName(uri) {
    var regex01 = /navi/;
    var regex02 = /style/;
    var regex03 = /faq/;
    var regex04 = /yougo/;

    if (regex01.test(uri))
        return '01';
        
    if (regex02.test(uri))
        return '02';
        
    if (regex03.test(uri))
        return '03';
        
    if (regex04.test(uri))
        return '04';
     
    return '';
}

function jsonNewsLayout(data, id) {
    var ul = document.getElementById(id);
    var content = '';

    for ( var i=0, entry  ; entry = data.entry[i]; i++) {
        if (entry.title.length > 27)
            var title = entry.title.substr(0, 27) + '...';
        else
            var title = entry.title;
            
        content += "<li class='icon" + getCLassName(entry.link) + "'><a href='" + entry.link + "'>" + entry.published.substr(5, 5).replace('-', '/') + "&nbsp;" + title + "</a></li>";
    }
    
    ul.innerHTML = content;
}

function jsonBlogLayout(data, id) {
    var ul = document.getElementById(id);
    var content = '';
    
    for ( var i=0, entry  ; entry = data.entry[i]; i++) {
        var title = entry.blog + " / " + entry.title;
        
        if (title.length > 27)
            title = title.substr(0, 27) + '...';
            
        content += "<li class='icon05'><a href='" + entry.link + "'>" + entry.published.substr(5, 5).replace('-', '/') + "&nbsp;" + title + "</a></li>";
    }
    
    ul.innerHTML = content;
}
