var dom = new Object;
dom.event = new Object;

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.removeEventListener = function(elm,type,func,useCapture){
    if(! elm){return false;}
    if(! useCapture){
    useCapture = false();
    }
    if(elm.removeEventListener){
        elm.removeEventListener(type,func,false);
    }else if(elm.datachEvent){
        elm.datachEvent("on"+type,func);
        }else{
            return false;
            }
        return true;
};

dom.event.stopPropagation = function(evt){
    if(evt && evt.stopPropagation){
    evt.stopPropagation();
    }else if(window.event){
        window.event.cancelBubble = true;
    }
}

function sendRequest( url, callback, method, data )
{
  var req = createXMLHTTP();
  if( !req ){ return; }
  req.onreadystatechange = function(){
    getResponse( req, callback );
  }
  if(method.toUpperCase() == 'GET' && data.length > 0){
    url += '?'+ data;
    data = '';
  }
  req.open( method, url, true );
  req.setRequestHeader("Content-Type", 
                       "application/x-www-form-urlencoded; charset=UTF-8");
  req.send( data );
}
function createXMLHTTP()
{
  if( window.XMLHttpRequest ){
    return new XMLHttpRequest();
  }
  else if( window.ActiveXObject ){
    try {
      return new ActiveXObject("MSXML2.XMLHTTP");
    }
    catch (e) {
      try {
        return new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e2) {
        return null;
      }
    }
  }
  return null
}
function getResponse( req, callback )
{
  if( req.readyState == 4 ){
    if( req.responseText ){
      callback(req);
    }
  }
}

dom.event.addEventListener(window,"load",function(){
	disp();
});

function disp(){
    sendRequest("service.xml",navAjax,"GET","");
}


function navAjax(req){
	var outPutArea = document.getElementById("service-nav");
  var xmlUnit = req.responseXML.getElementsByTagName("unit");
	//array tab navigation
	var tabText = new Array("マーケット・分野から探す","業種から探す","キーワードから探す","製品・サービス名から探す");
	var tabImgObj = new Array();
	var tabImg = new Array("images/sernav0_off.gif","images/sernav1_off.gif","images/sernav2_off.gif","images/sernav3_off.gif");
	var tabImgOnObj = new Array();
	var tabImgOn = new Array("images/sernav0_on.gif","images/sernav1_on.gif","images/sernav2_on.gif","images/sernav3_on.gif");

	//create navigarin
	var snav = document.createElement("ul");
	snav.id = "snav";

	for(var i=0;i<tabText.length;i++){
		tabImgObj[i] = new Image();
		tabImgObj[i].src = tabImg[i];
		tabImgOnObj[i] = new Image();
		tabImgOnObj[i].src = tabImgOn[i];
		var navList = document.createElement("li");
		navList.id = "snav" + i;
		var navAnch = document.createElement("a");
		navAnch.href = "javascript:void(0)";
		var nText = document.createTextNode(tabText[i]);
		navAnch.appendChild(nText);
		navList.appendChild(navAnch);
		snav.appendChild(navList);
	}
	outPutArea.appendChild(snav);
	var defaultNav = document.getElementById("snav0");
	defaultNav.id = "snavcr0";

	var num = 0;
	
	var tabNavs = document.getElementById("snav");
	var tabNavList = tabNavs.getElementsByTagName("li");
	
	dom.event.addEventListener(tabNavList[0],"click",function(){
		tabNavList[0].id = "snavcr0";
		tabNavList[1].id = "snav1";
		tabNavList[2].id = "snav2";
		tabNavList[3].id = "snav3";
		num = 0;
		remove()
		getXML();
	});
	
	dom.event.addEventListener(tabNavList[1],"click",function(){
		tabNavList[0].id = "snav0";
		tabNavList[1].id = "snavcr1";
		tabNavList[2].id = "snav2";
		tabNavList[3].id = "snav3";
		num = 1;
		remove()
		getXML();
	});
	
	dom.event.addEventListener(tabNavList[2],"click",function(){
		tabNavList[0].id = "snav0";
		tabNavList[1].id = "snav1";
		tabNavList[2].id = "snavcr2";
		tabNavList[3].id = "snav3";
		num = 2;
		remove()
		getXML();
	});
	
	dom.event.addEventListener(tabNavList[3],"click",function(){
		tabNavList[0].id = "snav0";
		tabNavList[1].id = "snav1";
		tabNavList[2].id = "snav2";
		tabNavList[3].id = "snavcr3";
		num = 3;
		remove()
		getXML();
	});
	
	//array content
	var contListElm = new Array();
	var division  = document.createElement("div");
	division.id = "tabCont";
	outPutArea.appendChild(division);
	//create content
	function getXML(){
			var inner = document.createElement("div");
			var contRead = xmlUnit[num].getElementsByTagName("read")[0].firstChild.nodeValue;
			var contList = xmlUnit[num].getElementsByTagName("li");
			var contMore = xmlUnit[num].getElementsByTagName("more")[0].firstChild.nodeValue;
			var contMoreUrl = xmlUnit[num].getElementsByTagName("more")[0].getAttribute("href");
			var read  = document.createElement("p");
			read.className = "read";
			var readTxt = document.createTextNode(contRead);
			read.appendChild(readTxt);
			inner.appendChild(read);
			
			var unitLIst = document.createElement("ul");
			unitLIst.className = "unit";
			for(var i=0;i<contList.length;i++){
				var list = document.createElement("li");
				var listAnch = document.createElement("a");
				listAnch.href = contList[i].getAttribute("href");
				var listTxt = document.createTextNode(contList[i].firstChild.nodeValue);
				listAnch.appendChild(listTxt);
				list.appendChild(listAnch);
				unitLIst.appendChild(list);
			}
			inner.appendChild(unitLIst);
	
			var more  = document.createElement("p");
			more.className = "more";
			var moreUrl  = document.createElement("a");
			moreUrl.href = contMoreUrl;
			var moreTxt = document.createTextNode(contMore);
			moreUrl.appendChild(moreTxt);
			more.appendChild(moreUrl);
			inner.appendChild(more);
			
			division.appendChild(inner);
	}
	getXML();
	function remove(){
		var tabCont = document.getElementById("tabCont");
		tabCont.removeChild(tabCont.firstChild);
	}
}

