﻿
var v_FORM_NAME_BOARD_SEARCH		= 'frmBoardSearch';

var v_L_BOX_BOARD_COMMENT_LIST			= 'L_BOX_BOARD_COMMENT_LIST';
var v_L_ERROR_BOX_BOARD_SEARCH_FORM		= 'L_ERROR_BOX_BOARD_SEARCH_FORM';

//쓰기에러
var v_ERROR_MSG_WRITE_001		= 'タイトルを入力ください。';
var v_ERROR_MSG_WRITE_002		= '内容を入力ください。';
var v_ERROR_MSG_WRITE_003		= '項目を選択してください。';
var v_ERROR_MSG_WRITE_004		= 'コメントは、全角250文字または、半角500文字まで入力可能です。';

var v_ERROR_MSG_SEARCH_001		= '<div class="resultArea">検索するキーワードを入力してください。</div>';

//URL 선언
var v_URL_BOARD_WRITE			= '/Community/Tacticsboard/Board_Write.asp';
var v_URL_BOARD_PROC    		= '/Community/Tacticsboard/Board_Proc.asp';
var v_URL_BOARD_LIST    		= '/Community/Tacticsboard/Board_List.asp';
var v_URL_BOARD_VIEW    		= '/Community/Tacticsboard/Board_View.asp';
var v_URL_BOARD_COMMENT_LIST    = '/Community/Tacticsboard/_ajax_Comment_List.asp';
var v_URL_BOARD_COMMENT_PROC 	= '/Community/Tacticsboard/_ajax_Comment_Proc.asp';

var v_URL_BOARD_RECOMMEND_PROC 	= '/Community/Recommend/__Proc.asp';

var v_ERROR_MSG_COMMENT_WRITE_001		= 'コメントの内容を入力ください。';
var v_ERROR_MSG_RECOMMEND_WRITE	        = '推薦点数を選択してください。';

var v_ERROR_MSG_SYSTEM_WRITE			= '処理中にエラーが発生しました。';
var v_ERROR_MSG_SYSTEM_COMMENT_WRITE	= '処理中にエラーが発生しました。';
var v_ERROR_MSG_SYSTEM_COMMENT_DELETE	= '処理中にエラーが発生しました。';

var v_ALERT_MSG_BOARD_DELETE	= '削除しますか？';

var v_L_INPUT_DATA_MAXLENGTH_COMMENT		= 500;

var v_IS_WRITING_MODE	= false;

