var addEvent = function(node,evt,func){
        if(node.addEventListener){
            node.addEventListener(evt,func,false);
        } else if(node.attachEvent){
            node.attachEvent("on"+evt,func);
        }
};

var preventDefault = function(e){
        if(e.preventDefault){
            e.preventDefault();
        }
        else if(window.event){
            window.event.returnValue = false;
        }
};

var bind = function(){
        var args=[];
        if(arguments){
            for(var i=0,n=arguments.length;i<n;i++){
                args.push(arguments[i]);
            }
        }
        var object=args.shift();
        var func=args.shift();
        return function(event) {
            return func.apply(object,[event||window.event].concat(args));
        }
};

var Tabs = function(node,tabarr,tab,bool){
		var args = arguments[0];
		this.node = document.getElementById(args['node']);
		this.tabarr = args['tabarr'];
		this.tab = document.getElementById(args['currenttab']);
		this.tabcon = document.getElementById(args['currenttab']+"-content");
		this.bool = args['setattribute'];
		
		this.changeContent('',this.tabcon);
		if(this.bool){
		    this.setAttribute('',this.tab);
		}
	};
	
	Tabs.prototype = {
		changeTab: function(){
			for(var i=0,n=this.tabarr.length;i<n;i++){
				var node = document.getElementById(this.tabarr[i]);
				var nodeCon = document.getElementById(this.tabarr[i]+"-content");
				
				addEvent(node,'click',bind(this,this.changeContent,nodeCon));
				if(this.bool){
					addEvent(node,'click',bind(this,this.setAttribute,node));
				}
			}
		},
		changeContent: function(e,nodeCon){
			for(var i=0,n=this.tabarr.length;i<n;i++){
				document.getElementById(this.tabarr[i]+"-content").style.display = 'none';
			}			
			nodeCon.style.display = 'block';
			preventDefault(e);
		},
		setAttribute: function(e,node){
			for(var i=0,n=this.tabarr.length;i<n;i++){
				var nodes = document.getElementById(this.tabarr[i]).getElementsByTagName('a');
				nodes[0].className = '';
			}
			
			var anodes = node.getElementsByTagName('a');
			anodes[0].className = 'current';
			preventDefault(e);
		}
};


window.onload = function(){	
	
	var con = new Tabs({
		node: 'tab-area',
		tabarr: ['all-tab','keizai-tab','keiei-tab','hougaku-tab','ningen-tab','baio-tab'],
		currenttab: 'all-tab',
		setattribute: true //リンクタグの反転
	});
	
	con.changeTab();
};
