var showNumberJsp = "numGenerator_displayFilteredNum.html";
var generatePredicationJsp = "numGenerator_numGenerator.html";
var saveNumberSetJsp = "numGenerator_saveNumSet.html";
var saveFilterJsp = "numGenerator_saveFilter.html";
var loadSavedFilterJsp = "numGenerator_loadSavedFilter.html";
var loadSavedNumJsp = "numGenerator_loadSavedNum.html";
var loadSavedNumToResultDivJsp = "numGenerator_loadSavedNumDiv.html";
var userID = 0;
var isAdmin = false;


var num_allNum = "1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;";
var num_sortFilter = num_allNum;
var num_filter = num_allNum;
var excludedNum = "";
var includedNum = "";
var num_draw = "";

var redBalls = new Array(1, 2, 7, 8, 12, 13, 18, 19, 23, 24, 29, 30, 34, 35, 40, 45, 46);
var blueBalls = new Array(3, 4, 9, 10, 14, 15, 20, 25, 26, 31, 36, 37, 41, 42, 47, 48);
var greenBalls = new Array(5, 6, 11, 16, 17, 21, 22, 27, 28, 32, 33, 38, 39, 43, 44, 49);

var usedFilters = new Array();	
var usedFilters_ForSave = new Array();	

var generatedSets = null;
var savedFilters = null;
var savedNums = null;

var curSortFilterOpt = "";

var numOfHistoryKeep = 20;

var numStatus = new Array();
for( var i = 0; i < 49; ++i ) {
	numStatus[i] = 3;
}

var num_status = "";

		// function that handling adding/removing tr
var isFilterTrVisible = false;
var isHelpTrVisible = false;
var isSortFilterTrVisible = false;
var isLoadSavedFilterTrVisible = false;
var isloadSaveFilterTr = false;
var isSaveNumTrVisible = false;
var isLoadNumTrVisible = false;

function loadSuggestedFilter(isExcludeAllNum1st) {
	var url = "numGenerator_loadSuggested.html";
	//alert(isExcludeAllNum1st);
	if( isExcludeAllNum1st ) {
		url += "?excludeAllFirst=1";
	} else {
		url += "?excludeAllFirst=0";
	}
	ajax_loadContent('saveResponseDiv', url);
}

function deleteSavedNum(eid) {
	if( confirm(label_draw_delete_entry_question) ) {
		var url = loadSavedNumJsp + "?deid=" + eid  + "&time=" + (new Date()).getTime();
		ajax_loadContent('loadNumDiv', url);
	}
}

function showSavedNum(nPage) {
	var url = loadSavedNumJsp + "?nPage=" + nPage + "&time=" + (new Date()).getTime();
	ajax_loadContent('loadNumDiv', url);
}

function applySavedNum_fromCookie() {
	var str = getCookie("GENERATED_NUM");
	if( str != null && str.length > 0 ) {
		deleteCookie("GENERATED_NUM");
		
		str = str.replace(/-/g, ";");
		str = str.replace(/\./g, " ");
			
		var url = loadSavedNumToResultDivJsp + "?savedNums=" + str + "&time=" + (new Date()).getTime() + "&wait=2";
		ajax_loadContent('predicationDiv', url, "POST");
	}
}

function applySavedNum(idx) {
	var url = loadSavedNumToResultDivJsp + "?savedNums=" + savedNums[idx] + "&time=" + (new Date()).getTime();
	ajax_loadContent('predicationDiv', url, "POST");
}

function showSavedFilter(nPage) {
	//alert("showSavedFilter()");
	var url = loadSavedFilterJsp + "?nPage=" + nPage + "&time=" + (new Date()).getTime();
	ajax_loadContent('showSavedFilterDiv', url);
}

function deleteSavedProfile(rid, eid) {
	if( confirm(label_draw_delete_profile_question) ) {
		var url = loadSavedNumJsp + "?drid=" + rid  + "&deid=" + eid + "&time=" + (new Date()).getTime();
		ajax_loadContent('loadNumDiv', url);
	}
}

function deleteSavedFilter(rid) {
	if( confirm(label_draw_delete_filter_question) ) {
		var url = loadSavedFilterJsp + "?drid=" + rid  + "&time=" + (new Date()).getTime();
		ajax_loadContent('showSavedFilterDiv', url);
	}
}

function applySavedProfile(idx) {
	//alert(savedNums[idx]);
	var s = savedNums[idx];
	s = s.replace(/;/g, "-");
	s = s.replace(/ /g, ".");
	
	setCookie( "GENERATED_NUM", s );
	
	//alert(s);
	//alert("cookie : " + getCookie("GENERATED_NUM"));
	
	applySavedFilter(idx);
}

function applySavedFilter(idx) {
	applySavedFilter_inner(savedFilters[idx], true);
}

function applySavedFilter_fromCookie() {
	var filterString = getCookie("FILTERS");
	//alert("cookie.value : " + filterString);
	if( filterString != null && filterString.length > 0 ) {
		//alert("filterString : " + filterString);
	
		deleteCookie("FILTERS");
		
		//alert("-1");
		
		var filterStringArray = filterString.split("#");
		
		//alert("0");
		
		var found = false;
		for( var i = filterStringArray.length - 1; i >= 0; --i ) {
			//alert( i + "/" + filterStringArray.length + " : " + filterStringArray[i]);
			if( filterStringArray[i].indexOf("4") == 0 || filterStringArray[i].indexOf("5") == 0 ) {
				if( found ) {
					filterStringArray[i] = "";
				} else {
					found = true;
				}
			}
		}
		
		//alert("1");
		
		found = false;
		for( var i = filterStringArray.length - 1; i >= 0; --i ) {
			if( filterStringArray[i].indexOf("1") == 0 ) {
				if( found ) {
					filterStringArray[i] = "";
				} else {
					found = true;
				}
			}
		}
		
		//alert("2");
		
		found = false;
		for( var i = filterStringArray.length - 1; i >= 0; --i ) {
			if( filterStringArray[i].indexOf("2") == 0 ) {
				if( found ) {
					filterStringArray[i] = "";
				} else {
					found = true;
				}
			}
		}
		
		//alert("3");
		
		var str = "";
		for( var i = 0; i < filterStringArray.length; ++i ) {
			if( filterStringArray[i].length == 0 ) {
				continue;
			}
		
			if( str.length > 0 ) {
				str += "#";
			}
		
			str += filterStringArray[i];
		}
		
		filterString = str;
		
		//alert("after : " + filterString);
		
		if( filterString.length > 0 ) {
			applySavedFilter_inner(filterString, true);
		}
	}
}