var MapControls = {
	WriteBoardValidate : function(v_ObjForm) {		//clear
		var v_Err_Obj;
		var v_Err_Msg;
		if (v_IS_WRITING_MODE){
			return false;
		}
		v_IS_WRITING_MODE	= true;
		if (v_ObjForm){
			with(v_ObjForm){
				if(v_ObjForm.proc_cd.value == 'I' || v_ObjForm.proc_cd.value == 'E'){ //삭제할 경우 지워지지 않음 D
					if(fnTextTrim(v_ObjForm.write_content.value).length == 0){
						v_Err_Obj = v_ObjForm.write_content;
						v_Err_Msg = v_ERROR_MSG_WRITE_002;
					}
					/*if (!camp_cd.value) {
						v_Err_Obj = v_ObjForm.camp_cd;
						v_Err_Msg = v_ERROR_MSG_WRITE_003;
					}*/
					if (!v_ObjForm.mode_cd) {
						v_Err_Obj = v_ObjForm.map_cd;
						v_Err_Msg = v_ERROR_MSG_WRITE_003;
					}else{
						var modeChecked = false
						if (!v_ObjForm.mode_cd.type) {
							for (var i=0; i<v_ObjForm.mode_cd.length; i++)
								if (v_ObjForm.mode_cd[i].checked) modeChecked=true;
						}else{
							modeChecked = v_ObjForm.mode_cd.checked;
						}
						if (!modeChecked) {
							v_Err_Obj = (!v_ObjForm.mode_cd.type) ? v_ObjForm.mode_cd[0] : v_ObjForm.mode_cd;
							v_Err_Msg = v_ERROR_MSG_WRITE_003;
						}
					}
					if (!map_cd.value) {
						v_Err_Obj = v_ObjForm.map_cd;
						v_Err_Msg = v_ERROR_MSG_WRITE_003;
					}
					if(fnTextTrim(v_ObjForm.write_title.value).length == 0){
						v_Err_Obj = v_ObjForm.write_title;
						v_Err_Msg = v_ERROR_MSG_WRITE_001;
					}
					if(v_Err_Obj){
						fnErrorMag(v_Err_Obj,	v_Err_Msg);
						v_IS_WRITING_MODE	= false;
						return;
					}
				}
				//var v_url	= v_URL_BOARD_PROC;
				//CallxmlRequest(v_url, 'CALLFUNCTION', PROCESS_LAYER_COMMON, v_ObjForm);
				var mapEditor = document.getElementById("ID_FLASH_TEKKI_TACTICS");
				if ((mapEditor) && (mapEditor.uploadThumbnail)) mapEditor.uploadThumbnail();
			}
		}else{
			alert(v_ERROR_MSG_SYSTEM_BOARD);
		}
	},
	CallBackValidateWrite : function(v_result){		//clear
		var v_result		= parseInt(v_result);
		if(v_result == 0){
			document.location.href = v_URL_BOARD_LIST;
		}
		else{
			alert(v_ERROR_MSG_SYSTEM_WRITE + v_result);
			v_IS_WRITING_MODE	= false;
		}
	},
	DeleteBoardValidate : function(v_BoardCode, v_Page, v_SearchColumn, v_SearchWord, v_WriteNo, v_OrderByColumn){
		if(confirm(v_ALERT_MSG_BOARD_DELETE)){
			var v_create_form_name	= 'frmBoardDelete';
			var v_create_element	= ''
			v_create_element	+= '<form name="' + v_create_form_name + '" method="post">';
			v_create_element	+= '<input type="hidden" name="board_cd"		value="' + v_BoardCode + '">';
			v_create_element	+= '<input type="hidden" name="Page"			value="' + v_Page + '">';
			v_create_element	+= '<input type="hidden" name="search_column"	value="' + v_SearchColumn + '">';
			v_create_element	+= '<input type="hidden" name="search_word"		value="' + v_SearchWord + '">';
			v_create_element	+= '<input type="hidden" name="orderby_column"	value="' + v_OrderByColumn + '">';
			v_create_element	+= '<input type="hidden" name="write_no"		value="' + v_WriteNo + '">';
			v_create_element	+= '<input type="hidden" name="proc_cd"			value="D">';
			v_create_element	+= '</form>';
			var v_isCreated	= CommonControls.AddCreateElements(v_L_BOX_COMMON_ELEMENT_CONTROL, v_create_element);
			if (v_isCreated){
				var objForm = document.forms[v_create_form_name];
					if (objForm){
						MapControls.DeleteBoardValidateProc(objForm);
					}
			}
		}
	},
	ViewBoardContent : function(v_CurrentUrl, v_BoardCode, v_Page, v_SearchColumn, v_SearchWord, v_BoardNo, v_TempCnt, v_OrderByColumn, v_SColumn02, v_SWord02, v_SColumn03, v_SWord03, v_OrderByWord){	//clear
		var v_create_form_name	= 'BoardParameterForm';
		var v_create_element	= ''
		v_create_element	+= '<form name="' + v_create_form_name + '" method="get">';
		v_create_element	+= '<input type="hidden" name="board_cd"		value="' + v_BoardCode + '">';
		v_create_element	+= '<input type="hidden" name="Page"			value="' + v_Page + '">';
		v_create_element	+= '<input type="hidden" name="search_column"	value="' + v_SearchColumn + '">';
		v_create_element	+= '<input type="hidden" name="search_word"		value="' + v_SearchWord + '">';
		v_create_element	+= '<input type="hidden" name="orderby_column"	value="' + v_OrderByColumn + '">';
		v_create_element	+= '<input type="hidden" name="write_no"		value="' + v_BoardNo + '">';
		v_create_element	+= '<input type="hidden" name="temp_count"		value="' + v_TempCnt + '">';
		v_create_element	+= '<input type="hidden" name="search_column2"	value="' + v_SColumn02 + '">';
		v_create_element	+= '<input type="hidden" name="search_column3"	value="' + v_SColumn03 + '">';
		v_create_element	+= '<input type="hidden" name="map_cd"	value="' + v_SWord02 + '">';
		v_create_element	+= '<input type="hidden" name="mode_cd"	value="' + v_SWord03 + '">';
		v_create_element	+= '<input type="hidden" name="orderby_word"	value="' + v_OrderByWord + '">';
		v_create_element	+= '</form>';
		var v_isCreated	= CommonControls.AddCreateElements(v_L_BOX_COMMON_ELEMENT_CONTROL, v_create_element);
		if (v_isCreated){
			var objForm = document.forms[v_create_form_name];
			if (objForm){
				with(objForm){
					action = v_CurrentUrl;
					target	= '_self';
					submit();
				}	
			}else{
				alert(v_ERROR_MSG_SYSTEM_CONTENT);
			}
		}else{
			alert(v_ERROR_MSG_SYSTEM_CONTENT);
		}
	},
	CallBackValidateDelete : function(v_result, v_BoardCode){
		var v_result		= parseInt(v_result);
		if(v_result != 0){
			alert(v_ERROR_MSG_SYSTEM_DELETE + v_BoardCode + v_result);
		}
		document.location.href = v_URL_BOARD_LIST;
	},
	ViewBoardList : function(v_CurrentUrl, v_BoardCode, v_Page, v_SearchColumn, v_SearchWord, v_OrderByColumn, v_SearchColumn2, v_SearchWord2, v_SearchColumn3, v_SearchWord3, v_OrderByWord){	//clear
		var v_create_form_name	= 'BoardParameterForm';
		var v_create_element	= ''
		v_create_element	+= '<form name="' + v_create_form_name + '" method="get">';
		v_create_element	+= '<input type="hidden" name="board_cd"		value="' + v_BoardCode + '">';
		v_create_element	+= '<input type="hidden" name="Page"			value="' + v_Page + '">';
		v_create_element	+= '<input type="hidden" name="search_column"	value="' + v_SearchColumn + '">';
		v_create_element	+= '<input type="hidden" name="search_word"		value="' + v_SearchWord + '">';
		v_create_element	+= '<input type="hidden" name="orderby_column"	value="' + v_OrderByColumn + '">';
		v_create_element	+= '<input type="hidden" name="search_column2"	value="' + v_SearchColumn2 + '">';
		v_create_element	+= '<input type="hidden" name="map_cd"			value="' + v_SearchWord2 + '">';
		v_create_element	+= '<input type="hidden" name="search_column3"	value="' + v_SearchColumn3 + '">';
		v_create_element	+= '<input type="hidden" name="mode_cd"			value="' + v_SearchWord3 + '">';
		v_create_element	+= '<input type="hidden" name="orderby_word"	value="' + v_OrderByWord + '">';
		v_create_element	+= '</form>';
		var v_isCreated	= CommonControls.AddCreateElements(v_L_BOX_COMMON_ELEMENT_CONTROL, v_create_element);
		if (v_isCreated){
			var objForm = document.forms[v_create_form_name];
			if (objForm){
				with(objForm){
					action = v_CurrentUrl;
					target	= '_self';
					submit();
				}	
			}else{
				alert(v_ERROR_MSG_SYSTEM_BOARD_LIST);
			}
		}else{
			alert(v_ERROR_MSG_SYSTEM_BOARD_LIST);
		}
	},
	ViewBoarCommnetList : function(v_write_no, v_url, v_layer, v_page){		//clear
		var v_create_form_name	= 'frmBoardCommentList';
		var v_create_element	= ''
		v_create_element	+= '<form name="' + v_create_form_name + '" method="post">';
		v_create_element	+= '<input type="hidden" name="Page"		value="' + v_page + '">';
		v_create_element	+= '<input type="hidden" name="write_no"	value="' + v_write_no + '">';
		v_create_element	+= '</form>';
		var v_isCreated	= CommonControls.AddCreateElements(v_L_BOX_COMMON_ELEMENT_CONTROL, v_create_element);
		if (v_isCreated){
			var objForm = document.forms[v_create_form_name];
			if (objForm){
				CallxmlRequest(v_url, 'TEXT', v_layer, objForm);
			}else{
				alert(v_ERROR_MSG_SYSTEM_COMMENT);
			}
		}else{
			alert(v_ERROR_MSG_SYSTEM_COMMENT);
		}
	},
	ValidateCommentWrite : function(v_ObjForm){ 
		if (v_ObjForm){
			if(v_ObjForm.proc_cd.value != 'D'){
				if(v_ObjForm.comment_text.value.length==0){
					fnErrorMag(v_ObjForm.comment_text, v_ERROR_MSG_COMMENT_WRITE_001);
					return false;
				}
				if(toByte(v_ObjForm.comment_text.value)  > v_L_INPUT_DATA_MAXLENGTH_COMMENT){
					fnErrorMag(v_ObjForm.comment_text, v_ERROR_MSG_WRITE_004);
					return false;
				}
			}
			var v_url	= v_URL_BOARD_COMMENT_PROC;
			CallxmlRequest(v_url, 'CALLFUNCTION', PROCESS_LAYER_COMMON, v_ObjForm);
		}else{
			alert(v_ERROR_MSG_SYSTEM_COMMENT);
		}
		return false;
	},
	ValidateCommentDelete : function(v_write_no, v_page, v_comment_no){
		var v_create_form_name	= 'frmCommentDelete';
		var v_create_element	= ''
		v_create_element	+= '<form name="' + v_create_form_name + '" method="post">';
		v_create_element	+= '<input type="hidden" name="write_no"		value="' + v_write_no + '">';
		v_create_element	+= '<input type="hidden" name="Page"			value="' + v_page + '">';
		v_create_element	+= '<input type="hidden" name="comment_no"		value="' + v_comment_no + '">';
		v_create_element	+= '<input type="hidden" name="proc_cd"			value="D">';
		v_create_element	+= '</form>';
		var v_isCreated	= CommonControls.AddCreateElements(v_L_BOX_COMMON_ELEMENT_CONTROL, v_create_element);
		if (v_isCreated){
			var objForm = document.forms[v_create_form_name];
				if (objForm){
					MapControls.ValidateCommentWrite(objForm);
				}
		}
	},
	CallBackValidateCommentWrite : function(v_result, v_game_code, v_board_code, v_write_no, v_page, v_current_comment_count){
		var v_result	= parseInt(v_result);
		if(v_result == 0){
			var obj_comment_text	= document.getElementById('comment_text');
			var obj_comment_length	= document.getElementById('CommentTextLength');
			if(obj_comment_text)
				obj_comment_text.value = '';
			if(obj_comment_length)
				obj_comment_length.innerHTML = '0';
		}else{
			alert(v_ERROR_MSG_SYSTEM_COMMENT_WRITE + v_result);
		}
		MapControls.ViewBoarCommnetList(v_write_no, v_URL_BOARD_COMMENT_LIST, v_L_BOX_BOARD_COMMENT_LIST, 1)
	},
	CallBackValidateCommentDelete : function(v_result, v_game_code, v_board_code, v_write_no, v_page, v_current_comment_count){
		var v_result	= parseInt(v_result);
		if(v_result != 0){
			alert(v_ERROR_MSG_SYSTEM_COMMENT_DELETE + v_result);
		}
		MapControls.ViewBoarCommnetList(v_write_no, v_URL_BOARD_COMMENT_LIST, v_L_BOX_BOARD_COMMENT_LIST, v_page)
	},
	CheckCommentLegnth : function(v_obj, v_length_id, v_length) {
		var buffer_text;
		if(v_obj){
			var current_legnth = toByte(v_obj.value);
			/*
			if(current_legnth > v_L_INPUT_DATA_MAXLENGTH_COMMENT){
				current_legnth	= v_L_INPUT_DATA_MAXLENGTH_COMMENT_BUFFER.length;
				v_obj.value	= v_L_INPUT_DATA_MAXLENGTH_COMMENT_BUFFER;
			}
			else{
				v_L_INPUT_DATA_MAXLENGTH_COMMENT_BUFFER = v_obj.value;
			}
			*/
			document.getElementById(v_length_id).innerHTML = current_legnth;;
		}
	},
	SetBlockUserMsg : function(){
		alert(v_ERROR_MSG_BLOCK_USER);
	},
    WriteRecommendPoint : function(){
        var f = document.frmRecommend;
        var tmpValue = false;
	
	    for(var i=0;i<f.recommend_point.length; i++){
		    if(f.recommend_point[i].checked){
			    tmpValue = true;				
			    break;
		    }
	    }
	    if(!tmpValue){
		    alert(v_ERROR_MSG_RECOMMEND_WRITE);
		    f.recommend_point[0].focus();
	    	return false;
	    }else{
            f.target = '__iframe_proc';
            f.action = v_URL_BOARD_RECOMMEND_PROC
            f.submit();
            return false;
	    }
    },
    DeleteBoardValidateProc : function(v_ObjForm) {		//clear
        if(v_ObjForm.proc_cd.value == 'D'){
            var v_url	= v_URL_BOARD_PROC;
            CallxmlRequest(v_url, 'CALLFUNCTION', PROCESS_LAYER_COMMON, v_ObjForm);
            return;
        }
    }
}

