/*
  Javascript
  Copyright SEGA.
 */
var host=location.host;
var site_url;
var cookie_domain = '';
var cookie_path = '';
if (host.match("enbujyo.3594t.com$")) {
    site_url = '';
    cookie_domain = "domain=.enbujyo.3594t.com;";
    cookie_path = 'path=/;';
}else{
    var tmp=location.pathname;
    site_url=tmp.match(/^\/[^\/]+/)  ;
    cookie_path = "path=" + site_url + '/;';
}
var host_name= 'http://'+host;
site_url = host_name + site_url + '/';
var site_members_url = site_url+'members/';


var account;
var cardid = null;

function st_body_onload() {
}
/* -----------------------------------------------------
	デバッグ用
   ----------------------------------------------------- */
function jquery_dump(target) {
    var dumphtml = [];
    if ($.browser.msie) {
	for(var i = 0; i < target.length; i++) {
	    dumphtml.push('[' + i + '] ');
	    dumphtml.push(target[i].outerHTML.replace(/^[\r\n\t]+/, ''));
	    dumphtml.push("\n");
	}
    }
    else {
	for(var i = 0; i < target.length; i++) {
	    dumphtml.push('[' + i + '] ' + '<' + target[i].nodeName.toLowerCase());
	    for(var j = 0; j < target[i].attributes.length; j++) {
		dumphtml.push(' ' + target[i].attributes[j].nodeName + '="' 
			      + target[i].attributes[j].nodeValue + '"');
	    }
	    dumphtml.push('>' + target[i].innerHTML);
	    dumphtml.push('<\/' + target[i].nodeName.toLowerCase() + '>');
	    dumphtml.push("\n");
	}
    }
    alert(dumphtml.join(''));
}
/* -----------------------------------------------------
	チームボックス
   ----------------------------------------------------- */
function openDialog(url, unique_id) {
    var url = site_members_url + 'movie/view2.html?unique_id=' + unique_id;
    window.open(url, 'playview', 'width=800,height=800,location=1');
}
/* -----------------------------------------------------
	Cookie
   ----------------------------------------------------- */
