/**
 * Global Variable
 *
 */
var tab_change_interbal_ms = 2000;	//2sec
var dom = new Object();
dom.ajax = new Object();
dom.core = new Object();
dom.event = new Object();



/**
 * Ajax
 *
 */
dom.ajax.httpGetRequest = function(url, callback, headers) {
	/* Create XMLHttpRequest Object */
	var oHttp = null;
	if(window.XMLHttpRequest) {
		oHttp = new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		try {
			oHttp = new window.ActiveXObject("Msxml2.XMLHTTP.3.0");
		} catch(e) {
			return null;
		}
	}
	if( oHttp != null ) {
		/* HTTP GET Request */
		oHttp.open('GET', url, true);
		/* Set Request Header */
		if( typeof(headers) == 'object' ) {
			for(var name in headers) {
				oHttp.setRequestHeader(name, headers[name]);
			}
		}
		/* Define the Callback Function of the state change evnet */
		oHttp.onreadystatechange = function() {
			if (oHttp.readyState == 4) {
				callback(oHttp);
			}
		};
		/* Send HTTP GET Request*/
		oHttp.send(null);
	}
	/* Return oHttp Object */
	return oHttp;
};



/**
 * Core
 *
 */
dom.core.removeChildNodes = function(node) {
  while( node.hasChildNodes() ) {
    node.removeChild(node.lastChild);
  }
}

dom.core.getTextContent = function(node) {
  var text = "";
  if(! node) { return text; }
  if(typeof node.textContent != "undefined") {
    text = node.textContent;
  } else if(typeof node.innerText != "undefined") {
    text = node.innerText;
  } else if( node.hasChildNodes() ) {
    for (var i = node.childNodes.length; i--;) {
      var o = node.childNodes.item(i);
      if(o.nodeType == 3) {
        text = o.nodeValue + text;
      } else {
        text = dom.core.getTextContent(o) + text;
      }
    }
  }
  return text;
}



/**
 * Event
 *
 */
dom.event.addEventListener = function(elm, type, func, useCapture) {
	if(! elm) { return false; }
	if(! useCapture) {
		useCapture = false;
	}
	if(elm.addEventListener) {
		elm.addEventListener(type, func, false);
	} else if(elm.attachEvent) {
		elm.attachEvent('on'+type, func);
	} else {
		return false;
	}
	return true;
};

dom.event.target = function(evt) {
	/* W3C DOM browser */
	if(evt && evt.target) {
		/* for Safari 1.3 */
		if(evt.target.nodeType == 3) {
			return evt.target.parentNode;
		} else {
			return evt.target;
		}
	/* Internet Explorer */
	} else if(window.event && window.event.srcElement) {
		return window.event.srcElement;
	/* other */
	} else {
		return null;
	}
};

dom.event.preventDefault = function(evt) {
  /* W3C DOM browser */
  if(evt && evt.preventDefault) {
    evt.preventDefault();
    /* for Safari 1.3 */
    evt.currentTarget['on'+evt.type] = function() {return false;};
  /* Internet Explorer */
  } else if(window.event) {
    window.event.returnValue = false;
  }
};


/**
 * Set EventListener
 *
 */
dom.event.addEventListener(window, 'load', initDocument);
function initDocument() {
	simplePopup();
	headlineTabDisplay();
	nightonTabDisplay();
	setTimeId = setInterval('changeHeadlineTabTimer()',tab_change_interbal_ms);	//for Timer
	setTimeId = setInterval('changeNightonTabTimer()',tab_change_interbal_ms);	//for Timer
}


/**
 * Area Menu
 *
 */
function simplePopup() {
	
	var Parent = document.getElementById('areaList').getElementsByTagName('DL');
	var ParentLength = Parent.length;
	
	for(var i = 0; i < ParentLength; i++){	
		Parent[i].onmouseover = function() {
				this.className = "on";
//				this.setAttribute('class','on');
//				this.setAttribute("class", this.getAttribute("class").replace("off", "on"));
			}
		Parent[i].onmouseout = function() {
				this.className = "off";
//				this.setAttribute('class','off');
//				this.setAttribute("class", this.getAttribute("class").replace("on", "off"));
			}
	}
	
}


/**
 * Top Page Headline Menu
 *
 */
function headlineTabDisplay() {
	
	var headlineWrap = document.getElementById('newsList');
	var newsList = headlineWrap.getElementsByTagName('dl');
	var newsListLength = newsList.length;
	
	for (var i = 0; i < newsListLength; i++) {
		var dlList = newsList[i];
		var dtList = dlList.getElementsByTagName('dt');
		var aList = dtList.item(0).getElementsByTagName('a');
		dom.event.addEventListener(aList.item(0), 'mouseover', headlineMouseOverDisplay);
	}
	
	dom.event.addEventListener(headlineWrap, 'mouseover', clearHeadlineTimer);	//for Timer
	dom.event.addEventListener(headlineWrap, 'mouseout',  setHeadlineTimer);	//for Timer
	
}

function headlineMouseOverDisplay(evt) {
	
	var targetElm = dom.event.target(evt);
	var dtElm = targetElm.parentNode;
	var dlElm = dtElm.parentNode;
	var wrapElm = dlElm.parentNode;
	
	if (wrapElm.id == 'newsList') {
		var topicList = wrapElm.getElementsByTagName('dl');
		var topicListLength = topicList.length;
		for (var i = 0; i < topicListLength; i++) {
			topicList[i].className = 'off';
		}
		dlElm.className = 'on';
	}
	
}