var BoardSearchControls = {
	Validate : function(){	
		var objForm = document.forms[v_FORM_NAME_BOARD_SEARCH];
		if (objForm){
			with(objForm){
				var v_search_word	= search_word.value;
				var v_action_url	= action_url.value;
				if (isEmptyAll(v_search_word)){
					CommonErrorControls.AlertErrorMSGLayer(v_L_ERROR_BOX_BOARD_SEARCH_FORM, v_ERROR_MSG_SEARCH_001);
					return false;
				}else{
					action	= v_action_url;
					method	= 'get';
					target	= '_self';
					submit();
				}
			}
		}
		return false;
	}
}

var MapBoardSearchControls = {
	Validate : function(objForm){
		if (objForm){
			with(objForm){
				var v_action_url	= action_url.value;
				action	= v_action_url;
				method	= 'get';
				target	= '_self';
				submit();
			}
		}
		return false;
	},
	ValidateSort : function(objForm, v_orderby_column, v_orderby_word){
		if (objForm){
			with(objForm){
				var v_action_url				= action_url.value;
				objForm.orderby_column.value	= v_orderby_column;
				objForm.orderby_word.value		= v_orderby_word;
				action	= v_action_url;
				method	= 'get';
				target	= '_self';
				submit(objForm.orderby_column.value);
			}
		}
		return false;	
	}
}

