/*
  @name        whatday.js
  @namespace   whatday.js
  @discription create what day product
*/

Array.prototype.asort = function(key) {
    this.sort(function(a, b) {
        return (a[key] > b[key]) ? 1 : -1;
    });
}
	

var adingo_whatday_search_url;
var adingo_media_id;
var whatday_memorial_num;
var whatday_event_num;
var whatday_birthday_num;
var adingo_design_id;
var adingo_whatday_unif;
var whatday_category_num;
var count_m;
var count_e;
var count_b;

document.write('<scr' + 'ipt type="text/javascript" src="http://product.adingo.jp/log/?media=' + adingo_media_id + '&product=2&design=' + adingo_design_id + '"></scr' + 'ipt>');

function callback(data) {
    data_m    = new Array();
    data_e    = new Array();
    data_b    = new Array();
    null_list = new Array();

    week     = new Array("&#26085;","&#26376;","&#28779;","&#27700;","&#26408;","&#37329;","&#22303;");
    myDate   = new Date();
    theDate  = myDate.getDate();
    theMonth = myDate.getMonth() + 1;
    theDay   = week[myDate.getDay()];

    document.write("<div id='AdingoProduct0002' class='adcCommon'>");
    document.write("<div class='AdingoProductinner'>");
    document.write("<div id='ProductLayout'>");
    if (adingo_design_id === 0 || adingo_design_id === 1 || adingo_design_id === 2) {
        document.write("<div id='Prwhatday'><p>&#20170;&#26085;&#12399;&#20309;&#12398;&#26085;" + " - " + theMonth + "&#26376;" + theDate + "&#26085;" + "(" + theDay + ")" + "</p></div>");
    }
    if (adingo_design_id === 3 || adingo_design_id === 4) {
        var img = Dateimg(adingo_design_id);
        document.write("<div id='Prwhatday'>" + img + "</div>");
    }

    document.write("<div id='ProductLayoutInner'>");

    if (data.memorial.length > 0) {

        var array_m = new Array();

        for (var s = 0; s < data.memorial.length; s++) {
            var base_m  = new Array();
            base_m['date']     = '--';
            base_m['memorial'] = unescape(data['memorial'][s]['text']);
            base_m['search']   = unescape(data['memorial'][s]['text']);

            array_m.push(base_m);
        }

        for (var y = 0; y < whatday_memorial_num; y++) {

            var m          = new Array();
            var memorial_p = "<div id='PrAnniversary'><p>&#35352;&#24565;&#26085;&#12539;&#34892;&#20107;</p></div>";
            var n          = Math.floor(Math.random()*array_m.length);
            var date       = array_m[n].date;
            var memorial   = array_m[n].memorial;
            var search     = array_m[n].search;
            var sp_text    = search.split(" ");
    
            for (var o = 0; o < sp_text.length; o++) {
    
                var search_url = "http://product.adingo.jp/redirect/?product=2&amp;media=" + adingo_media_id + "&amp;design=" + adingo_design_id + "&amp;unif=" + adingo_whatday_unif + "&amp;query=" + encodeURIComponent(sp_text[o]) + "&amp;url=" + encodeURIComponent(adingo_whatday_search_url) + encodeURIComponent(sp_text[o]) + "%26from%3D2";
                memorial = memorial.replace(sp_text[o], "<a href=" + search_url + " title=" + sp_text[o] + "&#12391;&#26908;&#32034;&#65281; target=_blank >" + sp_text[o] + "</a>");
            }

            var memorial_data ="<dl><dt>" + date + "</dt><dd>" + memorial + "</dd></dl>";

            m['date']      = memorial_p;
            m['contents']  = memorial_data;
            data_m.push(m);

            if (data.memorial.length - 1 === y) {
                break;
            } else {
                array_m.splice(n,1);
            }
        }

        if (typeof whatday_category_num === 'undefined') {
            for (var h = 0; h < data_m.length; h++) {
                if (h === 0) {
                    document.write(data_m[h]['date']);
                }
                document.write(data_m[h]['contents']);
            }
        }

    }

    if (data.event.length > 0) {

        var array_e = new Array();

        for (var t = 0; t < data.event.length; t++) {
            var base_e       = new Array();
            e_year           = data['event'][t]['year'];
            base_e['date']   = e_year;
            base_e['event']  = unescape(data['event'][t]['text']);
            base_e['search'] = unescape(data['event'][t]['search']);

            array_e.push(base_e);
        }

        for (var v = 0; v < whatday_event_num; v++) {
    
            var e          = new Array();
            var event_list = new Array();
            var event_p    = "<div id='PrEvent'><p>&#20986;&#26469;&#20107;</p></div>";
            var n          = Math.floor(Math.random()*array_e.length);
            var date       = array_e[n].date;
            var event      = array_e[n].event;
            var search     = array_e[n].search;
            var sp_text    = search.split(" ");

            for (var z = 0; z < sp_text.length; z++) {
                var search_url = "http://product.adingo.jp/redirect/?product=2&amp;media=" + adingo_media_id + "&amp;design=" + adingo_design_id + "&amp;unif=" + adingo_whatday_unif + "&amp;query=" + encodeURIComponent(sp_text[z]) + "&amp;url=" + encodeURIComponent(adingo_whatday_search_url) + encodeURIComponent(sp_text[z]) + "%26from%3D2";
                event = event.replace(sp_text[z], "" + z);
                event_list[z] = "<a href=" + search_url + " title=" + sp_text[z] + "&#12391;&#26908;&#32034;&#65281; target=_blank >" + sp_text[z] + "</a>";

            }

            for (var len = 0; len < event_list.length; len++) {
                event = event.replace("" + len, event_list[len]);
            }

            var event_data ="<dl><dt>" + date + "&#24180;</dt><dd>" + event + "</dd></dl>";

            e['sort_date'] = date;
            e['date']      = event_p;
            e['contents']  = event_data;
            data_e.push(e);

            if (data.event.length - 1 === v) {
                break;
            } else {
                array_e.splice(n,1);
            }
        }

        data_e.asort('sort_date');

        if (typeof whatday_category_num === 'undefined') {
            for (var g = 0; g < data_e.length; g++) {
                if (g === 0) {
                    document.write(data_e[g]['date']);
                }
                document.write(data_e[g]['contents']);
            }
        }

    }

    if (data.birthday.length > 0) {

        var array_b = new Array();

        for (var u = 0; u < data.birthday.length; u++) {
            var base_b         = new Array();
            b_year             = data['birthday'][u]['year'];
            base_b['date']     = b_year;
            base_b['birthday'] = unescape(data['birthday'][u]['text']);
            base_b['search']   = unescape(data['birthday'][u]['search']);

            array_b.push(base_b);
        }

        for (var w = 0; w < whatday_birthday_num; w++) {
    
            var b             = new Array();
            var birthday_list = new Array();
            var birthday_p    ="<div id='PrBirthday'><p>&#35477;&#29983;&#26085;</p></div>";
            var n             = Math.floor(Math.random()*array_b.length);
            var date          = array_b[n].date;
            var birthday      = array_b[n].birthday;
            var search        = array_b[n].search;
            var sp_text       = search.split(" ");
    
            for (var x = 0; x < sp_text.length; x++) {
    
                var search_url = "http://product.adingo.jp/redirect/?product=2&amp;media=" + adingo_media_id + "&amp;design=" + adingo_design_id + "&amp;unif=" + adingo_whatday_unif + "&amp;query=" + encodeURIComponent(sp_text[x]) + "&amp;url=" + encodeURIComponent(adingo_whatday_search_url) + encodeURIComponent(sp_text[x]) + "%26from%3D2";
                birthday = birthday.replace(sp_text[x], "" + x);
                birthday_list[x] = "<a href=" + search_url + " title=" + sp_text[x] + "&#12391;&#26908;&#32034;&#65281; target=_blank >" + sp_text[x] + "</a>";

            }

            for (var len = 0; len < birthday_list.length; len++) {
                birthday = birthday.replace("" + len, birthday_list[len]);
            }

            var birthday_data ="<dl><dt>" + date + "&#24180;</dt><dd>" + birthday + "</dd></dl>";
    
            b['sort_date'] = date;
            b['date']      = birthday_p;
            b['contents']  = birthday_data;
            data_b.push(b);

            if (data.birthday.length - 1 === w) {
                break;
            } else {
                array_b.splice(n,1);
            }
        }

        data_b.asort('sort_date');

        if (typeof whatday_category_num === 'undefined') {
            for (var f = 0; f < data_b.length; f++) {
                if (f === 0) {
                    document.write(data_b[f]['date']);
                }
                document.write(data_b[f]['contents']);
            }
        }

    }

    if (whatday_category_num > 0) {
        var all_data       = data_m.concat(data_e).concat(data_b);
        var length         = all_data.length;
        var all_data_list  = new Array();
        for (var r = 0; r < whatday_category_num; r++) {
            var all_data_space = new Array();
            var rand = Math.floor(Math.random()*all_data.length);
            if (all_data[rand]['date'].indexOf("Anniversary", 0) > 0) {
                all_data_space['category'] = 1;
            }
            
            if (all_data[rand]['date'].indexOf("Event", 0) > 0) {
                all_data_space['category'] = 2;
            }

            if (all_data[rand]['date'].indexOf("Birthday", 0) > 0) {
                all_data_space['category'] = 3;
            }
            all_data_space['sort_date'] = all_data[rand]['sort_date'];
            all_data_space['date']      = all_data[rand]['date'];
            all_data_space['contents']  = all_data[rand]['contents'];
            all_data_list.push(all_data_space);

            if (length - 1 === r) {
                break;
            } else {
                all_data.splice(rand,1);
            }
        }
        all_data_list.asort('category');
        //all_data_list.asort('sort_date');

        for (var g = 0; g < all_data_list.length; g++) {
            if (all_data_list[g]['category'] === 1) {
                if (count_m != 1) {
                    document.write(all_data_list[g]['date']);
                }
	            document.write(all_data_list[g]['contents']);
                count_m = 1;
            }

            if (all_data_list[g]['category'] === 2) {
                if (count_e != 1) {
                    document.write(all_data_list[g]['date']);
                }
                document.write(all_data_list[g]['contents']);
                count_e = 1;
            }

            if (all_data_list[g]['category'] === 3) {
                if (count_b != 1) {
                    document.write(all_data_list[g]['date']);
                }
                document.write(all_data_list[g]['contents']);
                count_b = 1;
            }
        }
    }

    document.write("</div></div></div></div>");
}

