var adaptResize={
	tableID:"csstabs",
	table2ID:"csstabs_middle",
	frequency:200,
	mainMargin:20,
	columnsWidth:320,
	tables:[],
	
	classes:{"td_current":"csstabs_current"},
	images:{
		"tab_on":"/common/images/csstab_back_on.gif",
		"tab_off":"/common/images/csstab_back.gif",
		"navi_clear":"/common/images/subnavi_back_clear.gif",
		"navi_normal":"/common/images/subnavi_back.gif"
	},
	divIDs:{
		//wrapper:"NF-TypeLEVEL2",
		content:"NF-ContentArea",
		main:"NF-main"
	},
	initialize:function(){
		Event.observe(window,"load",this.load.bind(this),false);
		
		for(var prop in this.images){
			(new Image()).src=this.images[prop];
		}
	},
	load:function(){
		if(!$(this.tableID)) {
			return false;
		} else {
			this.tables.push($(this.tableID));
		}
		if($(this.table2ID)) {
			this.tables.push($(this.table2ID));
		}
	 try{
		//if($(this.divIDs.wrapper)) $(this.divIDs.wrapper).style.cssText="width:auto;min-width:960px;";
		if($(this.divIDs.content)) {
			$(this.divIDs.content).style.width="auto";
			$(this.divIDs.content).style.minWidth="960px";
		}
		if($(this.divIDs.main)) {
			$(this.divIDs.main).style.minWidth="640px";
			$(this.divIDs.main).style.maxWidth="none";
		}
		this.tester=document.createElement("div");
		$(this.divIDs.main).appendChild(this.tester);
		this.tester.style.position="absolute";
		this.tester.innerHTML="&nbsp;";
		this.testerH=this.tester.offsetHeight;
		
		
		
		if($("SubNaviArea") && (!setBodySize.ifRightColumnIsEmpty)){
			if(agent.browser=="MSIE" && agent.version<=6){
				this.checkMinwidth=function(tabwidth){
					//tabwidth = (tabwidth<=620) ? 620: tabwidth ;
					if(tabwidth>620) {
						$("SubNaviArea").style.backgroundImage="url("+this.images["navi_clear"]+")";
					} else {
						tabwidth = 620;
						$("SubNaviArea").style.backgroundImage="url("+this.images["navi_normal"]+")";
					}
					return tabwidth;
				}
			} else {
				this.checkMinwidth=function(tabwidth){
					if(tabwidth>620) {
						$("SubNaviArea").style.backgroundImage="url("+this.images["navi_clear"]+")";
					} else {
						$("SubNaviArea").style.backgroundImage="url("+this.images["navi_normal"]+")";
					}
					return tabwidth;
				}
			}
		} else {
			if(agent.browser=="MSIE" && agent.version<=6){
				this.checkMinwidth=function(tabwidth){ return (tabwidth>620) ? tabwidth : 620;}
			} else {
				this.checkMinwidth=function(tabwidth){ return tabwidth;}
			}
		}
		
		this.measureAndApply();
		var checkerID=setInterval(this.check.bind(this),this.frequency);
		Event.observe(window,"unload",function(){clearInterval(checkerID)},false);
		
		//var atags=$A(this.table.getElementsByTagName("a"));
		var atags=$A($(this.tableID).getElementsByTagName("a"));
		if(atags.length>0)	{
			for (var i=0,L=atags.length;i<L;i++){
				var atag=atags[i];
				if(atag.parentNode.className!=this["classes"]["td_current"]){
					Event.observe(atag,"mouseover",this.mouseOver.bind(this),false);
					Event.observe(atag,"mouseout",this.mouseOut.bind(this),false);
				}
			}
		}
		
	  }catch(e){
	  	//alert("Error!\n"+OV(e));
	  }
	},
	mouseOver:function(e){
		var aobj=Event.element(e);
		while(aobj.nodeName!="A"){
			aobj=aobj.parentNode;
		}
		aobj.style.backgroundImage="url("+this.images["tab_on"]+")";
		aobj.parentNode.style.backgroundImage="url("+this.images["tab_on"]+")";
	},
	mouseOut:function(e){
		var aobj=Event.element(e);
		while(aobj.nodeName!="A"){
			aobj=aobj.parentNode;
		}
		aobj.style.backgroundImage="url("+this.images["tab_off"]+")";
		aobj.parentNode.style.backgroundImage="url("+this.images["tab_off"]+")";
	},
	measureAndApply:function(){
		//$(this.divIDs.wrapper).style.width =
		$(this.divIDs.content).style.width =
		$(this.divIDs.main).style.width = "auto";
		
		var w=0;
		this.tables.each(function(table){
			if(table.clientWidth > w) w= table.clientWidth
		});
		var tabwidth=this.checkMinwidth(w);
		
		//$(this.divIDs.wrapper).style.width =
		$(this.divIDs.content).style.width = tabwidth+this.mainMargin+this.columnsWidth+"px";
		$(this.divIDs.main).style.width = tabwidth+this.mainMargin+"px";
	},
	
	check:function(){
		var h=this.tester.offsetHeight;
		if(h!=this.testerH) {
			this.testerH=h;
			this.measureAndApply();
		}
	}
	
}
adaptResize.initialize();
