﻿RiverMenuItemHandler=function(handlerParameter){
	this.handlerParameter = handlerParameter;
}
RiverMenuItemHandler.prototype.fireMenuItemSelected=function(selectedItem){
	var link = selectedItem.link;

	var subMenuDiv = document.getElementById("subMenuDiv");
	subMenuDiv.style.top="0px";
	subMenuDiv.style.left="0px";
	if(subMenuDiv){
		while(subMenuDiv.hasChildNodes()){
			subMenuDiv.removeChild(subMenuDiv.firstChild);
		}
		var applyParameter = function(){
			var url = "Now.do";
		    var loader = new xmlLoader(url,new InitDateCallBack());
		    loader.start();
		}

		if((this.handlerParameter) && this.handlerParameter.length > 0 && this.handlerParameter[0]){

			subMenuDiv.style.position = "absolute";
			subMenuDiv.style.top = "65px";
			subMenuDiv.style.left = "585px";
			subMenuDiv.style.verticalAlign="middle";
			subMenuDiv.style.fontSize = "12px";
			if(this.handlerParameter[0].info){
				var groupDiv = document.createElement("div");
				groupDiv.style.width ="146px";
				groupDiv.style.height="27px";
				groupDiv.style.backgroundColor = "#CCCCCC";
				groupDiv.style.position = "absolute";
				groupDiv.style.top = "0px";
				groupDiv.style.left = "-66px";
				groupDiv.style.textAlign = "center";
				groupDiv.style.verticalAlign = "middle";
				
				subMenuDiv.appendChild(groupDiv);
			
				var groupSpan = document.createElement("span");
				groupSpan.style.verticalAlign="middle";
				var groupSelect = document.createElement("select");
				groupSelect.style.verticalAlign="middle";
				groupSelect.style.width = "140px";
				groupSpan.appendChild(groupSelect);
				groupDiv.appendChild(groupSpan);
				
				var pagingDiv = document.createElement("div");
				pagingDiv.style.width ="140px";
				pagingDiv.style.height="27px";
				pagingDiv.style.backgroundColor = "orange";
				pagingDiv.style.position = "absolute";
				pagingDiv.style.top = "0px";
				pagingDiv.style.left = "82px";
				pagingDiv.style.textAlign = "center";
				pagingDiv.style.verticalAlign = "middle";
				subMenuDiv.appendChild(pagingDiv);
				
				var pagePrevSpan = document.createElement("span");
				pagePrevSpan.style.verticalAlign = "middle";
				pagingDiv.appendChild(pagePrevSpan);
				var prevButton = document.createElement("button");
				prevButton.style.verticalAlign = "middle";
				prevButton.appendChild(document.createTextNode("＜"));
				pagePrevSpan.appendChild(prevButton);
				pagingDiv.appendChild(document.createTextNode("Page"));
				
				var pageSelectSpan = document.createElement("span");
				pageSelectSpan.style.verticalAlign = "middle";
				var pageSelect = document.createElement("select");
				pageSelect.style.verticalAlign = "middle";
				pageSelect.style.width = "40px";
				pageSelectSpan.appendChild(pageSelect);
				pagingDiv.appendChild(pageSelectSpan);
			
				pagingDiv.appendChild(document.createTextNode("/"));
				
				var totalPageSpan = document.createElement("span");
				pagingDiv.appendChild(totalPageSpan);
				
				
				var pageNextSpan = document.createElement("span");
				pageNextSpan.style.verticalAlign = "middle";
				pagingDiv.appendChild(pageNextSpan);
				var nextButton = document.createElement("button");
				nextButton.style.verticalAlign = "middle";
				nextButton.appendChild(document.createTextNode("＞"));
				pageNextSpan.appendChild(nextButton);
				
				
				function changePage(quant){
					var dest = parseInt(pageSelect.value) + quant;
					if(dest > 0 && dest <= groupSelect[groupSelect.selectedIndex].group.tpg){
						pageSelect.value = dest;
						applyParameter();
					}
				}
				
				
				function next(){
					changePage(1);
				}
				nextButton.onclick = next;
	
				function prev(){
					changePage(-1);
				}
				prevButton.onclick = prev;
				
				
		
			    var groupChanged = function(){
					var group = groupSelect[groupSelect.selectedIndex].group;
					while(pageSelect.hasChildNodes()){
						pageSelect.removeChild(pageSelect.firstChild);
					}
					while(totalPageSpan.hasChildNodes()){
						totalPageSpan.removeChild(totalPageSpan.firstChild);
					}
					totalPageSpan.appendChild(document.createTextNode(group.tpg));
					for(var i = 1; i<= group.tpg;i++){
						var opt = document.createElement("option");
						opt.appendChild(document.createTextNode(i));
						pageSelect.appendChild(opt);
						opt.value = i;
					}
					applyParameter();
			    }
			    
			    groupSelect.onchange = groupChanged;
			    pageSelect.onchange = applyParameter;
				
			}
			if(this.handlerParameter[0].ktm || this.handlerParameter[0].rgl){			
				var ktmDiv = document.createElement("div");
				ktmDiv.style.width ="190px";
				ktmDiv.style.height="27px";
				ktmDiv.style.position = "absolute";
				ktmDiv.style.top = "0px";
				ktmDiv.style.left = "225px";
				ktmDiv.style.textAlign = "center";
				ktmDiv.style.verticalAlign = "middle";
				if(this.handlerParameter[0].ktm){
					ktmDiv.style.backgroundColor = "#000099";
					ktmDiv.style.color="white";
					var ktmHour = document.createElement("<INPUT id=ktmHour type=radio name=ktm value=1 checked>");
					var ktm10m = document.createElement("<INPUT id=ktm10m type=radio name=ktm value=3>");
					ktmDiv.appendChild(ktmHour);
					ktmDiv.appendChild(document.createTextNode("時間"));
					ktmDiv.appendChild(ktm10m);		
					ktmDiv.appendChild(document.createTextNode("10分"));
					subMenuDiv.appendChild(ktmDiv);
				}else if(this.handlerParameter[0].rgl){
					ktmDiv.style.backgroundColor = "#FFFF99";
					ktmDiv.style.color="black";
					var ktmHour = document.createElement("<INPUT id=ktmHour type=radio name=rgl value=1 checked>");
					var ktm10m = document.createElement("<INPUT id=ktm10m type=radio name=rgl value=6>");
					ktmDiv.appendChild(ktmHour);
					ktmDiv.appendChild(document.createTextNode("警戒値(60分)"));
					ktmDiv.appendChild(ktm10m);		
					ktmDiv.appendChild(document.createTextNode("警戒値(累加)"));
					subMenuDiv.appendChild(ktmDiv);
				}
			}
			

			
			
			var handlerParameter = this.handlerParameter;
			function InitDateCallBack(){
			    this.callback2 = function(txt){
					var date = eval(txt);
					if(date){
						var odate = IFX.gui.util.DateParser.toDate(date[0].jsDate);
						var destDate = Dosha.DTParser.parse(odate,handlerParameter[0],handlerParameter[0]);
						var param = "&DT=" + destDate;
						
						
						if((handlerParameter) && handlerParameter.length > 0 && handlerParameter[0] && (handlerParameter[0].info || handlerParameter[0].ktm || handlerParameter[0].rgl)){
							var ktmValue = 1;
							if(handlerParameter[0].info){
								var group = groupSelect[groupSelect.selectedIndex].group;
								var page = pageSelect[pageSelect.selectedIndex].value;
								param = param + "&GRP=" + group.code  + "&TPG=" + group.tpg + "&PG=" + page;
							}
							
							
							if(handlerParameter[0].ktm){
								if(ktmHour.checked){
									ktmValue = 1
								}else if(ktm10m.checked){
									ktmValue = 3
								}
								param = param + "&KTM=" + ktmValue;
							}else if(handlerParameter[0].rgl){
								if(ktmHour.checked){
									ktmValue = 1
								}else if(ktm10m.checked){
									ktmValue = 6
								}
								param = param + "&RGL=" + ktmValue;																
							}
						}
						window.parent.gamen1.location.href = link + param;
					}
			    }
			}
			

		    if(ktmHour){
		    	ktmHour.onclick = applyParameter;
		    }
		    if(ktm10m){
		    	ktm10m.onclick = applyParameter;		    
		    }
		    
		
			
			if(this.handlerParameter[0].info){
		
				function InitGroupCallBack(){
				    this.callback2 = function(txt){
						var ro = eval(txt);
						if(ro){
							while(groupSelect.hasChildNodes()){
								groupSelect.removeChild(groupSelect.firstChild);
							}
							for(var i = 0; i< ro.length;i++){
								var opt = document.createElement("option");
								opt.appendChild(document.createTextNode(ro[i].name));
								groupSelect.appendChild(opt);
								opt.group = ro[i];
							}
							if(ro.length == 1 && ro[0].code == "000000"){
								groupDiv.style.display = "none";
							}
							groupChanged();
						}
				    }
				}
				var url = "Group.do?id=" + this.handlerParameter[0].info;
			    var loader = new xmlLoader(url,new InitGroupCallBack());
			    loader.start();
		    }else{
		    	applyParameter();
		    }
	    }
	}
}


RiverMenuItemHandler.prototype.fireTopMenuItemSelected=function(selectedItem){
	openFramePage(selectedItem.link);
}