/**
 * Top Page Headline Menu
 *
 */
function changeHeadlineTabTimer() {
	
	var newsList = document.getElementById('newsList').getElementsByTagName('dl');
	var newsListLength = newsList.length;
	var displayId = 'newsMenu01';
	
	for (var i = 0; i < newsListLength; i++) {
		var dlList = newsList[i];
		if (dlList.className == 'on') {
			if (i + 1 != newsListLength) {
				displayId = 'newsMenu0' + (i+2);
			}
			break;
		}
	}
	
	var nextTabDl = document.getElementById(displayId);
	
	for (var i = 0; i < newsListLength; i++) {
		var dlList = newsList[i];
		if (dlList.id == displayId) {
			dlList.className = "on";
		} else {
			dlList.className = "off";
		}
	}
	
}

function clearHeadlineTimer() {
	clearInterval(setTimeId);	//for Timer
}

function setHeadlineTimer() {
	setTimeId = setInterval('changeHeadlineTabTimer()',tab_change_interbal_ms);	//for Timer
}





/**
 * Top Page nighton Menu
 *
 */
function nightonTabDisplay() {
	
	var nightonWrap = document.getElementById('columnList');
	var newsList = nightonWrap.getElementsByTagName('dl');
	var newsListLength = newsList.length;
	
	for (var i = 0; i < newsListLength; i++) {
		var dlList = newsList[i];
		var dtList = dlList.getElementsByTagName('dt');
		var aList = dtList.item(0).getElementsByTagName('a');
		dom.event.addEventListener(aList.item(0), 'mouseover', nightonMouseOverDisplay);
	}
	
	dom.event.addEventListener(nightonWrap, 'mouseover', clearNightonTimer);	//for Timer
	dom.event.addEventListener(nightonWrap, 'mouseout',  setNightonTimer);	//for Timer
	
}

function nightonMouseOverDisplay(evt) {
	
	var targetElm = dom.event.target(evt);
	var dtElm = targetElm.parentNode;
	var dlElm = dtElm.parentNode;
	var wrapElm = dlElm.parentNode;
	
	if (wrapElm.id == 'columnList') {
		var topicList = wrapElm.getElementsByTagName('dl');
		var topicListLength = topicList.length;
		for (var i = 0; i < topicListLength; i++) {
			topicList[i].className = 'off';
		}
		dlElm.className = 'on';
	}
	
}


/**
 * Top Page nighton Menu
 *
 */
function changeNightonTabTimer() {
	
	var newsList = document.getElementById('columnList').getElementsByTagName('dl');
	var newsListLength = newsList.length;
	var displayId = 'newsMenu04';
	for (var i = 0; i < newsListLength; i++) {
		var dlList = newsList[i];
		if (dlList.className == 'on') {
			if (i + 1 != newsListLength) {
				displayId = 'newsMenu0' + (i+5);
			}
			break;
		}
	}
	
	var nextTabDl = document.getElementById(displayId);
	
	for (var i = 0; i < newsListLength; i++) {
		var dlList = newsList[i];
		if (dlList.id == displayId) {
			dlList.className = "on";
		} else {
			dlList.className = "off";
		}
	}
	
}

function clearNightonTimer() {
	clearInterval(setTimeId);	//for Timer
}

function setNightonTimer() {
	setTimeId = setInterval('changeNightonTabTimer()',tab_change_interbal_ms);	//for Timer
}


/**
 * Pokepara News
 *
 */
function changeFrame(type) {
	
	var flame_name = document.getElementById('PokeparaNewsList');
	var news_title = document.getElementById('pokeparaNewsTitle');
	var olList = document.getElementById('pokeparaNewsLink').getElementsByTagName('li');
	var elemA = document.getElementById(type + 'Link');
	
	flame_name.src = '/entrances/pokepara/' + type + '/';
	for (var i = 0; i < olList.length; i++) {
		var liId = olList[i].id;
		var linkText = dom.core.getTextContent(olList[i]);
		var textNode = document.createTextNode(linkText);
		dom.core.removeChildNodes(olList[i]);
		if (liId == type) {
			dom.core.removeChildNodes(news_title);
			news_title.appendChild( document.createTextNode(linkText) );
			olList[i].appendChild(textNode);
		} else {
			var aNode = document.createElement('a');
			aNode.id = liId + 'List';
			aNode.id = liId;
			aNode.href = "javascript:changeFrame('" + liId + "')";
			aNode.appendChild(textNode);
			olList[i].appendChild(aNode);
		}
	}
	if (elemA) {
		return false;
	}

}


/**
 * Count
 *
 */
function ccab (id){
	var url = '/advertisesbannercounts/index/'+id+'/';
	var callback = function(oHttp){};
	var oHttp = dom.ajax.httpGetRequest(url, callback);
	if (!oHttp) {}
}
function ccat (id){
	var url = '/advertisecounts/index/'+id+'/';
	var callback = function(oHttp){};
	var oHttp = dom.ajax.httpGetRequest(url, callback);
	if (!oHttp) {}
}
function ccas (id){
	var url = '/shopcounts/index/'+id+'/';
	var callback = function(oHttp){};
	var oHttp = dom.ajax.httpGetRequest(url, callback);
	if (!oHttp) {}
}