var BaseCode = {
	idModeCheckboxsArea : "divModeCheckboxs",
	
	addMap : function (objSelMap, def_val) {
		for (var i=objSelMap.options.length-1; i>=0; i--) objSelMap.options[i] = null;

		var maps = tkTacticsMapCode.getDistinctMaps();
		for (map in maps) {
			var oOption = document.createElement("OPTION");
			oOption.text = maps[map]; oOption.value = map;
			objSelMap.options[objSelMap.options.length] = oOption;
			if ((def_val) && (def_val == map))
				objSelMap.selectedIndex = objSelMap.options.length-1;
		}
	},
	addMode : function (objSelMap, def_val) {
		var divArea = document.getElementById(BaseCode.idModeCheckboxsArea);
		divArea.innerHTML = "";
		
		var modes = tkTacticsMapCode.getModes( objSelMap.options[objSelMap.selectedIndex].value );
		var modes_count = 0;
		for (mode in modes) {
			/*
			var objChekbox = document.createElement("INPUT");
			objChekbox.setAttribute("type","checkbox");
			objChekbox.setAttribute("name","mode_cd");
			objChekbox.setAttribute("id","mode_cd_"+mode.toString());
			objChekbox.setAttribute("value", mode.toString());
			divArea.appendChild(objChekbox);
			f_addEvent (objChekbox, "onclick", function(){ BaseCode.onChangeMode(objChekbox); }, false);
			var objLabel = document.createElement("LABEL");
			objLabel.setAttribute("for","mode_cd_"+mode.toString());
			objLabel.innerHTML = modes[mode];
			divArea.appendChild(objLabel);
			*/ // IE6 Bug
			divArea.innerHTML += '<input type="checkbox" name="mode_cd" id="mode_cd_'+ mode.toString() +'" value="'+ mode.toString() +'" onclick="BaseCode.onChangeMode(this);"/> ';
			divArea.innerHTML += '<label for="mode_cd_'+ mode.toString() +'">'+ modes[mode] +'</label>';

			modes_count++;
		}
		if (def_val) {
			var defVals = def_val.split(",");
			for (var i=0; i<defVals.length; i++) {
				if (defVals[i]) {
					var curCheckBox = document.getElementById("mode_cd_"+defVals[i]);
					if (curCheckBox) {
						curCheckBox.checked = true;
						BaseCode.onChangeMode(curCheckBox);
					}
				}
			}
		}else{
			if (modes_count == 1) {
				var curCheckBox = document.getElementById("mode_cd_" +  mode.toString());
				curCheckBox.checked = true;
				BaseCode.onChangeMode(curCheckBox);
			}else{
				BaseCode.onChangeMode(null);
			}
		}
	},
	setCamp : function (objSelCamp, def_val) {
	    /*
		if (def_val) {
			for (var i=0; i<objSelCamp.options.length; i++ ) {
				if (objSelCamp.options[i].value == def_val) {
					objSelCamp.selectedIndex = i;
					BaseCode.onChangeCamp(objSelCamp);
					return;
				}
			}
		}
		objSelCamp.selectedIndex = 0;
		*/
		if (def_val) {
		    objSelCamp.value = def_val;
		    for (var i=0; i<objSelCamp.length; i++ ) {
				if (objSelCamp[i].value == def_val) {
					objSelCamp[i].checked = true;
					BaseCode.onChangeCamp(objSelCamp);
					return;
				}
			}
		}
		objSelCamp.value = 'blue';
	},
	onChangeMap : function (objSelMap) {
		tkTacticsMapFlash.sendChangeMap(objSelMap);
		BaseCode.addMode(objSelMap);
	},
	onChangeMode : function (objSelMode) {
		tkTacticsMapFlash.sendChangeMode(objSelMode);
	},
	onChangeCamp : function (objSelCamp) {
		tkTacticsMapFlash.sendChangeTeam(objSelCamp);
	},
	addMapList : function (objSelMap, def_val) {
		for (var i=objSelMap.options.length-1; i>=0; i--) objSelMap.options[i] = null;

		var maps = tkTacticsMapCode.getDistinctMaps();
		for (map in maps) {
			var oOption = document.createElement("OPTION");
			oOption.text = maps[map]; oOption.value = map;
			objSelMap.options[objSelMap.options.length] = oOption;
			if ((def_val) && (def_val == map))
				objSelMap.selectedIndex = objSelMap.options.length-1;
		}
	},
    addModeList : function (objSelMap, def_val) {
        var objSelMode = document.getElementById('mode_cd');
        //for (var i=0;i<objSelMode.options.length ;i++){ objSelMode.options.remove(0); }
        for (var i=0;i<objSelMode.options.length;i++){objSelMode.removeChild(objSelMode.options[i]);}
        
        var modes = tkTacticsMapCode.getModes( objSelMap.options[objSelMap.selectedIndex].value );
        for (mode in modes) {
            var oOption = document.createElement("OPTION");
			oOption.text = modes[mode]; oOption.value = mode;
			objSelMode.options[objSelMode.options.length] = oOption;
			if ((def_val) && (def_val == mode))
				objSelMode.selectedIndex = objSelMode.options.length-1;
        }
	}
};