function applySavedFilter_inner(filterString, isAddToHistory) {
	reset(false,false);
	
	//alert("3");

	var filterStringArray = filterString.split("#");
	var s = null;
	
	var runFilter = false;
	var runSortFilter = false;
	var runGen = false;
	var runGenIntel = false;
	
	for( var i = 0; i < filterStringArray.length; ++i ) {
		s = filterStringArray[i];
		
		//alert(i + " : " + s);
		
		if( s.charAt(0) == '1' ) {
			var sa = s.split("\t");
			
			var ff = document.getElementById("filterFreq");
			var ft = document.getElementById("filterType");
		
			var fn = document.getElementById("filterNum");
			var fl = document.getElementById("filterLottery");
			var fes = document.getElementById("filterExcludeSpecial");
			
			ff.value = sa[1];
			ft.value = sa[2];
			
			fn.value = sa[3];
			fl.value = sa[4];
			fes.value = sa[5];
			
			runSortFilter = true;
		} else if( s.charAt(0) == '2' ) {
			// parity
			if( s.indexOf("ODD") != -1 ) {
				setOddEvenCheckboxes( true, false );
			} else if( s.indexOf("EVEN") != -1 ){
				setOddEvenCheckboxes( false, true );
			} else {
				setOddEvenCheckboxes( true, true );
			}
			
			//alert("2-1");
			
			// color

			var isRedColor = false;
			var isBlueColor = false;
			var isGreenColor = false;
			
			if( s.indexOf("RED") != -1 ) {
				isRedColor = true;
			} 
			
			if( s.indexOf("BLUE") != -1 ) {
				isBlueColor = true;
			} 
			
			if( s.indexOf("GREEN") != -1 ) {
				isGreenColor = true;
			} 
			
			if( !isRedColor && !isBlueColor && !isGreenColor  ) {
				setColorCheckboxes( true, true, true );
			} else {
				setColorCheckboxes( isRedColor, isGreenColor, isBlueColor );
			}
			
			//alert("2-2");
			
			// region
			
			var b1To10 = false;
			var b11To20 = false;
			var b21To30 = false;
			var b31To40 = false;
			var b41To49 = false;
			
			if( s.indexOf("1-10") != -1 ) {
				b1To10 = true;
			}
			
			if( s.indexOf("11-20") != -1 ) {
				b11To20 = true;
			}
			
			if( s.indexOf("21-30") != -1 ) {
				b21To30 = true;
			}
			
			if( s.indexOf("31-40") != -1 ) {
				b31To40 = true;
			}
			
			if( s.indexOf("41-49") != -1 ) {
				b41To49 = true;
			}
			
			if( !b1To10 && !b11To20 && !b21To30 && !b31To40 && !b41To49 ) {
				alignRegionCheckboxes("ALL");
			} else {
				setRegionCheckboxes( b1To10, b11To20, b21To30, b31To40, b41To49 );
			}
			
			//alert("2-3");
	
			runFilter = true;
		} else if( s.charAt(0) == '3' ) {
			//alert("a");
			
			var idx = s.lastIndexOf("\t");
			
			//alert("b : " + idx);
			
			var num = s.substring(idx+1);
			
			//alert("c");
			
			if( s.indexOf("3\tINCLUDE\t") != -1 ) {
				addIncludedNum(num, isAddToHistory, false);					
			} else if( s.indexOf("3\tINCLUDE_ALL") != -1 ) {
				includeAllNum(isAddToHistory, false);
			} else if( s.indexOf("3\tEXCLUDE\t") != -1 ) {
				addExcludedNum(num, isAddToHistory, false);	
			} else if( s.indexOf("3\tEXCLUDE_ALL") != -1 ) {
				excludeAllNum(isAddToHistory, false);
			} else {
				addNormalNum(num, isAddToHistory, false);
			}
		} else if( s.charAt(0) == '4' ) {
			var sa = s.split("\t");
			
			var nos = document.getElementById("numOfSet");
			var sum1 = document.getElementById("sumType1");
			var sum2 = document.getElementById("sumType2");
			var noel = document.getElementById("numOfExcludedLottery");
	
			nos.value = sa[1];
			sum1.value = sa[2];
			sum2.value = sa[3];
			noel.value = sa[4];
	
			runGen = true;
		} else if( s.charAt(0) == '5' ) {
			runGenIntel = true;
		} 
	}
	
	//alert("runFilter : " + runFilter + ", runSortFilter : " + runSortFilter + ", runGen : " + runGen + ",  runGenIntel : " +  runGenIntel );
	
	if( runFilter ) {
		if( runSortFilter ) {
			applyFilter(isAddToHistory, false, false, false);
		} else {
			if( runGen ) {
				applyFilter(isAddToHistory, true, true, false);
			} else if( runGenIntel ) {
				applyFilter(isAddToHistory, true, true, true);
			} else {
				applyFilter(isAddToHistory, true, false, false);
			}
		}
	}
			
	if( runSortFilter ) {
		if( runGen ) {
			applySortFilter(isAddToHistory, true, true, false);
		} else if( runGenIntel ) {
			applySortFilter(isAddToHistory, true, true, true);
		} else {
			applySortFilter(isAddToHistory, true, false, false);
		}
	} 
	
	if( !runFilter && !runSortFilter ) {
		var url = showNumberJsp + "?filterAttr=2&excludedNum=" + excludedNum 
					+ "&includedNum=" + includedNum 
					+ "&filterNum=" + num_filter 
					+ "&sortFilterNum=" + num_sortFilter;
		
		if( runGen ) {
			url += "&loadGenNumJsp=1";
		} else if( runGenIntel ) {
			url += "&loadGenNumJsp=1";
                        url += "&isIntelli=1";
                }

		
		url += "&numStatus=" + num_status;
		
		url +=  "&time=" + (new Date()).getTime();
		
		//alert(url);
		ajax_loadContent('saveResponseDiv', url);	
	}
}

function saveFilter() {
	var rn = document.getElementById("ruleName");
	if( rn.value.length == 0 ) {
		document.getElementById("saveFilterResponseDiv").innerHTML = label_draw_alert_filter_inputname;
		//alert("請輸入名稱。");
		return;
	} else if( rn.value.length > 20) {
		document.getElementById("saveFilterResponseDiv").innerHTML = label_draw_alert_filter_lenlimit;
		//alert("字數限制 : 20");
		return;
	} else if( rn.value.search(/^[0-9a-zA-Z\-_]+$/) == -1 ) {
		document.getElementById("saveFilterResponseDiv").innerHTML = label_draw_alert_filter_charlimit;
		//alert("請只輸入數字或英文。");
		return;
	}

	var s = "";
	
	for( var i = 0; i < usedFilters_ForSave.length; ++i ) {
		s += usedFilters_ForSave[i] + "#";
	}
	
	if( s.length == 0 ) {
		document.getElementById("saveFilterResponseDiv").innerHTML = label_draw_alert_filter_applied;
		//alert("你沒有使用任何過濾器");
		return;
	}
	
	var url = saveFilterJsp + "?uid=" + userID + "&filterName=" + rn.value + "&filters=" + s;
	url +=  "&time=" + (new Date()).getTime();
	ajax_loadContent('saveFilterResponseDiv', url);
	//ajax_loadContent('loadNumDiv', url);
}

