var biggerlink2;

$(document).ready(function() {

//currentNumが２なら第２希望まで選択されている。
var currentNum = new Number($("#flag").val());

//選択したものを削除する辺りで必要
var num;

//選択した公演を保存しておくための配列
var choosedList = [];

//エントリー方式の変更ができるかどうかのフラグ
var onlyMtd = $("#onlyMtd").val();

//デフォルトのエントリー方式
var entryType =  $("#default_entry").val();

//希望順位上限
var maxNum;

var mouseX;
var mouseY;
var fukidasiDelete;
var fukidasiSelect;
var delayTime = 100;
var delayTimerId;

//取消処理中に選ばせない・取り消さない為
var deleteF;

//初期処理　ここから

//tdにカーソルをポインターにする
$('td.td_base_normal').css("cursor","pointer");

//購入ボタンクリック時のイベント
$('#cart_button').click(function(){
    buyTicket();
});

$("#entry").val(entryType);

//tdにクリック時のイベントを追加
$('td.td_base_normal').click(function(){
	setCart(this.id);
});

//input要素がない＝空のリストを非表示
$("ul.cartWrp:not(:has(input))").hide()
								.find("dd").hide();

//第○希望のカーソルをポインターにする
$('div.lot_cart_title').css("cursor", "pointer");

//第○希望のホバー時に三角形の透過率を変える
setToggleHoverEvent();

//第○希望の詳細の表示／非表示を切り替えるイベントを追加
$('div.lot_cart_title').click(function(){
    toggleList(this.id);
});

if(currentNum > 0){
    $('.lot_cart_title:gt(' + parseInt(currentNum-1) + ')').hide();
}
else{
    $('.lot_cart_title').hide();
}

//カレンダ関係
$("a.calPerf").click(function(){
    displayWindow(this.id);
    return false;
});

$("a.closeWindow").click(function(){
    closeWindow(this);
    return false;
});


//エントリー方式関連
$("div.lot_tab").hide();

if(entryType == 1){
    maxNum = new Number($("#ent1_max").val());
    document.getElementById('entry1-message').style.display = "";
    document.getElementById('entry2-message').style.display = "none";
}
else if(entryType == 2){
    maxNum = new Number($("#ent2_max").val());
    document.getElementById('entry1-message').style.display = "none";
    document.getElementById('entry2-message').style.display = "";
}
// 申込可能数非表示(初期時)
hopeDisplay(entryType, 0);

//選びなおすボタン画像のソース
$("a.reset > img").attr("src",$("#del_img_src").val());


//選択リストを初期化する
function initChoosedEvlist() {
    var i;
	var k;
	var choosedListTemp = $("input[name='choosed_ev_list']");
	var choosedNumTemp;

    if(choosedListTemp.size() > 0){
    	//choosedList = $("#choosed_ev_list").val().split(",");

		for (k = 0 ; k < choosedListTemp.size() ; k++) {
			choosedNumTemp = choosedListTemp.eq(k).val().split(":")[0];
			choosedList[choosedNumTemp] = choosedListTemp.eq(k).val().split(":")[1];
		}

		//choosedList[i]内がnullだった場合””を入れる
		for (i = 0 ; i < choosedList.length ; i++) {
			if (choosedList[i] == null) {
				choosedList[i] = i + ":";
			}
		}

    } else {
    }
    if(choosedList.length > 0){
        if(entryType == 1){

        	for(i = 0; i < choosedList.length; i++){
        		if(choosedList[i] != "" && choosedList[i].split(":")[1] != "" && $("#" + choosedList[i]).size() > 0) {
        			$("#" + choosedList[i]).unbind()
        				.addClass("choosed")
        				.css("background-color","pink");
				}
           }

        }
        else if(entryType == 2){
            for(i = 0; i < choosedList.length; i++){
            	if(choosedList[i] != "" && choosedList[i].split(":")[1] != "" && $("#" + choosedList[i]).size() > 0) {
					$("td." + choosedList[i].split("_")[0]).unbind()
                    	.addClass("choosed")
                        .not("#" + choosedList[i])
                        .css("opacity", 0.5);
					$("#" + choosedList[i]).css("background-color","pink");
            	}
			}
        }
    }
}

$("select").change(function(){
	buyButtonControl();
	if (!checkSelectBoxVal($(this).parent())) {
		setBlinking($(this).parent().find("span"), 3);
	}
});

initChoosedEvlist();
buyButtonControl();

if(currentNum > 0){
    $("#cart_title").hide();
    
    // 申込可能数表示
    hopeDisplay(entryType, 0);
}

//初期処理　ここまで

function displayWindow(id){
    $("#window_" + id).show();
    $("#window_" + id).css("top", (($(window).height() - $("#window_" + id).height()) / 2  + $(window).scrollTop()) + "px");
}

function closeWindow(a){
    $("#window_" + a.target).hide();
}

//購入ボタンを押したときのイベント
function buyTicket(){
	var sel;
	var noSubmit = false;
	nullToBrank();

	//枚数がない場合ダイアログを表示
    $("dd:has(select)").each(function(){
        sel = $(this).find("select option:selected").text();
        if(sel.match(/[0-9]/g) == null){
        	noSubmit = true;
            jAlert($("#JS00091").html(),$("#JS00092").html());
            return false;
        }
    });

    //ダブルクリック防止処理
    if (!noSubmit && checkSubmit()) {
      return true;
    }
    else {
        return false;
    }

}


//hiddenとlabelに値をセット
function setCart(id){
	if (!deleteF) {
		//選択数が上限を超えてるかチェック
	    if(currentNum < maxNum){
	    	markCell(id);
	        //指定したIDの席種を右サイドバーに追加する
	        appendCartIdView(id);
	    	currentNum++;
	        buyButtonControl();
	        $("#cart_title").hide();
	        
	        // 申込可能数表示
	        hopeDisplay(entryType, 0);
	    }
	    else{
	        jAlert($("#JS00046").html(),$("#JS00047").html());
	        $("#move").hide();
	    }
	    
	    // 申込可能数表示
		hopeDisplay(entryType, 1);
	}
}

// 申込可能数表示制御
function hopeDisplay(entryType, displayFlg){
	if(displayFlg == 1){
		if(entryType == 1){
		    document.getElementById('entry3-message').style.display = "";
		    document.getElementById('entry4-message').style.display = "none";
		}
		else if(entryType == 2){
		    document.getElementById('entry3-message').style.display = "none";
		    document.getElementById('entry4-message').style.display = "";
		}
	}else{
	    document.getElementById('entry3-message').style.display = "none";
	    document.getElementById('entry4-message').style.display = "none";
	}
}

//カートの中身を消す
function deleteCart(id){
	var popUpX;
	var popUpY;
	if (!deleteF) {
		deleteF = true;

		currentNum--;

	  	//ポップアップを表示する
	    showDeletePopUpPos($("#JS00080").html(), mouseX - 20, mouseY, 550, 1);

	    //タイトルホバー時の色を元に戻す
	    $(".lot_cart_title").find("strong").css("opacity", 1.0);

	    //吹き出しを非表示にする
	    if (fukidasiSelect != null) {
	    	fukidasiSelect.hide();
	    }

	    deleteCartIdView(id);
	}
}


//指定したIDの席種をカートに追加する。
function appendCartIdView(id) {
    var maisu = 0;
    var ticket;
    var tanniNum;
    var tanni;
    var zone;
    var saleSeat;
    var valiation;
    var max;
    var prices;
    var choosedClass; //選択されたtdのクラス

    choosedList[currentNum] = id;

    choosedClass = id.split("_")[0];

    //タイトルホバー時の色を元に戻す
    $(".lot_cart_title").find("strong").css("opacity", 1.0);

    $("#" + id).addClass("choosed");
		$("#" + id).css("background-color","pink")

    //エントリー方式が「1回だけ観に行きたい」の場合
    if($("#entry").val() == 1){
        $("#" + id).unbind();
    }
    //エントリー方式が「複数公演エントリー」の場合
    else if($("#entry").val() == 2){
        $("td." + choosedClass).unbind()
                                .not(".choosed")
                                .css("opacity", 0.5);
    }

    $("#" + currentNum).show();

    tanni = $('#' + id + ' > input.tanni_maisu').val().split("_");      //単位枚数配列
    zone = $('#' + id + ' > input.zoneCd').val().split("_");            //ゾーン配列
    saleSeat = $('#' + id + ' > input.saleSeatCd').val().split("_");    //シート配列
    valiation = $('#' + id + ' > input.valiation').val().split("_");    //バリエーション配列
    max = $('#' + id + ' > input.maxnum').val();                        //バリエーションごとの上限枚数
    prices = $('#' + id + ' > input.prices').val().split("_");          //価格の配列

	//単位の名前（枚かセットか）
	var unitName = $("#JS00053").html();
	var unitNameFlag = $('#' + id + ' input.setTicketNameFlag').val();
	if(unitNameFlag != null){
		unitName = $("#JS00094").html();
	}

    //HTMLを書き出す
    $("#list" + currentNum).append("<input type='hidden' name='prpsData.perfList[" + currentNum + "].eventCd' value='" + $("#eventCd_" + choosedClass).val() + "'>")
                           .append("<input type='hidden' name='prpsData.perfList[" + currentNum + "].perfCd' value='" + $("#PerfCd_" + choosedClass).val() + "'>")
                           .append("<input type='hidden' name='prpsData.perfList[" + currentNum + "].stkSeatCd' value='" + $('#' + id + ' > input.stkSeatCd').val() + "'>")
                           .append("<input type='hidden' name='prpsData.perfList[" + currentNum + "].slStkndCd' value='" + $('#' + id + ' > input.saleSeatCd').val() + "'>");

    //日付と会場のセット
    if($("#date_" + choosedClass).html()!=null){
    	$('#label_date' + currentNum).html($("#date_" + choosedClass).html());
    }
    if($("#space_" + choosedClass).html()!=null){
    	$('#id_space' + currentNum).show();
    	$('#label_space' + currentNum).html($("#space_" + choosedClass).html());
    } else {
    	$('#id_space' + currentNum).hide();
    }

    for(var i = 0; i < valiation.length; i++){
        tanniNum = Number(tanni[i]);

        //ラベル、セレクトボックスを追加（円を削除。ak_t）
        $("#dd" + currentNum).append("<label class='cart_label" + currentNum + "'>" + valiation[i] + "</label><br>")
                             .append("<label class='cart_label" + currentNum + "'>" + prices[i] + "　×　</label>")
                             .append("<select id='ticket_num" + currentNum + "_" + i + "' name='prpsData.perfList[" + currentNum + "].seatList[" + i + "].seatNum'>")
                             .append(unitName + "<br />");
        $("#list" + currentNum).append("<input type='hidden' name='prpsData.perfList[" + currentNum + "].seatList[" + i + "].zoneCd' value='" + $('#' + id + ' > input.zoneCd').val() + "'>")
                               .append("<input type='hidden' name='prpsData.perfList[" + currentNum + "].seatList[" + i + "].zoneName' value='" + $('#' + id + ' > input.zoneName').val() + "'>")
                               .append("<input type='hidden' name='prpsData.perfList[" + currentNum + "].seatList[" + i + "].saleSeatCd' value='" + saleSeat[i] +"'>");

        ticket = $('#ticket_num' + currentNum + "_" + i );
        ticket.empty();

        //セレクトボックスにオプションを追加
        maisu = 0;
        ticket.append($('<option>').val(0).text($("#JS00052").html()));
        for(maisu = tanniNum; maisu <= max; maisu += tanniNum){
            ticket.append($('<option>').val(maisu).text(maisu));
        }
    }

    $("select").change(function(){
    	buyButtonControl();
    	if (!checkSelectBoxVal($(this).parent())) {
    		setBlinking($(this).parent().find("span"), 3);
    	}
    });
    $("#dd" + currentNum).append("<span>" + unitName + $("#JS00048").html() + max + unitName + $("#JS00049").html() + "</span>");
    $("#list" + currentNum + " dd").show();
    $('.lot_cart_title:visible > strong').removeClass("selected");
    try { $('ul.cartWrp:visible').slideUp("fast")} catch(e) {};
    $('ul.cartWrp:visible').css("zoom", 1); //IEで透明になってしまうバグ対策
    $('#' + currentNum + " > strong").addClass("selected");
    try { $('#list' + currentNum).slideDown("fast")} catch(e) {};
    $('#list' + currentNum).css("zoom", 1); //IEで透明になってしまうバグ対策
    $("#delete" + currentNum).show();
    $("#cart_title").hide();

    //吹き出しを非表示にする
    if (fukidasiSelect != null) {
    	fukidasiSelect.hide();
    }

    //moveのアニメーション処理
    animateBox(id);
    $("#cart_title").hide();
    
    // 申込可能数表示
    hopeDisplay(entryType, 0);
}



//指定したIDの席種をカートから削除する
function deleteCartIdView(id) {
	var beforNum;
	var afterNum;
	var i;

    num = new Number(id.slice(6));    //IDをとってきてdeleteという文字列を消している。
    beforNum = num;

    //エントリー方式が「複数公演エントリー」の場合
    if($("#entry").val() == 2){
        //選択された日付内席種のクラスと透明度を元に戻し、クリックイベントを復活
        $("td." + choosedList[beforNum].split("_")[0]).removeClass("choosed")
                                  .css("opacity",1)
                                  .click(function(){setCart(this.id);});
    }
    //エントリー方式が「希望順エントリー」の場合
    else {
        //選択された席種のクラスと透明度を元に戻し、クリックイベントを復活
        $("#" + choosedList[beforNum]).removeClass("choosed")
                                 .css("opacity",1)
                                 .click(function(){setCart(this.id);});
    }

    removeMarkCell(choosedList[beforNum]);

    //再設定し終わったら配列から該当クラスを削除
    choosedList.splice(num,1);

    //繰上げが必要かどうか判定
    //繰り上げた場合、numの値が変更される
    if(currentNum > 0){
        //繰上げ
        moveValue();
    }

    afterNum = num;

    //削除された席種をスライドアップする
    $('#list' + beforNum).slideUp("fast",

    		//アニメーション完了
    		function() {

				//タイトルをスライドアップ
				$("#" +  beforNum).slideUp(100,function(){

			    	//フェイドアウトした席種を元に戻す
	    			$("#list" + beforNum + " dd").css("opacity",1);

			        //最後のdd要素の中身を全部削除
			        $("#dd" + afterNum).html("");

			        //日付と会場とタイトル
			        $('#label_date' + afterNum).html("");
			        $('#label_space' + afterNum).html("");

			        //同要素のinput type=hiddenを全部削除
			        $("#list" + afterNum).find("input").remove();

			        if(currentNum == 0){
			            $("#cart_title").show();
			            
			            // 申込可能数非表示
			            hopeDisplay(entryType, 0);
			        }

			        //$('#list' + num).show();

			        if($("#cart > ul input").length == 0){
			            $("#cart_title").show();
			            
			            // 申込可能数非表示
			            hopeDisplay(entryType, 0);
			        }

	    			//繰上処理があった場合
			    	if(afterNum != beforNum){
						for (i = beforNum ; i < maxNum ; i++) {
			    			if ($("#" + i).size() > 0) {
					    		//タイトルをフェイドインする
					    		$("#" + i).css("opacity",0).fadeTo("slow", 1);
			    			}
			    		}

						$("#" + afterNum).hide();
						//スライドアップしたタイトルを元に戻す
						$("#" + beforNum).show();

			    		//繰上前の'#list' + numを表示にする
			    		if ($('#list' + afterNum).css("display") != "none") {
				    		$('#list' + beforNum).show();
				    		$('#' + beforNum + ' > strong').addClass("selected");
			    		} else {
			    			$('#' + beforNum + ' > strong').removeClass("selected");
			    		}

			    		//繰上後の'#list' + numを非表示にする
			    		$('#list' + afterNum).hide();
			    	}

			        buyButtonControl();

			        deleteF = false;
				});
    });

}

//１つずつデータを繰り上げる
function moveValue(){

    while(num < currentNum){
        var selects;
        var numPlus = parseInt(num+1);

        $('#label_date' + num).html($('#label_date' + numPlus).html());
        $('#label_space' + num).html($('#label_space' + numPlus).html());
        $('#dd' + num).html($('#dd' + numPlus).html());

        //HTMLをごっそり移動するのでID、nameを振り直し

        $('#list' + num + " input").remove();

        //hiddenと、そのname
        $('#list' + numPlus + " input").each(function(){
        	$('#list' + num).append($(this).attr("name",$(this).attr("name").replace("perfList[" + numPlus + "]","perfList[" + num + "]")));
        });
        //枚数選択用セレクトボックスのnameとid
        selectNum = $('#dd' + num + " > select");
        selectNumPlus = $('#dd' + numPlus + " > select");
        for(var j = 0; j < selectNum.size(); j++){
            selectNum.eq(j).attr("name","prpsData.perfList[" + num + "].seatList[" + j + "].seatNum")
                           .attr("id","ticket_num" + num + "_" + j)
                           .val(selectNumPlus.eq(j).val())
													 .change(function(){buyButtonControl();});
        }

        $("#delete" + num).show();

        num++;
    }
}

//エントリー方式変えたとき用
function deleteCartAll(){
    currentNum = 0;
    $('div.lot_cart_title').hide();
    $("#cart_title").show();
    $('ul.cartWrp:visible').hide("normal");
    $('label.cart_label').html("");
    $("dd.val_num").empty();
    
    // 申込可能数非表示
    hopeDisplay(entryType, 0);
    
    choosedList.length = 0;
	//透過しない
    $("td.td_base_normal").css("opacity", 1);
	//イベントの再設定
	$("td.td_base_normal").unbind();
	$("td.td_base_normal").click(function(){setCart(this.id);});
    $("td.choosed").removeClass("choosed");
    //同要素のinput type=hiddenを全部削除
    $("#cart > ul.cartWrp input").remove();
}

//リストを出したり消したり
function toggleList(id){
    //alert("display = " + $('#list' + id).css("display"));

	//三角形を切り替える
	if ($('#list' + id).css("display") == "none") {
		$('#' + id + ' > strong').addClass("selected");
	} else {
		$('#' + id + ' > strong').removeClass("selected");
	}

	$('#list' + id).slideToggle("fast", function() {
    	$(".cartWrp").css("zoom", 1); //IEで透明になってしまうバグ
    });

    //吹き出しを非表示にする
    if (fukidasiSelect != null) {
    	fukidasiSelect.hide();
    }
}

//エントリー方式の変更
function changeEntry(id){
    if($("#entry").val() != id.charAt(3)){
        jConfirm($("#JS00050").html(),$("#JS00051").html(),function(r){
                if(r){
                    $('#lot_tab1,#lot_tab2').toggle();
                	deleteCartAll();
                   	buyButtonControl();
                    $("td.td_base_normal").css("background-color", "#FFFFFF");
                    if(id == "ent1"){
                        changeEntryTo1();
                    }
                    else if(id == "ent2"){
                        changeEntryTo2();
                    }
                }
            }
        );
    }
}

//カートの「第１希望」「第１公演目」表示の文言切り替え
function changeListTitle(num){
    var k = 1;

	if(num == 1){
		$("div.lot_cart_title").each( function() {
			if ($("#list" + (k - 1)).css("display") == "none") {
				$(this).html("<strong>" + $("#JS00081").html() + k +  $("#JS00082").html() + "</strong><a href=\"#trush\" id=\"delete" + (k -1) + "\" class=\"reset\" ><img width=\"45\" height=\"15\" alt=\"" + $("#JS00093").html() + "\" src=\"" + imagePath + "sales/trush.gif\"/></a>");
			} else {
				$(this).html("<strong class=\"selected\">" + $("#JS00081").html() + k + $("#JS00082").html() + "</strong><a href=\"#trush\" id=\"delete" + (k -1) + "\" class=\"reset\" ><img width=\"45\" height=\"15\" alt=\"" + $("#JS00093").html() + "\" src=\"" + imagePath + "sales/trush.gif\"/></a>");
			}

			k++;
	    });
	}
	else if(num == 2){
		$("div.lot_cart_title").each( function() {
			if ($("#list" + (k - 1)).css("display") == "none") {
				$(this).html("<strong>" + k + $("#JS00083").html() + "</strong><a href=\"#trush\" id=\"delete" + (k -1) + "\" class=\"reset\" ><img width=\"45\" height=\"15\" alt=\"" + $("#JS00093").html() + "\" src=\"" + imagePath + "sales/trush.gif\"/></a>");
			} else {
				$(this).html("<strong class=\"selected\">" + k + $("#JS00083").html() + "</strong><a href=\"#trush\" id=\"delete" + (k -1) + "\" class=\"reset\" ><img width=\"45\" height=\"15\" alt=\"" + $("#JS00093").html() + "\" src=\"" + imagePath + "sales/trush.gif\"/></a>");
			}

	       k++;
	    });
	}

	//取り消しのイベントハンドラを設定する
	setTrushEvent();
}

//希望順エントリーに変更
function changeEntryTo1(){
    $("#entry").val(1);
    maxNum = $("#ent1_max").val();
    changeListTitle(1);
    document.getElementById('entry1-message').style.display = "";
    document.getElementById('entry2-message').style.display = "none";
}

//複数公演エントリーに変更
function changeEntryTo2(){
    $("#entry").val(2);
    maxNum = $("#ent2_max").val();
    changeListTitle(2);
    document.getElementById('entry1-message').style.display = "none";
    document.getElementById('entry2-message').style.display = "";
}

//moveというIDのdivをアニメーションさせる準備
function prepareAnimation(id){
    var X = $("#" + id).offset().left;
    var Y = $("#" + id).offset().top;
    var W = $("#" + id).width();
    var H = $("#" + id).height();
    $("#move").css("left",X);
    $("#move").css("top",Y);
    $("#move").css("width",W);
    $("#move").css("height",H);
    $("#move").addClass("td_base_normal");
    $("#move").show();

    $("#move").html($("#" + id).html());
    $("#move").css("background-color","pink");
    $("#move").css("z-index", 9999);
    $("#move").css("border", "1px solid #C1C1C1");
}


//アニメーションの終着点座標の計算
function getCartPos(){
	var cart_pos_x = new Number($("#cart").offset().left);
    var cart_pos_y = getFixedBoxPos().y;
    return {x:cart_pos_x, y:cart_pos_y};
}


//アニメーションの終着点座標の計算
function getPos(){
    var cart_pos_y = new Number($("#cart").offset().top);
    cart_pos_y += currentNum * 23;
    return cart_pos_y;
}


//divをアニメーションさせる
function animateBox(td_id) {

    var fromX = new Number($("#" + td_id).offset().left);
    var fromY = new Number($("#" + td_id).offset().top);
    var toX = new Number(getCartPos().x);
    var toY = new Number(getCartPos().y + currentNum * 23 + 60);
    var toConX = fromX + ((toX - fromX) / 2);
    var toConY = toY;
    var attributes = {
        points: { to: [toX, toY], control: [ [toConX ,toConY ] ] },
        opacity : { from:1,to:0.2 }
    };
    var list_id = "list" + currentNum;
    var anim;
    var currentNumTemp = currentNum;

    prepareAnimation(td_id);

    anim = new YAHOO.util.Motion('move', attributes, 0.7, YAHOO.util.Easing.easeIn);
    anim.animate();

    $("#move").show();
    $("#move").css("opacity", 1);

    //YUIのアニメーション完了コールバック関数を使うとメモリリークが発生する可能性がある為、タイマーを使っている
    $(document).oneTime(700, "animeTimer", function(){
    	$("#move").hide();

    	//右にがくっと動くアニメ
        $("#" + list_id).css("position","relative")
                         .animate({left: 20},200)
                         .animate({left: 0},200);

    	//ポップアップを表示、枚数選択のddをフェードイン処理　animateのコールバック関数が2回呼ばれてしまう可能性がある為、タイマーを使っている
        $(document).oneTime(400, "animeTimer", function(){
        	var x = $("#dd" + (currentNumTemp)).offset().left;
           	//IEとFFでoffsetで取得できる値が違う為、#cart.topを引いている
        	var y = getFixedBoxPos().y + ($("#dd" + (currentNumTemp)).offset().top - $("#cart").offset().top) + $("#dd" + (currentNumTemp)).height() / 2;

            //ポップアップを表示する
           	showSelectPopUp($("#JS00084").html(), x, y, 2000, 1);
            $("#dd" + (currentNumTemp)).css("opacity",0).fadeTo("slow", 1);
            $("#dd" + (currentNumTemp)).css("zoom", 1); //IEで透明になってしまうバグ

            //フローティングボックスの高さが変わるので位置を変更する。
            followEventVectorDown();

            //アニメーション中にセレクトボックスのchangeイベントが呼ばれないことがあるのでここでボタン制御する
            buyButtonControl();

        });
    });

}

//セレクトボックスの値チェック OK:true,NG:false
function checkSelectBoxVal(dd){
    var sum = new Number(0);
    var span = dd.find("span");
    var selectMax = new Number(span.html().match(/[0-9]+/));
    dd.find("select").each(function(){
        sum += new Number($(this).val());
    });
    if(sum > selectMax){
    	return false;
    }
    return true;
}

//spanを点滅させる(改変済
function setBlinking(targetObj, repeat) {
	$(document).everyTime(150, "jTimer", function(){
		if (targetObj.css("visibility") != "hidden") {
			targetObj.css("visibility","hidden");
		} else {
			targetObj.css("visibility","");
		}

	},repeat * 2);
}

//選ばれたtdをマーク
function markCell(id){
	$("#" + id).css("background-color","pink")
			   .addClass("checked");
}

//tdの現在マークを削除
function removeMarkCell(id){
	$("#" + id).css("background-color","")
			   .removeClass("checked");
}

//申し込みボタン制御
function buyButtonControl(){
	$("#cart_button_on").show();
	$("#cart_button_off").hide();
	$("#cart_button").css("cursor", "pointer");
	if(currentNum < 1){
		$("#cart_button_on").hide();
		$("#cart_button_off").hide();
		$("#cart_button").css("cursor", "default");
	}
	else{
		//枚数選択チェック
		$("dd:has(select)").each(function(){
	        var sel = $(this).find("select option:selected").text();
	        if(sel.match(/[0-9]/g) == null){
	        	$("#cart_button_on").hide();
	        	$("#cart_button_off").show();
	        	$("#cart_button").css("cursor", "default");
	            return false;
	        }
		});
		//枚数オーバーチェック
		$("dd:has(select)").each(function(){
			if (!checkSelectBoxVal($(this))){
				$("#cart_button_on").hide();
				$("#cart_button_off").show();
				$("#cart_button").css("cursor", "default");
				return false;
			}
		});
	}
}

//valueの値がNullまたはundefinedだった場合空白に置き換える
function nullToBrank() {
    $("input[value='']").val("");
}


function setTrushEvent() {
	//既にあるイベントハンドラを削除する
	$('a.reset').unbind();

	//選びなおすボタンに削除イベントを追加
	$('a.reset').click(function(){
		deleteCart(this.id);
		return false;
	});

	$('a.reset').mousedown(function(e){
		mouseX = e.pageX;
		mouseY = e.pageY;
	});

	//第○希望のホバー時に三角形の透過率を変える
	$('a.reset').hover(
			  function () {
				  $(this).closest(".lot_cart_title").find("strong").css("opacity", 1.0);
				  return false;
			  },
			  function () {
				  $(this).closest(".lot_cart_title").find("strong").css("opacity", 0.9);
				  return false;
			  }
	);
}

function setToggleHoverEvent() {

	//既にあるイベントハンドラを削除する
	$('div.lot_cart_title').unbind('hover');
	$('div.lot_cart_title').hover(
			  function () {
				  		$(this).find("strong").css("opacity", 0.9);
				  },
				  function () {
					  	$(this).find("strong").css("opacity", 1.0);
				  }
	);
}

if(onlyMtd == 0){
    //変更イベントの追加
    $('div.chg_entry').css("cursor","pointer")
                      .click(function(){changeEntry(this.id);});
    if(entryType == 1){
        changeEntryTo1();
        $("#lot_tab1").show();
    }
    else if(entryType == 2){
        changeEntryTo2();
        $("#lot_tab2").show();
    }
}
else if(onlyMtd == 1){
    if(entryType == 1){
        changeEntryTo1();
        $("#lot_tab3").show();
    }
    else if(entryType == 2){
        changeEntryTo2();
        $("#lot_tab4").show();
    }
};

//ポップアップを表示する関数
function showSelectPopUp(text, x, y, time, position) {
	var target = $("body");
	var fukidasiMigiSankaku;

	if (fukidasiSelect == null) {
		target.append("<div class=\"fukidasi_position_select\"  style=\"position:relative;z-index:10000;\"><div class=\"fukidasi_wrap_select\" style=\"position:absolute;\"><div class=\"small_popup_body\" style=\"float:left;\"><p>" + text + "</p></div><div class=\"fukidasi_sankaku_migi\"></div></div></div>");
		fukidasiSelect =  target.find(".fukidasi_wrap_select");
	}

	//非表示
	fukidasiSelect.hide();

	//既存のタイマーを止める
	fukidasiSelect.stopTime("selectPopUpTimer");

	//アニメーションを停止する
	fukidasiSelect.stop()

	fukidasiMigiSankaku = fukidasiSelect.find(".fukidasi_sankaku_migi");

	fukidasiSelect.css("top", (y - $("body").height() - fukidasiSelect.outerHeight() /2) + "px");
	fukidasiSelect.css("left",(x - fukidasiSelect.width()) +  "px");
	//噴出し用の三角形の位置を調節
	fukidasiMigiSankaku.css("top",((fukidasiSelect.outerHeight() - fukidasiMigiSankaku.outerHeight())/ 2) + "px");

	// 表示する
	fukidasiSelect.show();
	fukidasiSelect.css("opacity",1);

	try {
		// time後に閉じる
		fukidasiSelect.oneTime(time, "selectPopUpTimer", function(){

			// フェードアウト
			try {fukidasiSelect.fadeTo("fast", 0, function() {
				fukidasiSelect.hide();
			})} catch(e) {};
		});
	} catch(e) {};

}

//ポップアップを表示する関数
function showDeletePopUpPos(text, x, y, time, position) {
	var target = $("body");
	var fukidasiHeight

	if (fukidasiDelete == null) {
		target.append("<div class=\"fukidasi_position_delete\"  style=\"position:relative;z-index:10000;\"><div class=\"fukidasi_wrap_delete\" style=\"position:absolute;\"><div class=\"small_popup_body\" style=\"float:left;\"><p>" + text + "</p></div><div class=\"fukidasi_sankaku_migi\"></div></div></div>");
		fukidasiDelete =  target.find(".fukidasi_wrap_delete");
	}

	//非表示
	fukidasiDelete.hide();

	//既存のタイマーを止める
	fukidasiDelete.stopTime("deletePopUpTimer");

	//アニメーションを停止する
	fukidasiDelete.stop();

	//position == 0 の時は未実装
	fukidasiHeight = fukidasiDelete.outerHeight();
	fukidasiHeight = 29;

	fukidasiDelete.css("top", (y - $("body").height() - fukidasiHeight) + "px");
	fukidasiDelete.css("left",(x - fukidasiDelete.width()) +  "px");
	fukidasiMigiSankaku = fukidasiDelete.find(".fukidasi_sankaku_migi");
	//噴出し用の三角形の位置を調節
	fukidasiMigiSankaku.css("top",((fukidasiHeight - fukidasiMigiSankaku.outerHeight())/ 2) + "px");

	//表示する
	fukidasiDelete.show();
	fukidasiDelete.css("opacity",1);

	try {
		// time後に閉じる
		fukidasiDelete.oneTime(time, "deletePopUpTimer", function(){
			// フェードアウト
			try {fukidasiDelete.animate({top: "-=20px", opacity: 0},500, function(){
					fukidasiDelete.hide();
			})} catch(e) {};
		});
	} catch(e) {};
}

//スクロールした時の吹き出しの処理
$(window).scroll(function(){

	//遅延タイマークリア
	if (delayTimerId) {
		clearTimeout(delayTimerId)
	}

	delayTimerId = setTimeout(function() {
       	//IEとFFでoffsetで取得できる値が違う為、#cart.topを引いている
    	var y;
    	var y2;
    	var modernBrowser;

		if (fukidasiSelect != null && fukidasiSelect.css("display") != "none" && fukidasiSelect.css("opacity") != 0) {
			modernBrowser = typeof document.body.style.maxHeight != "undefined";
			y = getFixedBoxPos().y + ($("#dd" + (currentNum - 1)).offset().top - $("#cart").offset().top) + $("#dd" + (currentNum - 1)).height() / 2;
			y2 = (y - $("body").height() - fukidasiSelect.outerHeight() /2);
			try {fukidasiSelect.animate({top: y2 + "px"},100)} catch(e) {};

			//IE6の時は消す
			if(!modernBrowser) {
			    //吹き出しを非表示にする
			    if (fukidasiSelect != null) {
			    	fukidasiSelect.hide();
			    }
			}
		}
	}, delayTime);
});


biggerlink2 = function(target, hoverClass) {
	$(target).hover(
	  function () {
			if ( $(target).css("display") != "none") {
	    	$(target).addClass(hoverClass);
			}
	  },
	  function () {
			if ( $(target).css("display") != "none") {
	    	$(target).removeClass(hoverClass);
			}
	  }
	);
}

});