function fnErrorMag(obj, msg) {
	alert(msg);
	obj.focus();
	return false;
}

function fnTextTrim(v_str){
	var strPattern = /(^\s*)|(\s*$)/g;
	v_str = v_str.replace(strPattern, "");
	return v_str;
}


/* Daemonkim *****************************************************************/


// [Daemonkim] Object for Control Flash 
var tkTacticsMapFlash = {

	id : "ID_FLASH_TEKKI_TACTICS",
	formName : "frmMapBoardForm",

	// Display Flash Object
	writeFlashMap : function (src, width, height, wmode, bgcolor, align, scroptAccess, flashVars, style, id){

		if ( typeof(AC_FL_GetContent) == "undefined")
			document.write(unescape("%3Cscript type='text/javascript' src='/blogparts/_js/AC_OETagsExtend.js'%3E%3C/script%3E"));

		if (!src) return;
		width			= (!width) ? "0" : width.toString();
		height			= (!height) ? "0" : height.toString();
		wmode			= (!wmode) ? "window" : wmode.toString();
		bgcolor			= (!bgcolor) ? "#4A5053" : bgcolor.toString();
		align			= (!align) ? "middle" : align.toString();
		scroptAccess	= (!scroptAccess) ? "sameDomain" : scroptAccess.toString();
		flashVars		= (!flashVars) ? "" : flashVars.toString();
		style			= (!style) ? "" : style.toString();
		id				= (!id) ? tkTacticsMapFlash.id : id.toString();

		var hasProductInstall = DetectFlashVer(6, 0, 65);
		var hasRequestedVersion = DetectFlashVer(9, 0, 124);
		
		if ( hasProductInstall && !hasRequestedVersion ) {
			var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
			var MMredirectURL = window.location;
			document.title = document.title.slice(0, 47) + " - Flash Player Installation";
			var MMdoctitle = document.title;
		
			AC_FL_RunContent(
				"src", "/blogparts/swf/playerProductInstall",
				"FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
				"width", width,
				"height", height,
				"align", align,
				"id", id,
				"quality", "high",
				"bgcolor", bgcolor,
				"name", id,
				"wmode", wmode,
				"allowScriptAccess","sameDomain",
				"type", "application/x-shockwave-flash",
				"pluginspage", "http://www.adobe.com/go/getflashplayer",
				"style", style
			);
		} else if (hasRequestedVersion) {

			AC_FL_RunContent(
					"src", src,
					"width", width,
					"height", height,
					"align", align,
					"id", id,
					"quality", "high",
					"bgcolor", bgcolor,
					"name", id,
					"wmode", wmode,
					"allowScriptAccess", scroptAccess,
					"type", "application/x-shockwave-flash",
					"pluginspage", "http://www.adobe.com/go/getflashplayer",
					"flashvars", flashVars,
					"style", style
			);
		  } else {
				var alternateContent = '<table id="'+ id +'" width="'+ width +'" height="' + height +'" border="0"><tr><td align="center" valign="middle">'
				+ '<a href="http://www.adobe.com/go/getflashplayer" target="_blank"><img src="http://image.gameyarou.jp/tekki/blogparts/get_adobe_flash_player.png" '
				+ 'width="158" height="39" alt="Get Flash Player" title="このサイトをご覧になるには「Flash Player」が必要です。" border="0"/></a>'
				+ '</td></tr></table>';
				document.write(alternateContent);
		  }
	},

	// Upload Thumbnail Callback
	callbackTacticsThumbnailUpload : function (file, size, width, height, id) {
		id = (!id) ? tkTacticsMapFlash.id : id.toString();
		if (file) {
			var form = document.forms[ tkTacticsMapFlash.formName ];
			var mapEditor = document.getElementById( id );
			if ((form) && (mapEditor) && (mapEditor.getMapData)) {

				form.attach_file.value = file + "|" + size.toString() + "|" + width.toString() + "*" + height.toString();
				form.map_data.value = mapEditor.getMapData();

				CallxmlRequest(v_URL_BOARD_PROC, 'CALLFUNCTION', PROCESS_LAYER_COMMON, form);
			}
		}else{
			alert(v_ERROR_MSG_SYSTEM_BOARD);
		}
	},

	// Callback select change Map
	sendChangeMap : function (select, id) {
		id = (!id) ? tkTacticsMapFlash.id : id.toString();
		var mapEditor = document.getElementById(id);
		if ((mapEditor) && (mapEditor.setMap))
			mapEditor.setMap( select.options[select.selectedIndex].value );
	},

	// Callback select change Mode
	sendChangeMode : function (checkbox, id) {
		id = (!id) ? tkTacticsMapFlash.id : id.toString();
		var form = document.forms[ tkTacticsMapFlash.formName ];
		var mapEditor = document.getElementById(id);
		if ((form) && (mapEditor) && (mapEditor.setMode)) {
			var checkboxName = checkbox.getAttribute("name");
			var selectedModes = [];
			if (!form[checkboxName].type) {
				for (var i=0; i<form[checkboxName].length; i++)
					if (form[checkboxName][i].checked ) selectedModes.push( form[checkboxName][i].value );
			}else{
				if (form[checkboxName].checked ) selectedModes.push( form[checkboxName].value );
			}
			mapEditor.setMode( selectedModes );
		}
	},

	// Callback select change Team
	sendChangeTeam : function (select, id) {
		id = (!id) ? tkTacticsMapFlash.id : id.toString();
		var mapEditor = document.getElementById(id);
		if ((mapEditor) && (mapEditor.setTeam))
		    mapEditor.setTeam( select.value.toLowerCase() );
			//mapEditor.setTeam( select.options[select.selectedIndex].value.toLowerCase() );
	},

	// External Interface Callback
	updateMachineCount : function (counts) {
		if (document.getElementById("countVANGUARD"))	document.getElementById("countVANGUARD").innerHTML	= (counts["VANGUARD"] ? counts["VANGUARD"].toString() : "0");
		if (document.getElementById("countDUAL"))		document.getElementById("countDUAL").innerHTML		= (counts["DUAL"] ? counts["DUAL"].toString() : "0");
		if (document.getElementById("countVINCERE"))	document.getElementById("countVINCERE").innerHTML	= (counts["VINCERE"] ? counts["VINCERE"].toString() : "0");
		if (document.getElementById("countBLITZ"))		document.getElementById("countBLITZ").innerHTML		= (counts["BLITZ"] ? counts["BLITZ"].toString() : "0");
		if (document.getElementById("countRAMPART"))	document.getElementById("countRAMPART").innerHTML	= (counts["RAMPART"] ? counts["RAMPART"].toString() : "0");
		if (document.getElementById("countIMPULS"))		document.getElementById("countIMPULS").innerHTML	= (counts["IMPULS"] ? counts["IMPULS"].toString() : "0");
		if (document.getElementById("countVELOX"))		document.getElementById("countVELOX").innerHTML		= (counts["VELOX"] ? counts["VELOX"].toString() : "0");
		if (document.getElementById("countFORBIDDEN"))	document.getElementById("countFORBIDDEN").innerHTML	= (counts["FORBIDDEN"] ? counts["FORBIDDEN"].toString() : "0");
	},

	// External Interface Callback
	wheelInit : function(id) {
		id = (!id) ? tkTacticsMapFlash.id : id.toString();
		var mapEditor = document.getElementById(id);
		if (mapEditor) {}
	},
	
	// External Interface Callback
	goURL : function(url, target) {
		if (target=="top") top.location.href = url;
		else if (target=="parent") parent.location.href = url;
		else if (target=="opener") opener.location.href = url;
		else if (target=="blank") window.open(url);
		else self.location.href = url;
	}
};