function reset(isRefresh, isReloadDisplayNum) {
	num_sortFilter = num_allNum;
	num_filter = num_allNum;
	excludedNum = "";
	includedNum = "";
	usedFilters = new Array();	
	usedFilters_ForSave = new Array();
	generatedSets = null;
	num_draw = num_allNum;
	curSortFilterOpt = "";
	
	//for( var i = 0; i < 50; ++i ) {
	//	numStatus[i] = 3;
	//}
	
	alignOddEvenCheckboxes("ALL");
	alignColorCheckboxes("ALL");
	alignRegionCheckboxes("ALL");
	
	//var fallColor = document.getElementById("isAllColor");
	//alert("reset : " + fallColor.checked);
	
	var ff = document.getElementById("filterFreq");
	var ft = document.getElementById("filterType");

	var fn = document.getElementById("filterNum");
	var fl = document.getElementById("filterLottery");
	var fes = document.getElementById("filterExcludeSpecial");
	
	ff.value = "HIGHEST";
	ft.value = "DRAWN_COUNT";
	
	fn.value = "10";
	fl.value = "30";
	fes.value = "0";
	
	var nos = document.getElementById("numOfSet");
	var sum1 = document.getElementById("sumType1");
	var sum2 = document.getElementById("sumType2");
	var noel = document.getElementById("numOfExcludedLottery");
	
	nos.value = "10";
	sum1.value = "-";
	sum2.value = "-";
	noel.value = "30";
	
	var aac = document.getElementById("actionAfterClicking_include");
	aac.checked = true;
	
	document.getElementById("filterHistoryDiv").innerHTML = "";
	
	if( isReloadDisplayNum ) {
		applyFilter(false, true, false, false);

	}

	if( isRefresh ) {
		window.location.reload();
	}
}

function saveProfile() {
	var divEl = document.getElementById("saveNumResponseDiv");

	divEl.style.display = "block";
	divEl.style.visibility = "visible";

	var rn = document.getElementById("profileName");
	rn.value = trim(rn.value);
	if( rn.value.length == 0 ) {
		divEl.innerHTML = "<br>" + label_draw_alert_filter_inputname;
		return;
	} else if( rn.value.length > 40) {
		divEl.innerHTML = "<br>" + label_draw_alert_filter_lenlimit;
		return;
	} else if( rn.value.search(/^[0-9a-zA-Z\-_ ]+$/) == -1 ) {
		divEl.innerHTML = "<br>" + label_draw_alert_filter_charlimit;
		return;
	}
	

	//alert(1);
	
	if( generatedSets == null || generatedSets.length == 0 ) {
		if( !isAdmin ) {			
			divEl.innerHTML = "<br>" + label_draw_alert_filter_no_entry_created;
			return;
		}
	}
		

	//alert(2);


	var selectedNumberSet = "";
	for( var i = 0; generatedSets != null &&  i < generatedSets.length; ++i ) {
		if( !document.getElementById("isSave" + i).checked ) {
			continue;
		}
	
		if( selectedNumberSet.length > 0 ) {
			selectedNumberSet += " ";
		}
		
		selectedNumberSet += generatedSets[i];
	}
		
	if( selectedNumberSet.length == 0 ) {
		if( !isAdmin ) {
			divEl.innerHTML = "<br>" + label_draw_alert_filter_choise_entry;
			return;
		}
	}
	
	//alert(3);


	var s = "";
	
	for( var i = 0; i < usedFilters_ForSave.length; ++i ) {
		s += usedFilters_ForSave[i] + "#";
	}
	
	
	//alert(4);


	var url = saveNumberSetJsp + "?uid=" + userID + "&number_sets=" + selectedNumberSet  + "&filters=" + s + "&filterName=" + rn.value;
	url +=  "&time=" + (new Date()).getTime();

	//alert(url);
	
	//alert(5);


	//alert(url);

	ajax_loadContent('saveNumResponseDiv', url, "POST");


	//alert(6);

}

function saveAll() {
	document.getElementById("saveNumResponseDiv").style.display = "block";
	document.getElementById("saveNumResponseDiv").style.visibility = "visible";

	if( generatedSets == null || generatedSets.length == 0 ) {
		document.getElementById("saveNumResponseDiv").innerHTML = label_draw_alert_filter_no_entry_created;
		//alert("沒有任何號碼組合被產生。");
		return;
	}
	
	var selectedNumberSet = "";
	for( var i = 0; i < generatedSets.length; ++i ) {
		if( selectedNumberSet.length > 0 ) {
			selectedNumberSet += " ";
		}
	
		selectedNumberSet += generatedSets[i];
	}
	
	//alert(selectedNumberSet);

	var url = saveNumberSetJsp + "?uid=" + userID + "&number_sets=" + selectedNumberSet;
	url +=  "&time=" + (new Date()).getTime();
	ajax_loadContent('saveNumResponseDiv', url);
}

function addFilterHistory_ForSave( str ) {
	usedFilters_ForSave[usedFilters_ForSave.length] = str;
	
	// if user is not logined, save every step to cookie
	if( userID <= 0 ) { 
		var str = "";
		for( var i = 0; i < usedFilters_ForSave.length; ++i ) {
			if( str.length > 0 ) {
				str += "#";
			}
		
			str += usedFilters_ForSave[i];
		}

		setCookie( "FILTERS", str );
	}		
}

function addFilterHistory( str ) {
	if( usedFilters.length < numOfHistoryKeep ) {
		usedFilters[usedFilters.length] = str;
	} else {
		for( var i = 0; i < (numOfHistoryKeep-1); ++i ) {
			usedFilters[i] = usedFilters[i+1];
		}
		
		usedFilters[(numOfHistoryKeep-1)] = str;
	}
	
	//alert(7);
	
	// show history
	var htmlCode = "";
	for( var i = 0; i < usedFilters.length; ++i ) {
		htmlCode += (i+1) + ". " + usedFilters[usedFilters.length - 1 - i] + "<br>";
	}
	
	//alert(8);
	
	document.getElementById("filterHistoryDiv").innerHTML = htmlCode;
	
	//alert(9);
}