function Dateimg(adingo_design_id){
    var dtToday = new Date;
    var strMonth;
    var strDate;

    var Month = new Array;
    for (var a = 1; a < 13; a++) {
        if (a < 10) {
            a = '0' + a;
        }
        if (adingo_design_id === 3) {
            Month[a] = "http://product.adingo.jp.eimg.jp/whatday/img/3/m" + a + ".png";
        } else {
            Month[a] = "http://product.adingo.jp.eimg.jp/whatday/img/m" + a + ".png";
        }
    }
    var Day = new Array;
    for (var l = 1; l < 32; l++) {
        if (l < 10) {
            l = '0' + l;
        }
        if (adingo_design_id === 3) {
            Day[l] = "http://product.adingo.jp.eimg.jp/whatday/img/3/d" + l + ".png";
        } else {
            Day[l] = "http://product.adingo.jp.eimg.jp/whatday/img/d" + l + ".png";
        }
    }
    var Week = new Array;
    for (var p = 0; p < 7; p++) {
        if (adingo_design_id === 3) {
            Week[p] = "http://product.adingo.jp.eimg.jp/whatday/img/3/w" + p + ".png";
        } else {
            Week[p] = "http://product.adingo.jp.eimg.jp/whatday/img/w" + p + ".png";
        }
    }
    
    strMonth = dtToday.getMonth() + 1;
    strDate  = dtToday.getDate();
    strWeek  = dtToday.getDay();
    
    if (strMonth < 10){strMonth = "0" + strMonth;}
    if (strDate < 10){strDate = "0" + strDate;}

    var imgMonth, imgDate, imgWeek;
    imgMonth = strMonth.toString();
    imgDate  = strDate.toString();
    imgWeek  = strWeek.toString();

    if (adingo_design_id === 3) {
        var img = "<ul><li><h1><img alt='&#20170;&#26085;&#12399;&#20309;&#12398;&#26085;&#65311;' src='http://product.adingo.jp.eimg.jp/whatday/img/3/title.png'/></h1></li><li><img alt='' src='http://product.adingo.jp.eimg.jp/whatday/img/3/date_left.png'/></li><li><img src='"+Month[imgMonth.substring(0,2)]+"'></li><li><img src='"+Day[imgDate.substring(0,2)]+"'></li><li><img src='"+Week[imgWeek.substring(0,1)]+"'></li><li><img src='http://product.adingo.jp.eimg.jp/whatday/img/3/date_right.png'></li></ul>";
    } else {
        var img = "<ul id='whatday_title'><li id='whatday_text'>&#20170;&#26085;&#12399;&#20309;&#12398;&#26085;&#65311;</li><li id='whatday_date'><ul><li><img alt='' src='http://product.adingo.jp.eimg.jp/whatday/img/date_left.png'/></li><li><img src='"+Month[imgMonth.substring(0,2)]+"'></li><li><img src='"+Day[imgDate.substring(0,2)]+"'></li><li><img src='"+Week[imgWeek.substring(0,1)]+"'></li><li><img src='http://product.adingo.jp.eimg.jp/whatday/img/date_right.png'></li></ul></li></ul>";
    }
    return img;
}
