var data = new Control();

function Control(){
    var sidebarHeight = 0;
    var contentHeight = 0;
    
    var elementsToBlur = new Array("a", "button");
    var listArr = new Array();
    var tempArr = new Array();
    var linkArr = new Array();
    var blurArr = new Array();
    var subArr  = new Array();

    function getObjId(id){
        var obj = eval('document.getElementById ? document.getElementById("'+id+'") : document.all.'+id);
        return obj;
    }

    function getNavigator(){
        var ua = navigator.userAgent;
        
        this.webKit = /WebKit/.test(ua);
		this.oldWebKit = this.webKit && !window.getSelection().getRangeAt;
        this.opera = window.opera && opera.buildNumber;
		this.gecko = !this.webKit && /Gecko/.test(ua);
		this.mac = ua.indexOf('Mac') != -1;
		this.ie = !this.webKit && !this.opera && (/MSIE/gi).test(ua) && (/Explorer/gi).test(navigator.appName);
		this.ie6 = this.ie && /MSIE [56]/.test(ua);
		
		this.linux = /linux/i.test(ua);
    }

    function blurLink(){
        if(this.blur) 
            this.blur(); 
    }
    
    function removeFocus(){
        var lengthArr = elementsToBlur.length;
        
        if(lengthArr > 0){
            for(var i=0; i<lengthArr; i++){
                blurArr[i] = document.getElementsByTagName(elementsToBlur[i]);
                
                for(var j=0; j<blurArr[i].length; j++)
                    blurArr[i][j].onfocus = blurLink;
            }
        }
    }
    
    function navigationTab(e, n, todo){
        if(todo == "click"){
            listArr[e][0].className = "leftCorner";
            listArr[e][1].className = "rightCorner";
            tempArr[e].className = "over";
            
            document.location.href = linkArr[n].href;
        }
        else if(todo == "over"){
            if(listArr[e][0].className == "nodisplay" && listArr[e][1].className == "nodisplay"){
                listArr[e][0].className = "leftCorner";
                listArr[e][1].className = "rightCorner";
                tempArr[e].className = "over";
            }
        }
        else{
            if(listArr[e][0].className == "leftCorner" && listArr[e][1].className == "rightCorner"){
                listArr[e][0].className = "nodisplay";
                listArr[e][1].className = "nodisplay";
                tempArr[e].className = "normal";
            }
        }
    }
    
    function tabMenu(){
        if(getObjId("tabs")){
            var tabs = getObjId("tabs");
            var tempUlArr = new Array();
            
            tempUlArr = tabs.getElementsByTagName("ul");
            tempArr = tempUlArr[0].getElementsByTagName("li");
            linkArr = tabs.getElementsByTagName("a");
            
            var arrayLength = tempArr.length;
            var j = 0;
            
            for(var i=0; i<arrayLength; i++){
                listArr[i] = tempArr[i].getElementsByTagName("div");
                
                if(listArr[i].length > 0){
                    if(tempArr[i].className == "normal"){
                        eval('tempArr['+ i +'].onmouseover = function(){navigationTab('+ i +', '+ j +', "over");}');
                        eval('tempArr['+ i +'].onmouseout = function(){navigationTab('+ i +', '+ j +', "out");}');
                        eval('tempArr['+ i +'].onclick = function(){navigationTab('+ i +', '+ j +', "click");}');
                    
                        j++;
                    }
                }
            }
        }
    }
    
    function styleSheet(){
        if(getObjId("sidebar") && getObjId("content")){
            sidebarHeight = getObjId("sidebar").clientHeight * 1;
            contentHeight = getObjId("content").clientHeight * 1;
            
            if(sidebarHeight > contentHeight){
                var content = getObjId("content");
                content.style.height = contentHeight + (sidebarHeight - contentHeight) + "px";
            }
        }
        
        if(getObjId("signin")){
            if(this.linux && (this.gecko || this.opera)){
                var fieldArr = new Array();
                var layerArr = new Array();

                var fieldArrLength = 0;
                var layerArrLength = 0;

                
                fieldArr = document.getElementsByTagName("fieldset");
                fieldArrLength = fieldArr.length;
                
                if(fieldArrLength > 0){
                    layerArr = fieldArr[0].getElementsByTagName("div"); 
                    layerArrLength = layerArr.length;
                    
                    if(layerArrLength > 0){
                        for(var i=0; i<layerArrLength; i++){
                            if(layerArr[i].className == "rightBottomCorner" || layerArr[i].className == "leftBottomCorner")
                                layerArr[i].style.top = "40px";
                            
                            if(layerArr[i].className == "rightTopCorner" || layerArr[i].className == "leftTopCorner")
                                layerArr[i].style.top = "18px";
                        }
                    }
                }
            }
        }
        
        if(this.ie6){      
            if(getObjId("popupTable")){
                if(getObjId("content") && getObjId("container") && getObjId("header") && getObjId("footer")){
                    var layers = new Array();
                    var classes = new Array("rightTopBorder", "rightBottomBorder", "topRightCorner", "bottomRightCorner", "bottomLeftCorner");
                    
                    var popup = getObjId("popupTable");
                    
                    layers[0] = getObjId("header").getElementsByTagName("div");
                    layers[1] = getObjId("container").getElementsByTagName("div");
                    layers[2] = getObjId("content").getElementsByTagName("div");
                         
                    for(var i=0; i<layers.length; i++){
                        for(var j=0; j<layers[i].length; j++){
                            if(layers[i][j].className == classes[0] || layers[i][j].className == classes[1]){
                                if((getObjId("container").clientWidth * 1) % 2 == 0)
                                    layers[i][j].style.right = "30px";
                                else
                                    layers[i][j].style.right = "29px";
                            }
                            else{
                                if(layers[i][j].className == classes[2] || layers[i][j].className == classes[3]){
                                    if(layers[i][j].className == classes[3])
                                        if((popup.offsetWidth * 1) != (popup.scrollWidth * 1)){
                                            layers[i][j].style.bottom = "-125px";
                                            popup.style.paddingBottom = "23px";
                                        }
                                        else{
                                            layers[i][j].style.bottom = "-125px"
                                            popup.style.paddingBottom = "0px";     
                                        }
                                            
                                    if((getObjId("header").clientWidth * 1) % 2 == 0)
                                        layers[i][j].style.right = "0px";
                                    else
                                        layers[i][j].style.right = "-1px";
                                }
                                else{ 
                                    if(layers[i][j].className == classes[4]){
                                        if((popup.offsetWidth * 1) != (popup.scrollWidth * 1)){
                                            layers[i][j].style.bottom = "-125px";
                                            popup.style.paddingBottom = "23px";
                                        }
                                        else{
                                            popup.style.paddingBottom = "0px";
                                            layers[i][j].style.bottom = "-125px"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }           
            }
        }
        
        if(getObjId("tabs")){
            var li = new Array();
            var tabs = getObjId("tabs");
            var result = 0;
            
            li = tabs.getElementsByTagName("li");
            var liLength = li.length;
            
            for(var i=0; i<liLength; i++)
                result += li[i].clientWidth * 1; 
            
            if(this.ie6 && result % 2 != 0)
                tabs.style.width = result + 19 + "px";
            else
                tabs.style.width = result + 20 + "px";
        }
		
        if(this.opera){
            var btnArr = new Array();
            btnArr = document.getElementsByTagName("button");
            
            var btnLength = btnArr.length;
            
            if(btnLength > 0)
                for(var i=0; i<btnLength; i++)
                    btnArr[i].style.paddingTop = "6px";
        }
        
        if(this.webKit){
            var searchBtn = getObjId("submitSearch");
            searchBtn.style.position = "relative";
            searchBtn.style.top = "-3px";
        }
    }
    
    function signinType(e, todo){
        if(todo == "click"){
            if(getObjId("signinType")){
                var hiddenInp = getObjId("signinType");
                var signType = getObjId("signType");
                var spanArr = new Array();
                var id = new Array();

                id = subArr[e].id.split("-");
                hiddenInp.value = id[1];
                
                spanArr = signType.getElementsByTagName("span");
                if(spanArr.length > 0)
                    if(spanArr[0].className == "title")
                        spanArr[0].innerHTML = subArr[e].innerHTML;
            }
        }
        else if(todo == "over")
            subArr[e].style.backgroundColor = "#1f6bc1";
        else
            subArr[e].style.backgroundColor = "#1a60b0";
    }
    
    function selectLoginType(){
        if(getObjId("signType")){
            var signType = getObjId("signType");

            if(getObjId("subSignType")){
                var subMenu = getObjId("subSignType");
                var mainSub = new Array();
                
                signType.onclick = function(){
                    if(subMenu.style.display == "none")
                        subMenu.style.display = "block";
                    else
                        subMenu.style.display = "none";
                }
                
                mainSub = subMenu.getElementsByTagName("ul");
                
                if(mainSub.length > 0){
                    subArr = mainSub[0].getElementsByTagName("li");
                    var lenthList = subArr.length;
                    
                    for(var i=0; i<lenthList; i++){
                        eval(''+
                            'subArr['+ i +'].onclick = function(){'+
                                'signinType('+ i +', "click");'+
                                'subMenu.style.display = "none";'+
                            '}'+
                        '');
                        
                        eval(''+
                            'subArr['+ i +'].onmouseover = function(){'+
                                'signinType('+ i +', "over");'+
                            '}'+
                        '');
                        
                        eval(''+
                            'subArr['+ i +'].onmouseout = function(){'+
                                'signinType('+ i +', "out");'+
                            '}'+
                        '');
                    }
                }
            }
        }
    }
    
    this.link = function(str){
        var win = window.open(str);
        win.focus();
    }
    
    this.init = function(){
        getNavigator();
        tabMenu();
        styleSheet();
        removeFocus();
        selectLoginType();
    }
};

window.onload = function(){
    data.init();
}