function generatePredication(isAddToHistory) {
	var nos = document.getElementById("numOfSet");
	var sum1 = document.getElementById("sumType1");
	var sum2 = document.getElementById("sumType2");
	var noel = document.getElementById("numOfExcludedLottery");
	
	var url = generatePredicationJsp + "?" 
		+ "&numOfSet=" + nos.value 
		+ "&sumType1=" + sum1.value 
		+ "&sumType2=" + sum2.value
		+ "&numOfExcludedLottery=" + noel.value
		+ "&curNum=" + num_draw
		+ "&time=" + (new Date()).getTime();
	
	if( isAddToHistory ) {
		addFilterHistory_ForSave(
			"4\t"  + nos.value 
			+ "\t" + sum1.value 
			+ "\t" + sum2.value
			+ "\t" + noel.value);
			
		var str = label_draw_generate_prediction + " - ";
		
		str += " " + label_draw_entry_size + " : " + nos.value;
		
		if( sum1.value != "-" || sum1.value != "-" ) {
			str += ", " + label_draw_numbers_sum + " : ";
			
			if( sum1.value != "-" ) {
				if( sum1.value == "BIG" ) {
					str += label_draw_big;
				} else {
					str += label_draw_small;
				}
		
				str += " ";
			}
			
			if( sum2.value != "-" ) {
				if( sum1.value != "-" ) {
					str += ", ";
				}
			
				if( sum2.value == "ODD") {
					str += label_draw_odd;
				} else {
					str += label_draw_even;
				}
			
				str += " ";
			}
		}
		
		str += ", " + label_draw_exclude_last + noel.value + label_draw_exclude_results;
		addFilterHistory( str );
	}
	
	var num_draws = num_draw.split(";");
	var num_draws_size = num_draws.length;

	//alert("isAdmin : " + isAdmin + ", num_draws : " + num_draws);
	
	if (num_draws_size >= 6) {
		//alert("call predicationDiv");
		ajax_loadContent('predicationDiv', url);
	} else {
		generatedSets = new Array();
		document.getElementById("predicationDiv").innerHTML = "<p><font color=red class='bodytext'>"+label_draw_alert_at_least_6+"</font>";
	} 
}

function generateIntelligentMultiple(isAddToHistory) {
	var url = generatePredicationJsp + "?"
		+ "&intelligent=1"
		+ "&curNum=" + num_draw
		+  "&time=" + (new Date()).getTime();

	if( isAddToHistory ) {
		addFilterHistory(label_draw_generate_im);
		addFilterHistory_ForSave("5");
	}
		
	var num_draws = num_draw.split(";");
	var num_draws_size = num_draws.length - 1;

	if (num_draws_size >= INTEL_MULTI_MIN && num_draws_size <= INTEL_MULTI_MAX) {
		ajax_loadContent('predicationDiv', url);
	} else if (num_draws_size < INTEL_MULTI_MIN) {
		generatedSets = new Array();
		document.getElementById("predicationDiv").innerHTML = "<p><font color=red class='bodytext'>"+label_im_at_least+"</font>";
	} else if (num_draws_size > INTEL_MULTI_MAX) {
		generatedSets = new Array();
		document.getElementById("predicationDiv").innerHTML = "<p><font color=red class='bodytext'>"+label_im_at_most+"(" + num_draws_size + ")</font>";
	}
}