// [Daemonkim] Object for XML Code
var tkTacticsMapCode = {

	dataPath : "/_include/_tekki/envvar/__tactics_map.xml?" + Math.random().toString(),
	data : [],

	// Load Tactics-Map Codes XML
	loadData : function () {
		tkTacticsMapCode.f_executeXHRequest("get", tkTacticsMapCode.dataPath, true, null, tkTacticsMapCode.parseTacticsMapCodes, null);
	},

	// Get distinct Maps
	getDistinctMaps : function () {
		var distincMaps = {};
		for (var i=0; i<tkTacticsMapCode.data.length; i++) {
			if (!distincMaps[ tkTacticsMapCode.data[i]["map"] ])
				distincMaps[ tkTacticsMapCode.data[i]["map"] ] = tkTacticsMapCode.data[i]["mapName"];
		}
		return distincMaps;	
	},

	// Get Modes from map code
	getModes : function (map) {
		var modes = {};
		for (var i=0; i<tkTacticsMapCode.data.length; i++) {
			if (tkTacticsMapCode.data[i]["map"] == map)
				modes[ tkTacticsMapCode.data[i]["mode"] ] = tkTacticsMapCode.data[i]["modeName"];
		}
		return modes;	
	},

	// Create XMLHttpRequest
	f_createXHObject : function () {
		if (window.ActiveXObject) {
			var aVersions = ['Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
			for (var i=0; i<aVersions.length; i++) {
				try { var xmlHttp = new ActiveXObject(aVersions[i]); return xmlHttp; } catch(e) {}
			}
		}else if ( typeof(XMLHttpRequest) != 'undefined' ) {
			var xmlHttp = new XMLHttpRequest(); return xmlHttp;
		}
		return false;
	},

	// Send XMLHttpRequest
	f_executeXHRequest : function (method, uri, async, postdata, callbackFunction, callbackArguments) {
		var xmlHttp = tkTacticsMapCode.f_createXHObject();
		if (xmlHttp) {
			xmlHttp.onreadystatechange = function() {
				if (xmlHttp.readyState==4) {
					if (xmlHttp.status==200) {
						if ((callbackFunction!=null)&&(callbackFunction.constructor == Function)) { callbackFunction(xmlHttp, callbackArguments); } xmlHttp = null;
					}
				}
				return;
			}
			xmlHttp.open(method.toLowerCase(), uri, async);
			if (method.toLowerCase()=='post') {
				xmlHttp.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
				xmlHttp.send(postdata);
			}else xmlHttp.send(null);
		}
	},

	// Parse XML of TacticsMapCodes
	parseTacticsMapCodes : function (xmlHttp) {
		var resDOM, oRoot;
		if ( (xmlHttp) && (resDOM = xmlHttp.responseXML) && (oRoot = resDOM.documentElement) ) {
			tkTacticsMapCode.data = [];
			var oModeMaps = oRoot.getElementsByTagName("modemap");
			for (var i=0; i<oModeMaps.length; i++) {
				if (oModeMaps[i].getAttribute("enable")=="true") {
					var modeName = oRoot.selectSingleNode("//mode[@id='"+ oModeMaps[i].getAttribute("mode") +"']/name[@lang='ja']");
					var mapName = oRoot.selectSingleNode("//map[@id='"+ oModeMaps[i].getAttribute("map") +"']/name[@lang='ja']");
					if (modeName && mapName) {
						var data = {	code	: parseInt(oModeMaps[i].getAttribute("code")), 
										mode	: oModeMaps[i].getAttribute("mode"),
										map		: oModeMaps[i].getAttribute("map"),
										modeName	: modeName.childNodes[0].nodeValue,
										mapName	: mapName.childNodes[0].nodeValue	};
						tkTacticsMapCode.data.push( data );
					}
				}
			}
		}
	}

};

// [Daemonkim] Add event for DOM element
function f_addEvent (obj, evt, func, capture) {
	if (!obj) return;
	if (obj.attachEvent) { obj.attachEvent(evt, func); }
	else if (obj.addEventListener) {
		if (!capture) capture=false;
		evt = evt.replace(/^on/i,'');
		obj.addEventListener(evt, func, capture);
	}else{ obj[evt] = fnc; }
	return;
};

// [Daemonkim] Xpath implement for firefox
( function() {
	if ((!window.ActiveXObject)&&(typeof(XMLHttpRequest)!='undefined')) {
		Element.prototype.selectSingleNode = function (sXPath) {
			var oEvaluator = new XPathEvaluator();
			var oResult = oEvaluator.evaluate(sXPath, this, null,
			XPathResult.FIRST_ORDERED_NODE_TYPE, null);
			return ( (oResult != null) ? oResult.singleNodeValue : null );
		}
	}
} )();

// [Daemonkim] Load Tactics-Map Codes XML
tkTacticsMapCode.loadData();

function MapBtnMore(){
	var v_Board_Url = _WEB_URL_TEKKI + '/Community/Tacticsboard/Board_List.asp';
	window.location.href = v_Board_Url;
}