﻿var isIE = (navigator.appName == "Microsoft Internet Explorer");
var isIE6 = false;
if(isIE){
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
        var ieversion=new Number(RegExp.$1);
        if(ieversion == 9){isIE = false;}
        if(ieversion == 6){ isIE6 = true;}
    }
}

function YPTabManager(rootDiv, tabs){
    this.rootDiv = document.getElementById(rootDiv)
    this.tabs = tabs;
    this.currentTab = 0;
    
    this.init = function(){
        this.buildTabs();
        this.activateTabs();
    }
    
    this.buildTabs = function(){
        var l = this.tabs.length;
        var html="<ul id='navTabs'>";
        
        
        for(var i=0;i<l;i++){            
            if(i < l-1){
                html+= "<li id='"+this.tabs[i].id+"Tab' class='secondLast' ><a href='javascript:void(0);'>"+this.tabs[i].name+"</a></li>";
            }else{
                html+= "<li id='"+this.tabs[i].id+"Tab' class='last' ><a href='javascript:void(0);'>"+this.tabs[i].name+"</a></li>";
            }
            //inject prev and next buttons here
            /*if(this.tabs[i].addButtons){
                var thisObj = this;
                var str ="";
                if(i > 0) str += "<div class='buttons'><input class='previous' type='button' value='Previous' onclick='jump(-1)' />"
                if(i < this.tabs.length -1) str += "<input class='next' type='button' value='Next' onclick='jump(1)' /></div>"
                document.getElementById(this.tabs[i].id).innerHTML += str;
            }
            */
        }
        this.rootDiv.innerHTML = html+"</ul>";
    }
    
    this.activateTabs = function(){
        var l = this.tabs.length;
        var thisObj = this;
        for(var i=0;i<l;i++){
            document.getElementById(this.tabs[i].id+"Tab").onclick = function(){ thisObj.onSelectTab(this); }
            if(i!=this.currentTab){
                document.getElementById(this.tabs[i].id).style.display = "none";
            }else{
                if(!isIE6) document.getElementById(this.tabs[i].id+"Tab").className = "tabSelected";
            }
        }
       }
        
    this.activateTab = function(index){
        this.onSelectTab({id:this.tabs[index].id+"Tab"});
    }
            
    this.onSelectTab = function(target){
        var l = this.tabs.length;
        for(var i=0;i<l;i++){
            var currentTab = document.getElementById(this.tabs[i].id+"Tab");
            if(this.tabs[i].id+"Tab" == target.id){
                this.currentTab = i;
                document.getElementById(this.tabs[i].id).style.display = "block";
                if(!isIE6) currentTab.className = "tabSelected";
            }else{
                document.getElementById(this.tabs[i].id).style.display = "none";
                  document.getElementById(this.tabs[i].id+"Tab").className = "";
          
            }
            if(i == l-1) currentTab.className += " last";
        }
    }
    
    this.jump = function(dir){
        var newTab = this.currentTab + dir;
        if(newTab > this.tabs.length - 1){
            newTab = 0;
        }else if(newTab < 0){
            newTab = this.tabs.length - 1;
        }
        
        this.onSelectTab({id:this.tabs[newTab].id+"Tab"});
        
    }
    
    this.init();    
}