function applyFilter( isAddToHistory, loadShowNumberJsp, loadGenJsp, isIntelli) {
	var fodd = document.getElementById("isOdd");
	var feven = document.getElementById("isEven");

	var fred = document.getElementById("isRed");
	var fgreen = document.getElementById("isGreen");
	var fblue = document.getElementById("isBlue");
	
	var f1To10 = document.getElementById("is1To10");
	var f11To20 = document.getElementById("is11To20");
	var f21To30 = document.getElementById("is21To30");
	var f31To40 = document.getElementById("is31To40");
	var f41To49 = document.getElementById("is41To49");

	//alert("num_filter  : " + num_filter );
	//alert("o & e : " + foddAndEven.checked + ", a. color : " + fallColor.checked + ", a. region : " + fallRegion.checked);
//
	//alert(1);

	var temp_nums = num_allNum;
	var logMsg = "";

	if( isAddToHistory ) {
		logMsg += "2\t";


		// {START} build filter history
		var usedFilter = label_draw_number_filter + " - " + label_draw_odd_even + " : ";
		var needComma = false;
	
		if( fodd.checked && feven.checked ) {
			usedFilter += label_draw_all;
			logMsg += "BOTH";
		} else if( fodd.checked ) {
			usedFilter += label_draw_odd;
			logMsg += "ODD";
		} else if( feven.checked ) {
			usedFilter += label_draw_even;
			logMsg += "EVEN";
		} 
	
		usedFilter += " ";
		
		usedFilter += ", "+label_draw_color+" : ";
		
		logMsg += "\t";
		
		//alert(2);
		
		if( fred.checked && fgreen.checked && fblue.checked  ) {
			logMsg += "ALL";
			usedFilter += " " + label_draw_all;
		} else {
			if( fred.checked ) {
				usedFilter += " " + label_draw_red;
				logMsg += "RED";
				needComma = true;
			} 
			
			if( fgreen.checked ) {
				if( needComma ) {
					usedFilter += ", ";
					logMsg += ",";
				}
			
				usedFilter += " " + label_draw_green;
				logMsg += "GREEN";
				needComma = true;
			} 
			
			if( fblue.checked ) {
				if( needComma ) {
					usedFilter += ", ";
					logMsg += ",";
				}
				
				logMsg += "BLUE";
				usedFilter += " " + label_draw_blue;
			} 
		}
		
		//alert(3);
		
		logMsg += "\t";
		
		needComma = false;
		usedFilter += ", " + label_draw_region + " : ";
		
		if( f1To10.checked && f11To20.checked && f21To30.checked && f31To40.checked && f41To49.checked ) {
			usedFilter += " " + label_draw_all;
			logMsg += "ALL";
		} else {

			if( f1To10.checked ) {
				usedFilter += " 1-10";
				logMsg += "1-10";
				needComma = true;
			} 
			
			if( f11To20.checked ) {
				if( needComma ) {
					usedFilter += ", ";
					logMsg += ",";
				}
			
				usedFilter += " 11-20";
				logMsg += "11-20";
				needComma = true;
			} 
			
			if( f21To30.checked ) {
				if( needComma ) {
					usedFilter += ", ";
					logMsg += ",";
				}
				
				usedFilter += " 21-30";
				logMsg += "21-30";
				needComma = true;
			} 
			
			if( f31To40.checked ) {
				if( needComma ) {
					usedFilter += ", ";
					logMsg += ",";
				}
				
				usedFilter += " 31-40";
				logMsg += "31-40";
				needComma = true;
			} 
			
			if( f41To49.checked ) {
				if( needComma ) {
					usedFilter += ", ";
					logMsg += ",";
				}
				
				usedFilter += " 41-49";
				logMsg += "41-49";
			} 
		
		}
		
		
		//alert(4);
		
		
		
		addFilterHistory(usedFilter);
		addFilterHistory_ForSave(logMsg);
		
		//alert(5);
		
		// {END} build filter history
	
	}
	
	if( fodd.checked && !feven.checked ) {
		var nums = temp_nums.split(";");
		var tempStr = "";
		
		for( var j = 0; j < nums.length; ++j ) {
			if( nums[j] % 2 == 0 ) {
				continue;
			}
			
			tempStr += nums[j] + ";";
		}
		
		temp_nums = tempStr;
	}
	
	if( feven.checked && !fodd.checked ) {
		var nums = temp_nums.split(";");
		var tempStr = "";
		
		for( var j = 0; j < nums.length; ++j ) {
			if( nums[j] % 2 == 1 ) {
				continue;
			}
			
			tempStr += nums[j] + ";";
		}
		
		temp_nums = tempStr;
	}

	if( !fred.checked || !fblue.checked || !fgreen.checked ) {
		var nums = temp_nums.split(";");
		var tempStr = "";
		var pass = false;
		
		for( var j = 0; j < nums.length; ++j ) {
			pass = false;
			
			if( fred.checked ) {
				for( var k = 0; k < redBalls.length; ++k ) {
					if( nums[j] == redBalls[k] ) {
						pass = true;
						break;
					}
				}
			}
		
			if( !pass && fgreen.checked ) {
				for( var k = 0; k < greenBalls.length; ++k ) {
					if( nums[j] == greenBalls[k] ) {
						pass = true;
						break;
					}
				}
			}
			
			if( !pass && fblue.checked ) {
				for( var k = 0; k < blueBalls.length; ++k ) {
					if( nums[j] == blueBalls[k] ) {
						pass = true;
						break;
					}
				}
			}
			
			if( pass ) {
				tempStr += nums[j] + ";";
			}
		}
		
		temp_nums = tempStr;
	}
	
	if( !f1To10.checked || !f11To20.checked || !f21To30.checked || !f31To40.checked || !f41To49.checked ) {
		var nums = temp_nums.split(";");
		var tempStr = "";
		var pass = false;
		
		for( var j = 0; j < nums.length; ++j ) {
			pass = false;
			
			if( f1To10.checked ) {
				if( nums[j] >= 1 && nums[j] <= 10 ) {
					pass = true;
				}
			}
		
			if( f11To20.checked ) {
				if( nums[j] >= 11 && nums[j] <= 20 ) {
					pass = true;
				}
			}
		
			if( f21To30.checked ) {
				if( nums[j] >= 21 && nums[j] <= 30 ) {
					pass = true;
				}
			}
			
			if( f31To40.checked ) {
				if( nums[j] >= 31 && nums[j] <= 40 ) {
					pass = true;
				}
			}
		
			if( f41To49.checked ) {
				if( nums[j] >= 41 && nums[j] <= 49 ) {
					pass = true;
				}
			}
		
			if( pass ) {
				tempStr += nums[j]  + ";";
			}
		}
		
		temp_nums = tempStr;
	}
	
	num_filter = temp_nums;
	
	//alert("num_filter  : " + num_filter );
	
	if( loadShowNumberJsp ) {
	
		var url = "";
	
		if( curSortFilterOpt != null && curSortFilterOpt.length > 0 ) {
			url = showNumberJsp + "?filterAttr=" + curSortFilterOpt + "&excludedNum=" + excludedNum 
					+ "&includedNum=" + includedNum 
					+ "&filterNum=" + num_filter
					+ "&sortFilterNum=" + num_filter;
		} else {
			url = showNumberJsp + "?filterAttr=2&excludedNum=" + excludedNum 
					+ "&includedNum=" + includedNum 
					+ "&filterNum=" + num_filter 
					+ "&sortFilterNum=" + num_sortFilter;
		}			
				
		url += "&numStatus=" + num_status;
		url +=  "&time=" + (new Date()).getTime();
		
		if( loadGenJsp ) {
			url += "&loadGenNumJsp=1";
			if( isIntelli ) {
				url += "&isIntelli=1"
			}
		}		
		
		//alert(url);
		ajax_loadContent('saveResponseDiv', url);
	
	}
}

function applySortFilter( isAddToHistory, loadShowNumJsp, loadGenJsp, isIntelli ){
	var ff = document.getElementById("filterFreq");
	var ft = document.getElementById("filterType");

	var fn = document.getElementById("filterNum");
	var fl = document.getElementById("filterLottery");
	var fes = document.getElementById("filterExcludeSpecial");

	if( isAddToHistory ) {

		// {START} build filter history
		var usedFilter = label_draw_stat_filter + " - " + label_draw_appearance + " : ";
		var needComma = false;
	
		if( ff.value == "HIGHEST" ) {
			usedFilter += label_draw_highest;
		} else {
			usedFilter += label_draw_lowest;
		}
	
		usedFilter += "; ";
		usedFilter += label_draw_category + " : ";
	
		if( ft.value == "DRAWN_COUNT" ) {
			usedFilter += " " + label_draw_freq;
		} else {
			usedFilter += " " + label_draw_interval;
		}
		
		usedFilter += "; ";
		usedFilter += label_draw_remain_counts + " : " + fn.value;
		
		usedFilter += "; ";
		usedFilter += label_draw_included_draws + " : " + fl.value;
		
		usedFilter += "; ";
		usedFilter += label_draw_exclude_special + " : ";
		
		if( fes.value == 0 ) {
			usedFilter += label_draw_no;
		} else {
			usedFilter += label_draw_yes;
		}
		
		addFilterHistory(usedFilter);
		
		// {END} build filter history
		
		// add to log : 
		var logMsg = "1\t" + ff.value + "\t" + ft.value + "\t" + fn.value + "\t" + fl.value + "\t" + fes.value;
		addFilterHistory_ForSave(logMsg);
	}

	curSortFilterOpt = "1\t" + ff.value + "\t" + ft.value + "\t" + fn.value + "\t" + fl.value + "\t" + fes.value;

	if( loadShowNumJsp ) {
		var url = "";
		url += showNumberJsp + "?filterAttr=1\t" + ff.value + "\t" + ft.value + "\t"
				+ fn.value + "\t" + fl.value + "\t" + fes.value 
				+ "\t&excludedNum=" + excludedNum 
				+ "&includedNum=" + includedNum 
				+ "&filterNum=" + num_filter 
				+ "&sortFilterNum=" + num_filter;
		
		if( loadGenJsp ) {
			url += "&loadGenNumJsp=1";
			if( isIntelli ) {
				url += "&isIntelli=1"
			}
		}					
		
		url += "&numStatus=" + num_status;
		url +=  "&time=" + (new Date()).getTime();
		//alert(url);
		ajax_loadContent('saveResponseDiv', url);
	}
}

