/**
 * recent.js
 *
 * @author    Fukazawa <fukazawa@crossnet.co.jp>
 * @pachage   Wedding
 * @see       jquery-1.3.2.js
 * @copyright JOYJOY Inc. & Gourmet Navigator Inc.
 * @version   $Id:$
 */


/**
 * 会場ページで下記jsファイルを読み込むようにする。
 * /js/lib/jquery-1.3.2.js
 * /js/lib/plugins/json.js
 * /js/lib/plugins/jquery.cookie.js
 * /js/kaijo-js/recent.js
 *
 * 下記タグのところに最近見た会場が表示される。
 * <ul id="recently">
 * </ul>
 */


/**
 * 初期処理
 *
 */
$(function(){
  function recentlyList(){
    recent = '';

    // cookieから取得
    var jsonobj = {};
    cookiename = "wedding_recent";
    jsoncookie = $.cookie(cookiename);
    if (jsoncookie != null) {
        jsoncookie = unescape(jsoncookie);
        eval("jsonobj = " + jsoncookie);
    }

    // sid 取得
    newsid   = $("#sid").val();
    ck       = $("#ck").val();
    site_url = $("#site_url").val();

    // 会場名取得
    newname = $("#shop_name").val();
    if ((newsid == "") || (newname == "")) {
        return false;
    }

    // 会場名18文字で省略
    newname18 = newname.substr(0,18);
    if (newname != newname18) {
        newname = newname18 + "…";
    }

    // 今回のと重複があれば削除
    delete jsonobj[newsid];

    // 要素数を数える。
    n = 0;
    aryobj = new Array();
    $.each(jsonobj, function(sid, name) {
        if ((sid == "") || (name == "")) {
            delete jsonobj[sid];
        } else {
            if (n == 0) {
                // 古いのを保存
                firstsid = sid;
            }
            n++;
            // 新しいものが先に来るように逆順にする。
            aryobj.unshift({"sid": sid, "name": name});
        }
    });

    // 表示
    for(n = 0; n < aryobj.length; n++) {
        n0 = ("00" + n).slice(-3);  // ゼロパディング
        recent += '<li class="clearfix"><input name="checkA001[]" type="checkbox" id="checkA' + n0 + '" value="' + aryobj[n].sid + '"/><a href="' + site_url + "/1/" + aryobj[n].sid + '/" class="xs">' + aryobj[n].name + '</a></li>';
    }

    // 10個以上あれば、古いのを削除
    if (n > 9) {
        delete jsonobj[firstsid];
    }

    // deleteしたら作り直す。
    eval("jsonobj = " + $.toJSON(jsonobj));

    // 今回のを最後に追加。
    jsonobj[newsid] = newname;

    // cookieに保存
    jsoncookie = $.toJSON(jsonobj);
    jsoncookie = escape(jsoncookie);
    $.cookie(cookiename, jsoncookie, {expires: 365*3, path:'/'});

    $('ul#recently').append(recent);
  }

  recentlyList();
})


/**
 * 送信処理
 *
 */
$(document).ready(function(){
    // sid 取得
    newsid = $("#sid").val();
    ck     = $("#ck").val();

    if (newsid != "") {
        var form = $("#f1");
        var base = form.attr("action");
        if (base == "") {
            base = "/user1";
        }

        $("#myFavorite").load(base + "/default/clipping/chkcookie/?sid=" + newsid + "&ck=" + ck);
    }
});

// 最近見た会場からお気に入りに追加
jQuery(function($){

    $("#toAddFavorite").click(function(){
        // sid 取得
        newsid = $("#sid").val();
        ck     = $("#ck").val();

        if (newsid == "") {
            return false;
        }

        var form = $("#f1");
        var base = form.attr("action");
        if (base == "") {
            base = "/user1";
        }

        popWindow(base + '/default/clipping/?sid=' + newsid + '&ck=' + ck, 'favorite', 730, 500, '00011111');
        $("#f1").attr("target", "favorite");
        $("this").oneTimeSubmit("/default/clipping/adds/?sid=" + newsid + "&ck=" + ck);

        return false;
    });

    $("#toShowFavorite").click(function(){
        // sid 取得
        newsid = $("#sid").val();
        ck     = $("#ck").val();

        if (newsid == "") {
            return false;
        }

        var form = $("#f1");
        var base = form.attr("action");
        if (base == "") {
            base = "/user1";
        }
        popWindow(base + '/default/clipping/show?sid=' + newsid + '&ck=' + ck + '&show=true', 'favorite', 730, 500, '00011111');
        $("#f1").attr("target", "favorite");
        return false;
    });
});