function getCookie (name) {
    var prefix = name + '=';
    var c = document.cookie;
    var nullstring = '';
    var cookieStartIndex = c.indexOf(prefix);
    if (cookieStartIndex == -1)
	return nullstring;
    var cookieEndIndex = c.indexOf(";", cookieStartIndex + prefix.length);
    if (cookieEndIndex == -1)
	cookieEndIndex = c.length;
    return decodeURIComponent(c.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}
function st_download_start(id) {
    var request =  site_members_url + 'download.cgi?id=' + id;
    // $.load(request);
}
function st_change_style_sheet() {
    var session_id;
    var str;
    session_id = getCookie("session_id");
    if (session_id == '') {
	$("#st_form_login").css("display","block");
	$("#st_form_logout").css("display","block");
	$("#st_block_cardinfo").css("display","none");
	$("#st_block_members_menu").css("display","none");
    }
    else {
	$("#st_form_login").css("display","none");
	$("#st_form_logout").css("display","block");
	$("#st_block_cardinfo").css("display","block");
	$("#st_block_members_menu").css("display","block");
    }
}
function st_ui_lock_reload() {
    $(".st_reserve_menu_lock_l > a").each(
	function() {
	    var target = $(this).parent();
	    var words= $(target).attr('id').split('_');
	    var flag = words[0];
	    var date = words[1];
	    $(this).css("background-image","url("+site_url + "img/ui/btn_lock_l.gif)");
	    if (flag == 0) {
		$(this).css("background-position","0px 0px");
	    }
	    else {
		$(this).css("background-position","0px -66px");
	    }
	    $(this).mousedown(
	        function() {
		    if (flag == 0) {
			$(this).css("background-position","0px -44px");
		    } else {
			$(this).css("background-position","0px -110px");
		    }
		}
	    );
	    $(this).hover(
	        function() {
		    if (flag == 0) {
			$(this).css("background-position","0px -22px");
		    } else {
			$(this).css("background-position","0px -88px");
		    }
		},
	        function() {
		    if (flag == 0) {
			$(this).css("background-position","0px 0px");
		    } else {
			$(this).css("background-position","0px -66px");
		    }
		}
	    );
	}
    );
}
function st_ui_image_button(target){
    $(target).hover(
	function() {
	    $(target).css("background-position","0px -26px");
	},
	function() {
	    $(target).css("background-position","0px 0px");
	}
    );
}
function st_ui_navigation_slideDown () {
    $("#st-navigation-sub").slideDown();
    $("#st-navigation-sub").addClass("#st-navigation-main");
}
function st_ui_navigation_slideUp () {
    $("#st-navigation-sub").slideUp("fast");
    $("#st-navigation-sub").removeClass("#st-navigation-main");
}
function st_ui_navigation_display () {
    // $("#st-navigation-topix-sub").css("display","block");
}
function st_ui_lock_mouseover (target) {
    var words= $(target).text().split('_');
    var flag = words[0];
    var date = words[1];
    if (flag == 0) {
	$(target).css("background-position","-174px -0px");
    }
}
function st_ui_lock_toggle (target) {
    target = $(target).parent();
    var words= $(target).attr('id').split('_');
    var flag = words[0];
    var date = words[1];
    var request =  site_url +  'action.cgi?action=reserve_lock';
    if (flag == 0) {
	var msg = "予約ロック設定中....";
	$("#st_reserve_list_status").text(msg);
	request = request + '&date=' + date + '&status=1&rand='+Math.random();

	$.get(request,{}, function (html) {
		if (html == 'MAX') {
		    msg = "予約ロックは５つまでです";
		    $("#st_reserve_list_status").text(msg);
		}else if  (html == 'SUCCESSED') {
		    var value = "1_" + date;
		    msg = "予約をロックしました";
		    $("#st_reserve_list_status").text(msg);
		    $(target).attr('id', value);
		    st_ui_lock_reload();
		}else{
		    msg = "予約ロックに失敗しました。時間を置いてやり直してください。";
		    $("#st_reserve_list_status").text(msg);
		}
	});
    }
    else {
	var msg = "予約ロック解除中....";
	request = request + '&date=' + date + '&status=0&rand='+Math.random();
	$("#st_reserve_list_status").text(msg);
	$.get(request,{} ,function (html) {
	    if (html == 'SUCCESSED') {
		var value = "0_" + date;
		msg = "予約ロックを解除しました";
		$("#st_reserve_list_status").text(msg);
		$(target).attr('id', value);
		st_ui_lock_reload();
	    }else{
		msg = "予約ロック解除に失敗しました。時間を置いてやり直してください。";
		$("#st_reserve_list_status").text(msg);
	    }
	});
    }
}

/*
  メールアドレスの内容チェック
*/
var errmsg_checkmailaddr_error = "アカウントで使用可能な文字以外が入力されています";
var errmsg_checkmailaddr_error_2 = "全角文字列が使われています";
function st_loginmenu_checkmailaddr(target)
{
    var mailaddr = $(target).val();
    var regexp_mailaddr = /^[!#-9A-~]+@+[a-z0-9]+.+[^.]$/i;
    if (mailaddr.match(regexp_mailaddr)) {
    } else {
	// alert(errmsg_checkmailaddr_error);
	return false;
    }

    for (i=0;i<mailaddr.length;i++){
	code = mailaddr.charCodeAt(i);
	if (255<=code) {
	    //alert(errmsg_checkmailaddr_error_2);
	    return false;
	}
    }
    return true;
}

/*
  パスワードの内容チェック
*/
var errmsg_checkpasswd_error = "パスワードは半角英数字のみを使用してください";
function st_loginmenu_checkpasswd(target)
{
    var passwd = $(target).val();
    var regexp_passwd = /^[a-zA-Z0-9]+$/i;
    if (passwd.match(regexp_passwd)) {
	return true;
    } else {
	    //alert(errmsg_checkpasswd_error);
	return false;
    }
}

/* -----------------------------------------------------
   会員名
   ----------------------------------------------------- */
function checkNameDuplicate(target, flag) {
    var url_check_cgi = site_members_url + 'check.cgi';
    var i = $(target).parent().find('input[@type=text]');
    var name = i.val();
    name = $('#st_form_regist_name_text').val();
    var text = null;
    if (name != '') {
	$('#st_form_regist_name_info').text("チェック中...");
	$.post(url_check_cgi,
	       {
		   name : name,
		   flag : flag
	       },
	       function(text) {
		   var message = '';
		   if (text == '0') {
		       if(flag == 0){
			   message = '入力された会員名は登録可能です。';
			   $('#st_form_regist_name_submit').css("display","inline");
		       }
		       else if(flag == 1){
		    	   message = '会員名の登録が完了しました。次のページに進み登録を完了してください';
			   $('#st_form_regist_name_next_link').css("display","block");
		       }
		       else if(flag == 2){
		    	   message = '会員名の変更が完了しました。';		   	
			   $('#st_form_regist_name_submit').css("display","inline");
		       }
		   }
		   else if (text == '-1') {
		       message = 'ただいまアクセスが集中しております｡しばらくしてから再度アクセスしてください｡';
		   }
		   else if (text == '-2') {
		       message = '入力できる文字数は全角6文字までです｡';
		   }
		   else if (text == '-3') {
		       message = 'ご入力の文字列には使用できない文字が含まれています｡';
		   }
		   else if (text == '-4') {
		       message = 'この会員名は使用できません｡別の会員名を入力してください｡';
		   }
		   else if (text == '-5') {
		       message = '入力した会員名はすでに同じ名前があるので使えません｡別の会員名を入力してください｡';
		   }
		   else if (text == '-6') {
		       message = 'ただいまアクセスが集中しております｡しばらくしてから再度アクセスしてください｡';
		   }
		   else if (text == '-7') {
		       message = 'ただいまアクセスが集中しております｡しばらくしてから再度アクセスしてください｡';
		   }
		   else if (text == '-8') {
		       document.location =  site_url + "timeout.html"; 
		       return;
		   }
		   else if (text == '-9') {
		       document.location =  site_url + "database_error.html"; 
		       return;
		   }
		   $('#st_form_regist_name_info').text(message);
	       }
	      );
    }
}
/* -----------------------------------------------------
   コメント
   ----------------------------------------------------- */
/* -----------------------------------------------------
   君主カード情報を取得する
   ----------------------------------------------------- */
function st_get_cardinfo () {
    var session_id = getCookie("session_id");
    var flag_link = session_id.charAt(0);
    var flag_out_of_date = session_id.charAt(1);
    if (session_id == '') {
	$("#st_login").show();
	$("#st_header_account").hide();
	$("#st_block_members_menu").hide();
	return;
    }

    if (flag_link === '0') {
	$("#st_linkup").show();
    }
    else {
	$("#st_cardinfo").show();
    }
    $("#st_header_account").hide();
    $("#st_header_logout").show();
    
    var url = site_members_url + 'deck.cgi';
    var r = Math.random();
    $.post(url,
	   {
	       mode : 'cardinfo',
	       r : r 
	   },
	   function(xml) {
	       var error_status = $(xml).find('error_status').text();
	       if(error_status == 'DATABASE_ERROR' ){
		   document.location =  site_url + "database_error.html"; 
		   return;
	       }else if ( error_status == 'SESSION_ERROR' || error_status == 'SESSION_TIMEOUT') {
		   // document.location =  site_url + "timeout.html"; 
		   // return;
	       }
	       cardinfo = true;
	       var account = $(xml).find('account').text();
	       var course = $(xml).find('course').text();
	       var name = $(xml).find('name').text();
	       name = decodeURI(name);
	       var name_image = $(xml).find('name_image').text();
	       if (name_image != null) {
		   if (name_image != '') {
		       var name_image = '<img src="' + name_image + '" />';
		       $("#st_cardinfo_name_image").html(name_image);
		   }
	       }
	       $("#st_cardinfo_name").text(name);
	       $("#st_header_account").show();
	       $("#st_header_account_account").html(account);
	       $("#st_header_account_course").html(course);
	       var grade = $(xml).find('grade').text();
	       var brave = $(xml).find('brave').text();
	       var win = $(xml).find('win').text();
	       var lose = $(xml).find('lose').text();
	       var draw = $(xml).find('draw').text();
	       var line = grade + "<br />" + brave + "<br />" + "総合成績:" + "<br />" + win + "勝" + lose + "敗" + draw + "分<br />\n";
	       $(".st_monarcinfo_line_data").html(line);

	       if (
		   (account == 'pci008@3594t.net')
		   ) {

		   $(".individual_news_title").text('重要なお知らせ：［利用料金］に関するお知らせについて(2011年10月5日更新)');
		   var mes = "";
                   mes += "<b><font color=\"blue\">橋蔵様へ<br>";
                   mes += "この度、システムトラブルにより、 橋蔵様のご利用料金請求と、ご利用のサービスに差異が発生している事が判明致しました。<br>";
                   mes += "ご迷惑をお掛けいたしまして誠に申し訳ございません。<br>";
                   mes += "至急、本件担当者より事情説明と今後のご対応についてご連絡させていただきたい次第です。<br>";
                   mes += "つきましては、誠にお手数でございますが、セガAMユーザーサポート宛に<a href=\"mailto:AMusersupport@soj.sega.co.jp?subject=大戦.NETの利用料金の件&body=◆お客様番号:192251%0D%0A◆会員名:橋蔵\">メール</a>をご送信いただけますでしょうか。<br>";
                   mes += "橋蔵様よりメールを受信次第、担当者よりお返事させていただきます。<br>";
                   mes += "何卒、よろしくお願い申し上げます。</font></b>";
		   $(".individual_news_message").html(mes);
		   $(".individual_news").show();
		}

	   }
	  );
}


/* -----------------------------------------------------
   リンクボタン
   ----------------------------------------------------- */
function st_link_buttons() {
    $(".st_link_buttons a").hover(
	function() {
	    $(this).css("background-position","0px -22px");
	},
	function() {
	    $(this).css("background-position","0px 0px");
	}
    );
    $(".st_link_buttons a").click(
	function() {
	    $(this).css("background-position","0px -44px");
	}
    );
}
/* -----------------------------------------------------
   ヘッダメニュー
   ----------------------------------------------------- */
function st_header_menu() {
    $("#st_header_navigation a").hover(
	function() {
	    $(this).css("background-position","0px -48px");
	},
	function() {
	    $(this).css("background-position","0px 0px");
	}
    );
    $("#st_header_navigation a").click(
	function() {
	    $(this).css("background-position","0px -24px");
	}
    );
}
/* -----------------------------------------------------
   サイドメニュー
   ----------------------------------------------------- */
function st_side_menu() {
    $(".st_members_menu_list a").hover(
	function() {
	    $(this).css("background-position","0px -28px");
	},
	function() {
	    $(this).css("background-position","0px 0px");
	}
    );
    $(".st_members_menu_list a").click(
	function() {
	    $(this).css("background-position","0px -56px");
	}
    );
}
/* -----------------------------------------------------
   予約メニュ
   ----------------------------------------------------- */
function st_reserve_menu() {
    $(".st_reserve_menu").hover(
	function() {
	    $(this).css("background-position","0px -22px");
	},
	function() {
	    $(this).css("background-position","0px 0px");
	}
    );
    $(".st_reserve_menu").click(
	function() {
	    $(this).css("background-position","0px -44px");
	}
    );
    $(".st_reserve_menu2").hover(
	function() {
	    $(this).css("background-position","0px -22px");
	},
	function() {
	    $(this).css("background-position","0px 0px");
	}
    );
    $(".st_reserve_menu2").click(
	function() {
	    $(this).css("background-position","0px -44px");
	}
    );
}


function st_playview_link(target) {
    var link = $(target).attr("href");
    if (link) {
	window.open(link, 'play_view_history', 'width=800,height=750,menubar=no,scrollbars=yes,resizable=yes');
    }
}


var	numClickOrder2 = 0;
var	flg_formsubmit = false;
var	flg_forminput = false;
function st_antirepeat2()
{
    $("a").bind('click',function() {
	if (numClickOrder2 > 0) {
	    /*$(".asset-body").append("a lock <br />");*/
	    return false;
	}
	if($(this).attr("href") != undefined){
	    if(!( $(this).attr("href").match(/.*\.html#.*/) || $(this).attr("href").match(/^#.*/) )){
		numClickOrder2++;
		setTimeout("st_cancel_lockedbutton()", 5000);
	    }
	}
	return true;
    });

    $("input[type=button]").bind('click', function() {
	if (flg_forminput == true){
	    /*$(".asset-body").append("button lock <br />");*/
	    return false;	
	}
	flg_forminput = true;
	setTimeout("st_cancel_lockedbutton()", 5000);
	return true;
    }); 

    $("form").bind("submit", function () {
	var buttons = $( this ).find(":submit");
	buttons.attr("disabled", true);
	//setTimeout(function () { buttons.attr("disabled", false); }, 5000); 
    }).find(":submit").attr("disabled", false);
}
var h_timer;
function st_timer_init() {
    h_timer = setInterval(st_cancel_lockedbutton, 30000);
}
function st_cancel_lockedbutton()
{
    numClickOrder = 0;
    numClickOrder2 = 0;
    flg_formsubmit = false;
    flg_forminput = false;
}


/* -----------------------------------------------------
	document.ready()
	OnLoadイベントより前に実行される
   ----------------------------------------------------- */
$(document).ready(
    function() {
	if(location.pathname.match(/.*timeout\.html/) 
	|| location.pathname.match(/.*timeout_s\.html/)
	|| location.pathname.match(/.*database-error\.html/)
	|| location.pathname.match(/.*database_error\.html/)
	|| location.pathname.match(/.*database_error_s\.html/)
	){
            document.cookie = "session_id=;"+ "expires=Fri, 31-Dec-1999 23:59:59 GMT;";
            document.cookie = "session_id=;"+ cookie_domain + cookie_path + "expires=Fri, 31-Dec-1999 23:59:59 GMT;";
	}
	st_timer_init();
	// st_get_month();
	// st_battlehistory_get_month();
	// st_team_messages_get();

	$(".individual_news").hide();

	// alert("DOMContentLoaded"); //1番目に呼ばれる
	st_ui_lock_reload();
	st_link_buttons();
	st_header_menu();
	st_side_menu();
	st_reserve_menu();
	st_get_cardinfo();
	// st_antirepeat();
	st_antirepeat2();
	// st_ui_display_login();
	var out_of_date = getCookie("out_of_date");
	if (out_of_date == null) {
	    $(".st_block_out_of_date").hide();
	}
	else {
	    $(".st_block_out_of_date").show();
	    $(".st_out_of_date").html(out_of_date);
	}
	$(".st-ui-image-button").each(
	    function() {
		$(this).mouseover(
		    function() {
			$(this).css("background-position","0px -27px");
		    }
		);
	    }
	);
	$(".st-ui-image-button").each(
	    function() {
		$(this).mouseout(
		    function() {
			$(this).css("background-position","0px 0px");
		    }
		);
	    }
	);
	$(".st-ui-image-button").each(
	    function() {
		$(this).mousedown(
		    function() {
			$(this).css("background-position","0px -54px");
		    }
		);
	    }
	);
	$(".st-ui-image-button").each(
	    function() {
		$(this).mouseup(
		    function() {
			$(this).css("background-position","0px -27px");
		    }
		);
	    }
	);
	$(".st-play-view-deck-card-images").each(
	    function() {
		$(this).hover(
		    function() {
			$(this).css("z-index","2");
		    },
		    function() {
			$(this).css("z-index","0");
		    }
		);
	    }
	);
	$(".st_reserve_menu_lock_l > a").each(
	    function() {
		$(this).click(
		    function() {
			st_ui_lock_toggle(this);
		    }
		);
	    }
	);
	$('input[type=text]').focus(
	    function() {
		$(this).css("background-color","#ffccff");
	    }
	);
	$('input[type=text]').blur(
	    function() {
		$(this).css("background-color","#eeeeee");
	    }
	);
	$(".st_playview_link").click(
	    function () {
		st_playview_link(this);
		return false;
	    }
	);

	$(".st_login_middle").keydown(function(key) {
	    if (key.keyCode == 13) {
		//$(this).find("input[@name='ログイン']").trigger('click');
	    }
	}
	);

	$(".st-ui-image-button").each(
	    function() {
		$(this).mouseover(
		    function() {
			$(this).css("background-position","0px -27px");
		    }
		);
	    }
	);
    }
);
st_change_style_sheet();

function st_login_check() {
	if(st_loginmenu_checkmailaddr($(".st_login_middle").find("input[@name='mail']"))==1){
		if(st_loginmenu_checkpasswd($(".st_login_middle").find("input[@name='password']"))==1){
			return true;
		}
		alert(errmsg_checkpasswd_error);
		return false;
	}
	alert(errmsg_checkmailaddr_error);
	return false;
}
function st_check_status(status){
	if(status == 'DATABASE_ERROR' ){
	    document.location =  site_url + "database-error.html"; 
	}else if ( status == 'SESSION_ERROR' || status == 'SESSION_TIMEOUT') {
	    document.location =  site_url + "timeout.html"; 
	}
	return;
}


// window.onload = st_body_onload();

/*
// $("#3594t_form_login").css('visibility','hidden');
// $("#3594t_login_name").load("members/cardinfo.html");
// $("#3594t_form_login").hide();
// $("#st_form_login").show();
 */