function addNormalNum(i, addToHistory, loadShowNumberJsp) {
	var nums = excludedNum.split(";");
	var tempStr = "";
	
	for( var j = 0; j < nums.length; ++j ) {
		if( nums[j] == i ) {
			continue;
		}
		
		tempStr += nums[j] + ";";
	}
	
	excludedNum = tempStr;

	nums = includedNum.split(";");
	tempStr = "";
	
	for( var j = 0; j < nums.length; ++j ) {
		if( nums[j] == i ) {
			continue;
		}
		
		tempStr += nums[j] + ";";
	}
	
	includedNum = tempStr;
	
	if( addToHistory ) {
		addFilterHistory_ForSave("3\tNORMAL\t" + i);
		addFilterHistory(label_draw_history_manual_stmt_prefix + i + label_draw_history_manual_stmt_suffix);
	}
	
	if( loadShowNumberJsp ) {
		var url = showNumberJsp + "?filterAttr=2&excludedNum=" + excludedNum 
					+ "&includedNum=" + includedNum 
					+ "&filterNum=" + num_filter 
					+ "&sortFilterNum=" + num_sortFilter;
					
		url += "&numStatus=" + num_status;
		url +=  "&time=" + (new Date()).getTime();
		//alert(url);
		ajax_loadContent('saveResponseDiv', url);
	}
}

function addIncludedOrExcludedNum(i, addToHistory, loadShowNumberJsp) {
	var aac = document.getElementById("actionAfterClicking_include");
	if( aac.checked ) {
		addIncludedNum(i, addToHistory, loadShowNumberJsp);
	} else {
		addExcludedNum(i, addToHistory, loadShowNumberJsp);
	}
}

function addExcludedNum(i, addToHistory, loadShowNumberJsp) {
	var nums = excludedNum.split(";");
	
	for( var j = 0; j < nums.length; ++j ) {
		if( nums[j] == i ) {
			return;
		}
	}
	
	excludedNum += i  + ";";
	
	nums = includedNum.split(";");
	var tempStr = "";
	
	for( var j = 0; j < nums.length; ++j ) {
		if( nums[j] == i ) {
			continue;
		}
		
		tempStr += nums[j] + ";";
	}
	
	includedNum = tempStr;
	
	if( addToHistory ) {
		addFilterHistory_ForSave("3\tEXCLUDE\t" + i);
		addFilterHistory(label_draw_history_exclude + i);
	}
	
	if( loadShowNumberJsp ) {
		var url = showNumberJsp + "?filterAttr=2&excludedNum=" + excludedNum 
					+ "&includedNum=" + includedNum 
					+ "&filterNum=" + num_filter 
					+ "&sortFilterNum=" + num_sortFilter;
					
		url += "&numStatus=" + num_status;		
		url +=  "&time=" + (new Date()).getTime();
		//alert(url);
		ajax_loadContent('saveResponseDiv', url);
	}
}

function addIncludedNums(ia, addToHistory, loadShowNumberJsp) {
	for( var k = 0; k < ia.length; ++k ) {
		var i = ia[k];
		var found = false;
		var nums = includedNum.split(";");
	
		for( var j = 0; j < nums.length; ++j ) {
			if( nums[j] == i ) {
				found = true;
				break;
			}
		}
		
		if( found ) {
			continue;
		}
		
		includedNum += i  + ";";
		
		nums = excludedNum.split(";");
		var tempStr = "";
		
		for( var j = 0; j < nums.length; ++j ) {
			if( nums[j] == i ) {
				continue;
			}
			
			tempStr += nums[j] + ";";
		}
		
		excludedNum = tempStr;
		
		if( addToHistory ) {
			addFilterHistory_ForSave("3\tINCLUDE\t" + i);
			addFilterHistory(label_draw_history_include + i);
		}
	}
	
	if( loadShowNumberJsp ) {
		var url = showNumberJsp + "?filterAttr=2&excludedNum=" + excludedNum 
					+ "&includedNum=" + includedNum 
					+ "&filterNum=" + num_filter 
					+ "&sortFilterNum=" + num_sortFilter;
					
		url += "&numStatus=" + num_status;
		url +=  "&time=" + (new Date()).getTime();
		//alert(url);
		ajax_loadContent('saveResponseDiv', url);
	}
}

function addIncludedNum(i, addToHistory, loadShowNumberJsp) {
	var nums = includedNum.split(";");
	
	for( var j = 0; j < nums.length; ++j ) {
		if( nums[j] == i ) {
			return;
		}
	}
	
	includedNum += i  + ";";
	
	nums = excludedNum.split(";");
	var tempStr = "";
	
	for( var j = 0; j < nums.length; ++j ) {
		if( nums[j] == i ) {
			continue;
		}
		
		tempStr += nums[j] + ";";
	}
	
	excludedNum = tempStr;
	
	if( addToHistory ) {
		addFilterHistory_ForSave("3\tINCLUDE\t" + i);
		addFilterHistory(label_draw_history_include + i);
	}
	
	if( loadShowNumberJsp ) {
		var url = showNumberJsp + "?filterAttr=2&excludedNum=" + excludedNum 
					+ "&includedNum=" + includedNum 
					+ "&filterNum=" + num_filter 
					+ "&sortFilterNum=" + num_sortFilter;
					
		url += "&numStatus=" + num_status;
		url +=  "&time=" + (new Date()).getTime();
		//alert(url);
		ajax_loadContent('saveResponseDiv', url);
	}
}

function includeAllNum(addToHistory, loadShowNumberJsp) {
	includedNum = num_allNum;
	excludedNum = "";

	if( addToHistory ) {
		addFilterHistory_ForSave("3\tINCLUDE_ALL");
		addFilterHistory(label_draw_manual_include_all);
	}
	
	if( loadShowNumberJsp ) {
		var url = showNumberJsp + "?filterAttr=2&excludedNum=" + excludedNum 
					+ "&includedNum=" + includedNum 
					+ "&filterNum=" + num_filter 
					+ "&sortFilterNum=" + num_sortFilter;
					
		url += "&numStatus=" + num_status;
		url +=  "&time=" + (new Date()).getTime();
		//alert(url);
		ajax_loadContent('saveResponseDiv', url);
	}
}

