/**
 * マイクリップ関連処理
 *
 * prototype.js / Prototype Windowを使用しています
 */
Dialog.onclick = null;

/**
 * チェックボックスをすべて選択状態にする
 */
function clipAllChecked()
{
    var clip_list  = document.getElementById('myclipping-remove-form');
    var checkboxes = clip_list.getElementsByTagName('input');

    for (var key = 0; checkboxes.length > key; key++) {
        checkboxes[key].checked = true;
    }
}

/**
 * チェックボックスをすべて解除状態にする
 */
function clipAllClear()
{
    var clip_list  = document.getElementById('myclipping-remove-form');
    var checkboxes = clip_list.getElementsByTagName('input');

    for (var key = 0; checkboxes.length > key; key++) {
        checkboxes[key].checked = false;
    }
}

/**
 * 削除確認ダイアログ
 */
function deleteConfirm()
{
    if (Dialog.dialogId != null) {
	Dialog.closeInfo();
    }

    var form   = document.getElementById('myclipping-remove-form');
    var params = Form.serialize(form);
    var cnt    = params.indexOf('&');

    if (cnt != -1) {
	Dialog.info({
		url    : "/?nv=member_mypage_myclipping_delete_confirm",
		    options: {method: "get"}
	    },
	    {className: "alphacube", width: 255, showProgress: false});

	Dialog.onclick = $('delete-link').getAttribute('onclick');
	$('delete-link').setAttribute('onclick', '');
    }

}

/**
 * ダイアログを閉じてリロードする
 */
function closeDialog()
{
    setTimeout(function() {window.location.reload(true)}, 1000);
    Dialog.closeInfo();
}

/**
 * ダイアログを閉じる(リロードしない)
 */
function cancelDialog()
{
    Dialog.closeInfo();
    $('delete-link').setAttribute('onclick', Dialog.onclick);
}

/**
 * クリップを削除する
 */
function deleteClip()
{
    var url  = '/';
    var form = window.document.getElementById('myclipping-remove-form');
    var ajax = new Ajax.Updater('dialog-contents', url, {
      method: 'post',
      postBody: Form.serialize(form)
    });
}

/**
 * マイクリップ 詳細フローティングウィンドウ表示
 *
 * @param クリップタイプ
 * @param ランキングID or 商品評価ID
 */
function openMyclipping(type, id)
{
    var url   = '/myclipping/get.php';
    var param = 'nv=member_mypage_myclipping_add';
    var element_name = 'float-window';

    param += '&clip_type=' + type;
    if (type == '1') {
        param += '&ranking_id=' + id;
    } else if (type == '0') {
        param += '&review_id=' + id;
    }

    url += '?' + param;

    var win = null;
    if ($(element_name) != null) {
        win = window.parent.Windows.getWindow(element_name);
	window.parent.Windows.removeModalWindow(win);
	win.destroy();
    } 

    win = new Window(element_name, {className: "alphacube",
				    draggable: false,
				    minimizable: false,
				    maximizable: false,
				    closable: false,
				    resizable: false,
				    url: url});


    win.setDestroyOnClose();
    win.setSize(600, 400);
    win.setZIndex(20);

    var ua    = navigator.userAgent;
    var nWidth;
    var nHeight;
    var nHit  = ua.indexOf("MSIE");
    var bIE   = (nHit >=  0);
    var bVer6 = (bIE && ua.substr(nHit+5, 1) == "6");
    var bStd  = (document.compatMode && document.compatMode=="CSS1Compat");

    if (bIE) {
      if (bVer6 && bStd) {
	nWidth = document.documentElement.clientWidth;
      } else {
	nWidth = document.body.clientWidth;
      }
    } else {
      nWidth  = window.innerWidth;
      nHeight = window.innerHeight;
    }

    var top  = document.documentElement.scrollTop + 64;
    var left = nWidth / 2 - 300;
    win.setLocation(top, left);

    setTimeout(function() {win.show(true);}, 1000);

}

/**
 * フローティングウィンドウを閉じる
 */
function closeFloat()
{
    // IEの場合、閉じた後親ウィンドウをリロードすると404になるため、
    // 明示的にURL設定をやり直す必要があるらしい
    // Firefoxの場合はhistory.back()ができなくなるので、共に行う必要がある
    window.parent.Windows.close('float-window');
    // リロードしてもしなくとも動作が変わらないようなのでコメントアウト
    // 評価完了画面でもマイクリップボタン対策
    //window.parent.document.location.reload();
}

/**
 * マイクリップ状態変更
 *
 * @param クリップID
 * @param 公開状態
 */
function updateClipStatus(id, status)
{
  var params = ["nv=member_mypage_myclipping_update",
		"&clip_id=",
		id,
		"&open_flag=",
		status].join('');
  var url    = '/';
  var elem = "open-flag-status-" + id;
  var ajax = new Ajax.Updater(elem, url, {
    method: "post",
    parameters: params
  });
}