function excludeAllNum(addToHistory, loadShowNumberJsp) {
	excludedNum = num_allNum;
	includedNum = "";

	if( addToHistory ) {
		addFilterHistory_ForSave("3\tEXCLUDE_ALL");
		addFilterHistory(label_draw_manual_exclude_all);
	}
	
	if( loadShowNumberJsp ) {
		var url = showNumberJsp + "?filterAttr=2&excludedNum=" + excludedNum 
					+ "&includedNum=" + includedNum 
					+ "&filterNum=" + num_filter 
					+ "&sortFilterNum=" + num_sortFilter;
					
		url += "&numStatus=" + num_status;
		url +=  "&time=" + (new Date()).getTime();
		//alert(url);
		ajax_loadContent('saveResponseDiv', url);
	}
}

function alignOddEvenCheckboxes( oddEven ) {
	if( oddEven == "ALL" ) {
		setOddEvenCheckboxes( true, true );
		return;
	} else if( oddEven == "NONE" ) {
		setOddEvenCheckboxes( false, false );
		return;
	} 
	
	var fodd = document.getElementById("isOdd");
	var feven = document.getElementById("isEven");
	if( !fodd.checked && !feven.checked ) {
		if( oddEven == "ODD" ) {
			fodd.checked = true;
		} else if( oddEven == "EVEN" ) {
			feven.checked = true;
		} 
	}
}

function setOddEvenCheckboxes( isOddNum, isEvenNum ) {
	var fodd = document.getElementById("isOdd");
	var feven = document.getElementById("isEven");
	
	feven.checked = isEvenNum;
	fodd.checked = isOddNum;
}

function alignColorCheckboxes( color ) {
	var fred = document.getElementById("isRed");
	var fgreen = document.getElementById("isGreen");
	var fblue = document.getElementById("isBlue");

	//alert(fred.checked  + " : " +  fgreen.checked + " : " + fblue.checked);
	
	if( color == "ALL" ) {
		fred.checked = true;
		fgreen.checked = true;
		fblue.checked = true;
	} else if( color == "NONE" ) {
		fred.checked = false;
		fgreen.checked = false;
		fblue.checked = false;
	} else if( !fred.checked && !fgreen.checked && !fblue.checked ) {
		if( color == "RED" ) {
			fred.checked = true;
		} else if( color == "GREEN" ) {
			fgreen.checked = true;
		} else if( color == "BLUE" ) {
			fblue.checked = true;
		}
	}
}

function setColorCheckboxes( isRedColor, isGreenColor, isBlueColor ) {
	var fred = document.getElementById("isRed");
	var fgreen = document.getElementById("isGreen");
	var fblue = document.getElementById("isBlue");

	fred.checked = isRedColor;
	fgreen.checked = isGreenColor;
	fblue.checked = isBlueColor;
}

function setRegionCheckboxes( is1To10Value, is11To20Value, is21To30Value, is31To40Value, is41To49Value ) {
	var f1To10 = document.getElementById("is1To10");
	var f11To20 = document.getElementById("is11To20");
	var f21To30 = document.getElementById("is21To30");
	var f31To40 = document.getElementById("is31To40");
	var f41To49 = document.getElementById("is41To49");
	
	f1To10.checked = is1To10Value;
	f11To20.checked = is11To20Value;
	f21To30.checked = is21To30Value;
	f31To40.checked = is31To40Value;
	f41To49.checked = is41To49Value;
}

function alignRegionCheckboxes( region ) {
	if ( region == "ALL" ) {
		setRegionCheckboxes( true, true, true, true, true );
		return;
	} else if ( region == "NONE" ) {
		setRegionCheckboxes( false, false, false, false, false );
		return;
	}

	var f1To10 = document.getElementById("is1To10");
	var f11To20 = document.getElementById("is11To20");
	var f21To30 = document.getElementById("is21To30");
	var f31To40 = document.getElementById("is31To40");
	var f41To49 = document.getElementById("is41To49");
	
	if( !f1To10.checked && !f11To20.checked && !f21To30.checked && !f31To40.checked && !f41To49.checked ) {
		if( region == "1-10" ) {
			f1To10.checked = true;
		} else if( region == "11-20" ) {
			f11To20.checked = true;
		} else if( region == "21-30" ) {
			f21To30.checked = true;
		} else if( region == "31-40" ) {
			f31To40.checked = true;
		} else if( region == "41-49" ) {
			f41To49.checked = true;
		}
	}
}

function loadFilterTr(isShow) {		
	var trEl = document.getElementById("filterTr");
	var rubbishBinTBodyObj = document.getElementById("rubbishBinTBody");
	var column1TBodyObj = document.getElementById("column1TBody");
	
	if( isShow != null ) {
		if( isShow ) {
			column1TBodyObj.appendChild(trEl);
			isFilterTrVisible = true;
			
			loadHelpTr(false);
			loadSortFilterTr(false);
			loadLoadSavedFilterTr(false);
			loadSaveFilterTr(false);
			
		} else {
			rubbishBinTBodyObj.appendChild(trEl);
			isFilterTrVisible = false;
		}
	} else {
		if( !isFilterTrVisible ) {
			column1TBodyObj.appendChild(trEl);
			isFilterTrVisible = true;
			
			loadHelpTr(false);
			loadSortFilterTr(false);
			loadLoadSavedFilterTr(false);
			loadSaveFilterTr(false);
			
		} else {
			rubbishBinTBodyObj.appendChild(trEl);
			isFilterTrVisible = false;
		}
	}
}

function loadHelpTr(isShow) {		
	var trEl = document.getElementById("helpTr");
	var rubbishBinTBodyObj = document.getElementById("rubbishBinTBody");
	var column1TBodyObj = document.getElementById("column1TBody");
	
	if( isShow != null ) {
		if( isShow ) {
			column1TBodyObj.appendChild(trEl);
			isHelpTrVisible = true;
			
			loadFilterTr(false);
			loadSortFilterTr(false);
			loadLoadSavedFilterTr(false);
			loadSaveFilterTr(false);
			
		} else {
			rubbishBinTBodyObj.appendChild(trEl);
			isHelpTrVisible = false;
		}
	} else {
		if( !isHelpTrVisible ) {
			column1TBodyObj.appendChild(trEl);
			isHelpTrVisible = true;
			
			loadFilterTr(false);
			loadSortFilterTr(false);
			loadLoadSavedFilterTr(false);
			loadSaveFilterTr(false);
			
		} else {
			rubbishBinTBodyObj.appendChild(trEl);
			isHelpTrVisible = false;
		}
	}
}

function loadSortFilterTr(isShow) {		
	var trEl = document.getElementById("sortFilterTr");
	var rubbishBinTBodyObj = document.getElementById("rubbishBinTBody");
	var column1TBodyObj = document.getElementById("column1TBody");
	
	if( isShow != null ) {
		if( isShow ) {
			column1TBodyObj.appendChild(trEl);
			isSortFilterTrVisible = true;
			
			loadFilterTr(false);
			loadHelpTr(false);
			loadLoadSavedFilterTr(false);
			loadSaveFilterTr(false);
			
		} else {
			rubbishBinTBodyObj.appendChild(trEl);
			isSortFilterTrVisible = false;
		}
	} else {
		if( !isSortFilterTrVisible ) {
			column1TBodyObj.appendChild(trEl);
			isSortFilterTrVisible = true;
			
			loadFilterTr(false);
			loadHelpTr(false);
			loadLoadSavedFilterTr(false);
			loadSaveFilterTr(false);
			
		} else {
			rubbishBinTBodyObj.appendChild(trEl);
			isSortFilterTrVisible = false;
		}
	}
}

function loadLoadSavedFilterTr(isShow) {
	var trEl = document.getElementById("loadSavedFilterTr");
	var rubbishBinTBodyObj = document.getElementById("rubbishBinTBody");
	var column1TBodyObj = document.getElementById("column1TBody");
	
	if( isShow != null ) {
		if( isShow ) {
			column1TBodyObj.appendChild(trEl);
			isLoadSavedFilterTrVisible = true;
			
			loadFilterTr(false);
			loadHelpTr(false);
			loadSortFilterTr(false);
			loadSaveFilterTr(false);
			
		} else {
			rubbishBinTBodyObj.appendChild(trEl);
			isLoadSavedFilterTrVisible = false;
		}
	} else {
		if( !isLoadSavedFilterTrVisible ) {
			column1TBodyObj.appendChild(trEl);
			isLoadSavedFilterTrVisible = true;
			
			loadFilterTr(false);
			loadHelpTr(false);
			loadSortFilterTr(false);
			loadSaveFilterTr(false);
			
		} else {
			rubbishBinTBodyObj.appendChild(trEl);
			isLoadSavedFilterTrVisible = false;
		}
	}
}

function loadSaveFilterTr(isShow) {
	var trEl = document.getElementById("saveFilterTr");
	var rubbishBinTBodyObj = document.getElementById("rubbishBinTBody");
	var column1TBodyObj = document.getElementById("column1TBody");
	
	if( document.getElementById("saveFilterResponseDiv") != null ) {
		document.getElementById("saveFilterResponseDiv").innerHTML = "";
	}
	
	if( isShow != null ) {
		if( isShow ) {
			column1TBodyObj.appendChild(trEl);
			isloadSaveFilterTr = true;
			
			loadFilterTr(false);
			loadHelpTr(false);
			loadSortFilterTr(false);
			loadLoadSavedFilterTr(false);
		} else {
			rubbishBinTBodyObj.appendChild(trEl);
			isloadSaveFilterTr = false;
		}
	} else {
		if( !isloadSaveFilterTr ) {
			column1TBodyObj.appendChild(trEl);
			isloadSaveFilterTr = true;
			
			loadFilterTr(false);
			loadHelpTr(false);
			loadSortFilterTr(false);
			loadLoadSavedFilterTr(false);
			
		} else {
			rubbishBinTBodyObj.appendChild(trEl);
			isloadSaveFilterTr = false;
		}
	}
}



function loadSaveNumTr(isShow) {
	var trEl = document.getElementById("saveNumTr");
	var rubbishBinTBodyObj = document.getElementById("rubbishBinTBody");
	var column3TBodyObj = document.getElementById("column3TBody");
	
	//alert(trEl);
	//alert(column3TBodyObj);
	
	if( document.getElementById("saveNumResponseDiv") != null ) {
		document.getElementById("saveNumResponseDiv").innerHTML = "";
		document.getElementById("saveNumResponseDiv").style.display = "none";
		document.getElementById("saveNumResponseDiv").style.visibility = "hidden";
	}
	
	//alert(1);
	
	if( isShow != null ) {
		//alert(2);
		if( isShow ) {
			//alert(3);
		
			column3TBodyObj.appendChild(trEl);
			isSaveNumTrVisible = true;
			loadLoadNumTr(false);
			
		} else {
			rubbishBinTBodyObj.appendChild(trEl);
			isSaveNumTrVisible = false;
		}
	} else {
		//alert(1);
		if( !isSaveNumTrVisible ) {
			//alert(2);
			column3TBodyObj.appendChild(trEl);
			//alert(3);
			isSaveNumTrVisible = true;
			//alert(4);
			loadLoadNumTr(false);
			//alert(5);
		} else {
			//alert(6);
			rubbishBinTBodyObj.appendChild(trEl);
			//alert(7);
			isSaveNumTrVisible = false;
			//alert(8);
		}
	}
}

function loadLoadNumTr(isShow) {
	var trEl = document.getElementById("loadNumTr");
	var rubbishBinTBodyObj = document.getElementById("rubbishBinTBody");
	var column3TBodyObj = document.getElementById("column3TBody");
	
	if( isShow != null ) {
		if( isShow ) {
			column3TBodyObj.appendChild(trEl);
			isLoadNumTrVisible = true;
			
			loadSaveNumTr(false);
		} else {
			rubbishBinTBodyObj.appendChild(trEl);
			isLoadNumTrVisible = false;
		}
	} else {
		if( !isLoadNumTrVisible ) {
			column3TBodyObj.appendChild(trEl);
			isLoadNumTrVisible = true;
			
			loadSaveNumTr(false);
		} else {
			rubbishBinTBodyObj.appendChild(trEl);
			isLoadNumTrVisible = false;
		}
	}
}

function checkAllGenNum() {
	if( generatedSets == null ) {
		return;
	}
	

	for( var i = 0; i < generatedSets.length; ++i ) {
		var el = document.getElementById("isSave" + i);
		if( el.checked ) {
			continue;
		}
		
		el.checked = true;
	}
}

function checkNoGenNum() {
	if( generatedSets == null ) {
		return;
	}

	for( var i = 0; i < generatedSets.length; ++i ) {
		var el = document.getElementById("isSave" + i);
		if( !el.checked ) {
			continue;
		}
		
		el.checked = false;
	}
}

