drag

function leador_drag_set_forImg(ctr,dragHandle)
{// ctr:要设置拖动的div ,w:着力点宽度,h:着力点高度
       
    if(typeof ctr=="string") ctr=document.getElementById(ctr);
    ctr.orig_x=parseInt(leador_getstyle(ctr,"left"),10)-document.body.scrollLeft;// 记忆原始坐标
    ctr.orig_y=parseInt(leador_getstyle(ctr,"top"),10)-document.body.scrollTop;
    ctr.orig_index=parseInt(leador_getstyle(ctr,"zIndex"),10)// 原始zIndex
   
    var w = leador_tab_control.GetStyleInt(dragHandle,"width");
    var h = leador_tab_control.GetStyleInt(dragHandle,"height");
    var t = leador_tab_control.GetStyleInt(dragHandle,"top");
    var l = leador_tab_control.GetStyleInt(dragHandle,"left");
   
    ctr.οnmοusedοwn=function (a)
    {     
        if ( a && a.target)
        {
            var obj = a.target
            var evt = a;
            a.preventDefault();
            a.stopPropagation();
        }
        else
        {
            var obj = event.srcElement;
            var evt = event;
            event.returnValue = false;
            event.cancelBubble = true;
        }
        if (obj.className != dragHandle.className ) return; // 不理会非着力点触发,通过该语句obj一定是着力点
       
        this.style.zIndex=30000;
        var doc=document;
        var x=evt.clientX+doc.body.scrollLeft-ctr.offsetLeft;
        var y=evt.clientY+doc.body.scrollTop-ctr.offsetTop;
       
        var olddocdragstart = doc.ondragstart;
        var olddocselectstart = doc.onselectstart;
        var olddocselect = doc.onselect;
        var olddocmousemove = doc.onmousemove;
        var olddocmouseup = doc.onmouseup;
       
        doc.ondragstart = function(){return false;}  
        doc.onselectstart = function(){return false;} 
        doc.οnselect=  function(){doc.selection.empty();}
       
        if(a && a.target) {
                //leador_drag_flag(obj,1,w,h)
        }
       
        if(ctr.setCapture) ctr.setCapture();
        else if(window.captureEvents) window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
       
        doc.οnmοusemοve=function (aa)
        { 
            if ( aa && aa.target)
            {
                var evt = aa;
                aa.preventDefault();
                aa.stopPropagation();
            }
            else
            {
                var evt = event;
                event.returnValue = false;
                event.cancelBubble = true;
            }
            ctr.style.left=evt.clientX+document.body.scrollLeft-x+'px';
            ctr.style.top=evt.clientY+document.body.scrollTop-y+'px';
            ctr.orig_x=parseInt(ctr.style.left)-document.body.scrollLeft;
            ctr.orig_y=parseInt(ctr.style.top)-document.body.scrollTop;
            if ( ctr.className != leador_ImgDefaultSet.imgCtrSize[4] && ctr.className != "imgCtrShowLabelModelDiv" )
            {
                leador_tab_control.tabCookie.tabtop = leador_tab_control.GetStyleInt(ctr,"top");
                leador_tab_control.tabCookie.tableft = leador_tab_control.GetStyleInt(ctr,"left");
            }
        }
        doc.οnmοuseup=function (e)
        {
            if ( e )
            {
                e.preventDefault();
                e.stopPropagation();
            }
            else
            {
                event.returnValue = false;
                event.cancelBubble = true;
            }
            if(ctr.releaseCapture) ctr.releaseCapture();
            else if(window.captureEvents) window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
           
            doc.οnmοusemοve=olddocmousemove;
            doc.οnmοuseup=olddocmouseup;
            doc.οndragstart=olddocdragstart;
            doc.onselectstart=olddocselectstart;
            doc.οnselect=olddocselect;
           
            ctr.style.cursor="normal";
            ctr.style.zIndex=ctr.orig_index;   
            if(a && a.target) {
               // leador_drag_flag(obj,0,w,h,t,l)
            }       
        }
    }
}

function leador_drag_flag(t,flag,width,height,top,left)
{
    if(flag==1) {
        t.style.width=leador_get_wndw()*2+'px';
        t.style.height=leador_get_wndh()*2+'px';
        t.style.left=leador_get_wndw()*-1+'px';
        t.style.top=leador_get_wndh()*-1+'px';
    }else {
        t.style.width=width+'px';
        t.style.height=height+'px';
        t.style.left=left+"px";
        t.style.top=top+"px";
    }
}

function leador_get_wndw(){
 var vw = 0;
 var _dEt = document.documentElement;
 var _dBy = document.body;
 if(typeof window.innerWidth=='number')vw = window.innerWidth;
 else{
  if(_dEt&&_dEt.clientWidth)vw = _dEt.clientWidth;
  else{
   if(_dBy&&_dBy.clientWidth)vw = _dBy.clientWidth;
  }
 }
 if(!vw||vw<100)vw = 100;
 return vw;
}

function leador_get_wndh(){
 var vh = 0;
 var _dEt = document.documentElement;
 var _dBy = document.body;
 if(typeof window.innerHeight=='number')vh = window.innerHeight;
 else{
  if(_dEt&&_dEt.clientHeight)vh = _dEt.clientHeight;
  else{
   if(_dBy&&_dBy.clientHeight)vh = _dBy.clientHeight;
  }
 }
 if(!vh||vh<100)vh = 100;
 return vh;
}

function leador_getstyle( elem, name )
{
    if ( typeof elem == "string" )
    {
        elem = document.getElementById(elem);
    }
   
    //如果该属性存在于style[]中,则它最近被设置过(且就是当前的)
    if (elem.style[name])
    {
        return elem.style[name];
    }

    //否则,尝试IE的方式
    else if (elem.currentStyle)
    {
        return elem.currentStyle[name];
    }

    //或者W3C的方法,如果存在的话
    else if (document.defaultView && document.defaultView.getComputedStyle)
    {
        //它使用传统的"text-Align"风格的规则书写方式,而不是"textAlign"
        name = name.replace(/([A-Z])/g,"-$1");
        name = name.toLowerCase();

        //获取style对象并取得属性的值(如果存在的话)
        var s = document.defaultView.getComputedStyle(elem,"");
        return s && s.getPropertyValue(name);

    //否则,就是在使用其它的浏览器
    }
    else
    {
        return null;
    }
}

/********************************************************************************************************************/
var leador_tab_control = function(cssPath,locX,locY)
{
    leador_tab_control.tabCount ++;
    this.GetElementCss = function(css)
    {
        return css;
    }  
    this.idPostfix = "_Tab" + leador_tab_control.tabCount;
    this.GetElementId = function(id)
    {
        return id + this.idPostfix;
    }
    this.GetElementById = function(id)
    {
        return document.getElementById(id + this.idPostfix);
    }
   
    if ( cssPath != "" )
    {
        this.css = document.createElement("link");
        this.css.id = this.GetElementId("leador_tabcss_handle");
        this.css.href = cssPath;
        this.css.rel = "stylesheet";
        this.css.type = "text/css";
        document.getElementsByTagName("head")[0].appendChild(this.css); 
    }
   
    // 设置head
    this.SetHead = function()
    {
        this.tabHeadDiv = document.createElement("div");
        this.tabHeadDiv.className = this.GetElementCss("tabhead");
        this.tabHeadDiv.id = this.GetElementId("leador_tab_head");
        this.div.appendChild(this.tabHeadDiv);
    }
   
    // 设置tab页
    this.SetTab = function(data){   
       
        this.tabArray = [];
        for(var i=0; i<data.length; i++ )
        {
            var tabDiv = document.createElement("div");
            var tabA = document.createElement("a");
            if ( i==0)
            {
                tabA.className = this.GetElementCss("tabaction");
            }
            else
            {
                tabA.className = this.GetElementCss("tabunaction");
            }
            tabA.innerHTML = data[i];
            tabA.id = this.GetElementId("leador_tab_" + i);
            tabA.tablen = data.length;
            tabA.index = i;           
           
            tabA.onmousedown = function(e)
            {
                var tab = (e && e.target)?e.target:window.event.srcElement;
                self.currentTabNum = tab.index;
                if ( tab.index == 1 )
                {
                    tabSelf.panoAlive = true;
                    leador_tab_control.tabCookie.tabselecindex = 1;
                }
                else
                {
                    tabSelf.panoAlive = false;
                    leador_tab_control.tabCookie.tabselecindex = 0;
                }
                for(var i=0;i<tab.tablen;i++)
                {
                    var tabObj = tabSelf.GetElementById("leador_tab_" + i);
                    if ( tabObj != tab )
                    {
                        tabObj.className = tabSelf.GetElementCss("tabunaction");
                        if ( tabObj.contentelement )
                        {
                            tabObj.contentelement.style.display = "none";
                        }
                    }
                   
                }
                tab.className = tabSelf.GetElementCss("tabaction");
                if ( tab.contentelement )
                {
                    tab.contentelement.style.display = "block";
                }
                var fangdasuoxiao = tabSelf.GetElementById("leador_tab_fangdasuoxiao");
                if (fangdasuoxiao && fangdasuoxiao.className.indexOf("max") != -1)
                {
                    tabSelf.FireEvent(fangdasuoxiao,"mousedown");
                }
               
                if ( !e )
                {// Ie 下要强制浏览器重新应用样式
                    tabSelf.div.className = tabSelf.GetElementCss(tabSelf.div.className);
                }
            }           
            this.tabArray.push(tabA);
            tabDiv.appendChild(tabA);
            this.tabHeadDiv.appendChild(tabDiv);
        }
    }
   
    this.SetCloseBtn = function()
    {
        var closeDiv = document.createElement("div");
        var closeA = document.createElement("a");
        closeA.className = this.GetElementCss("tabheadclose");
        closeA.title = "关闭";
       
        var oldClassName = "";
        closeA.onmousedown = function(e)
        {           
            tabSelf.SwitchToSmall();
        }
       
        closeA.id = this.GetElementId("leador_tab_close");
        closeDiv.appendChild(closeA);
        this.tabHeadDiv.appendChild(closeDiv);
       
        this.RegisterCloseEvent = function(method,observer)
        {
            if ( closeA.addEventListener )
            {
                closeA.addEventListener(method,observer,false);
            }
            else if ( closeA.attachEvent )
            {
                closeA.attachEvent("on"+method,observer);
            }
        }
    }
   
    this.SetMinMaxBtn = function()
    {
        var minmaxDiv = document.createElement("div");
        var minmaxA = document.createElement("a");
        minmaxA.className = this.GetElementCss("tabheadmin");
        minmaxA.title = "最小化";
       
        minmaxA.onmousedown = function(e)
        {
            var a = (e && e.target)?e.target:window.event.srcElement;
            if ( a.className.indexOf("min") != -1 )
            {
                a.className = tabSelf.GetElementCss("tabheadmax");
                tabSelf.tabContentDiv.style.display = "none";
                tabSelf.tabBottomDiv.className = tabSelf.GetElementCss("tabbottom2");
                a.title = "最大化";
                leador_tab_control.tabCookie.tabmin = true;
            }
            else
            {
                a.className = tabSelf.GetElementCss("tabheadmin");
                tabSelf.tabContentDiv.style.display = "block";
                tabSelf.tabBottomDiv.className = tabSelf.GetElementCss("tabbottom1");
                a.title = "最小化";
                leador_tab_control.tabCookie.tabmin = false;
            }
        }
       
        minmaxA.id = this.GetElementId("leador_tab_fangdasuoxiao");
        minmaxDiv.appendChild(minmaxA);
        this.tabHeadDiv.appendChild(minmaxDiv);   
       
        this.RegisterMinMaxEvent = function(method,observer)
        {
            if ( minmaxA.addEventListener )
            {
                minmaxA.addEventListener(method,observer,false);
            }
            else if ( closeA.attachEvent )
            {
                minmaxA.attachEvent("on"+method,observer);
            }
        }   
    }
   
    this.SetContent = function()
    {
        this.tabContentDiv = document.createElement("div");
        this.tabContentDiv.className = this.GetElementCss("tabcontent");
        this.tabContentDiv.id = this.GetElementId("leador_tab_content");
        this.div.appendChild(this.tabContentDiv);
    }
   
    this.SetBottom = function()
    {
        this.tabBottomDiv = document.createElement("div");
        this.tabBottomDiv.className = this.GetElementCss("tabbottom1");
        this.tabBottomDiv.id = this.GetElementId("leador_tab_bottom");
        this.div.appendChild(this.tabBottomDiv);
    } 
   
    this.FireEvent = function(element,method)
    {
        if (document.createEvent)
        {
            var evObj = document.createEvent('MouseEvents')
            evObj.initEvent( method, true, false )
            //evtObj.initMouseEvent( evt ,   true,   true,   document.defaultView,   1,   0,   0,   0,   0,   false,   false,   true,   false,   0,   null);  
            element.dispatchEvent(evObj)
        }
        else if (document.createEventObject)
        {
           element.fireEvent("on"+method)
        }
    } 
   
    this.SelectTab = function (tabNum)
    {
        this.FireEvent(this.tabArray[tabNum],"mousedown");
    }
   
    this.GetTabSum = function()
    {
        var tab0 = this.GetElementById("leador_tab_0");
        if ( tab0 )
        {
            return tab0.tablen;
        }
        return 0;
    }
   
    this.SetTabContent = function(element,tabNum)
    {
        if ( tabNum >= this.GetTabSum() ) return;
       
        if ( typeof element == "string" ) element = document.getElementById(element);
        element.style.display = "none";
        var tabA = this.GetElementById("leador_tab_"+tabNum);
        tabA.contentelement = element;
        if ( tabA.className.indexOf("tabaction") != -1)
        {
            element.style.display = "block";
        }
        this.GetElementById("leador_tab_content").appendChild(element);       
       
        function observer()
        {
            for(var i = 0; i<tabA.tablen; i++ )
            {
                if ( tabSelf.GetElementById("leador_tab_" + i).contentelement )
                {
                    tabSelf.GetElementById("leador_tab_" + i).contentelement.style.display = "none";
                }
            }
           
            if ( tabA.className.indexOf("tabaction") != -1)
            {
                element.style.display = "block";
            }       
        }
       
        if (tabA.addEventListener) {
          tabA.addEventListener("mousedown", observer, false);
        } else if (element.attachEvent) {
          tabA.attachEvent('onmousedown' , observer);
        }
    }
   
    this.SetCss = function(className)
    {
        this.div.className = this.GetElementCss(className);
    }
   
    this.GetTabA = function(tabNum)
    {
        if ( tabNum >= this.GetTabSum() ) return null;
        return this.GetElementById("leador_tab_" + tabNum );
    }
   
    this.RestoreLocation = function()
    {
        this.div.style.left = this.origX + "px";
        this.div.style.top = this.origY + "px";
    }
   
    this.RegisterTabEvent = function(tabNum,method,observe)
    {       
        var tab = this.GetTabA(tabNum);
        if ( tab )
        {
            if ( tab.addEventListener )
            {
                tab.addEventListener(method,observe,false);
            }
            else if ( tab.attachEvent )
            {
                tab.attachEvent("on"+method,observe);
            }
        }
    } 
   
    this.Show = function()
    {
        this.div.style.display = "block";
    }
   
    var tabSelf = this;
   
    var tab = this;
   
    var self = this;
   
    this.currentTabNum = 0;
   
    this.currentSize = 1;
       
    // 全景是否处于活动
    this.panoAlive = false;
   
    this.div = document.createElement("div");
    this.div.style.position = "absolute";
   
    this.SetHead();
       
    this.SetContent();
   
    this.SetBottom();
   
    this.origX = this.origY = 0;
   
    if ( !locX )
    {
        var locX = 0;
    }
   
    if ( !locY )
    {
        var locY = 0;
    }   
   
    this.div.style.left = locX + "px";
    this.origX = locX;

    this.div.style.top = locY + "px";
    this.origY = locY;
 
    document.body.appendChild(this.div);  
   
    // 设置着力点
    leador_drag_set_forImg(this.div,this.tabHeadDiv);
    
    // 以下使用于影像控件
   
    // 影像加入tab页
    this.SetLCRImageCtrDiv = function(tabNum,divIdArr)
    {
        var div = document.createElement("div");
        this.SetTabContent(div,tabNum); 
        this.imgdiv = div; 
       
        var leftdiv = document.getElementById(divIdArr[0]);
        if ( !leftdiv )
        {           
            leftdiv = document.createElement("div");
            leftdiv.id = divIdArr[0];
        }
        div.appendChild(leftdiv);
        this.leftdiv = leftdiv;       
       
        var centerdiv = document.getElementById(divIdArr[1]);
        if ( !centerdiv )
        {
            centerdiv = document.createElement("div");
            centerdiv.id = divIdArr[1];
        }
        div.appendChild(centerdiv);
        this.centerdiv = centerdiv;
       
        var rightdiv = document.getElementById(divIdArr[2]);
        if ( !rightdiv )
        {
            rightdiv = document.createElement("div");
            rightdiv.id = divIdArr[2];
        }
        div.appendChild(rightdiv);
        this.rightdiv = rightdiv;
       
        this.SetImageDivCss(3); // 初始设置
    }
   
    // ImageType 改变时要更改css
    this.AfterImageTypeChange = function(info)
    {
        if ( info.newImageType != info.oldImageType )
        {
            this.SetImageDivCss(info.newImageType);
        }
    }  
  
   
    // 设置css
    this.SetImageDivCss = function(imagetype)
    {
        this.imgdiv.className = this.GetElementCss("imgdiv"+imagetype);
    }   
   
    // 放大
    this.SetAddBtn = function()
    {
        var resizeDiv = document.createElement("div");
        var resizeA = document.createElement("a");
        resizeA.className = this.GetElementCss("tabheadadd");
        resizeA.title = "放大";
        resizeA.onmousedown = function(e)
        {
            document.getElementById(tab.GetElementId("leador_tab_reducebtn")).style.display = "block";
           
            var a = (e && e.target)?e.target:window.event.srcElement;
            var className = tab.div.className;
            a.href = "javascript:;";
            a.target = "_self";
            switch(className)
            {
                case leador_ImgDefaultSet.imgCtrSize[1]:
                    tab.div.className = tab.GetElementCss(leador_ImgDefaultSet.imgCtrSize[2]);
                    leador_tab_control.tabCookie.tabsize = leador_ImgDefaultSet.imgCtrSize[2];
                    tab.currentSize = 2;
                break;
                case leador_ImgDefaultSet.imgCtrSize[2]:
                    tab.div.className = tab.GetElementCss(leador_ImgDefaultSet.imgCtrSize[3]);
                    leador_tab_control.tabCookie.tabsize = leador_ImgDefaultSet.imgCtrSize[3];
                    tab.currentSize = 3;
                break;     
                case leador_ImgDefaultSet.imgCtrSize[3]:
                    a.href = "javascript:void(0);";
                    a.target = "_self";
                    a.onclick = function()
                    {
                        if ( tab.imgCtr.issuccess || tab.panoAlive )
                        {
                            tab.imgCtr.tolargeimg.lcr = "center";
                            tab.SwitchToLarge();
                        }
                    }                  
                break;         
            } 
            var minmaxBtn = document.getElementById(tab.GetElementId("leador_tab_fangdasuoxiao"));
            if (minmaxBtn.className == "tabheadmax" )
            {
                tab.FireEvent(minmaxBtn,"mousedown");
            }        
        }
       
        resizeA.id = this.GetElementId("leador_tab_addbtn");
        resizeDiv.appendChild(resizeA);
        this.tabHeadDiv.appendChild(resizeDiv);
    }
   
    // 缩小
    this.SetReduceBtn = function()
    {
        var resizeDiv = document.createElement("div");
        var resizeA = document.createElement("a");
        resizeA.className = this.GetElementCss("tabheadreduce");
        resizeA.title = "缩小";
        resizeA.onmousedown = function(e)
        {
            var a = (e && e.target)?e.target:window.event.srcElement;
            var className = tab.div.className;
            a.href = "javascript:;";
            switch(className)
            {
                case leador_ImgDefaultSet.imgCtrSize[3]:
                    tab.div.className = tab.GetElementCss(leador_ImgDefaultSet.imgCtrSize[2]);
                    leador_tab_control.tabCookie.tabsize = leador_ImgDefaultSet.imgCtrSize[2];
                    tab.currentSize = 2;
                break;
                case leador_ImgDefaultSet.imgCtrSize[2]:
                    tab.div.className = tab.GetElementCss(leador_ImgDefaultSet.imgCtrSize[1]);
                    leador_tab_control.tabCookie.tabsize = leador_ImgDefaultSet.imgCtrSize[1];
                    tab.currentSize = 1;
                    resizeA.style.display = "none";
                break;               
            }           
        }
       
        resizeA.id = this.GetElementId("leador_tab_reducebtn");
        resizeDiv.appendChild(resizeA);
        this.tabHeadDiv.appendChild(resizeDiv);
       
        if ( this.div.className == leador_ImgDefaultSet.imgCtrSize[1] )
        {
            resizeA.style.display = "none";
        }
    } 
   
     
    // 左 中 右 转向
    this.SetLCRBtn = function()
    {
        this.lcrDiv = document.createElement("div");
        this.lcrDiv.className = this.GetElementCss("lcrdiv");
        var leftA = document.createElement("a");
        this.lcrDiv.appendChild(leftA);
        var centerA = document.createElement("a");
        this.lcrDiv.appendChild(centerA);
        var rightA = document.createElement("a");
        this.lcrDiv.appendChild(rightA);
        var turnA = document.createElement("a");
        this.lcrDiv.appendChild(turnA);
        turnA.className = this.GetElementCss("turn");
        turnA.title = "转到当前位置的反向街景";
        this.tabHeadDiv.appendChild(this.lcrDiv);
       
        turnA.onmousedown = function()
        {
            tab.imgCtr.GetTurnImageByImageName();
        }
       
        leftA.onmousedown = function(e)
        {
            var elem = (e && e.target)?e.target:event.srcElement;
            if ( elem.className.indexOf("nlefta") == -1 )
            {
                tab.imgCtr.tolargeimg.lcr = "left";
                tab.imgCtr.SetImageUrl(true);
            }
        }
       
        centerA.onmousedown = function(e)
        {
            var elem = (e && e.target)?e.target:event.srcElement;
            if ( elem.className.indexOf("ncentera") == -1 )
            {
                tab.imgCtr.tolargeimg.lcr = "center";
                tab.imgCtr.SetImageUrl(true);
            }
        }
       
        rightA.onmousedown = function(e)
        {
            var elem = (e && e.target)?e.target:event.srcElement;
            if ( elem.className.indexOf("nrighta") == -1 )
            {
                tab.imgCtr.tolargeimg.lcr = "right";
                tab.imgCtr.SetImageUrl(true);
            }
        }
       
        this.ShowLCRBtn = function()
        {
            if ( this.imgCtr.isLarge)
            {
                this.lcrDiv.style.display = "block";
                if ( this.imgCtr.imagetype == 3 )
                {
                    if ( this.imgCtr.tolargeimg.lcr == "left" )
                    {
                        leftA.className = this.GetElementCss("nlefta");
                        centerA.className = this.GetElementCss("centera");
                        rightA.className = this.GetElementCss("righta");
                        leftA.title = "";
                        centerA.title = "点击查看中间街景";
                        rightA.title = "点击查看右边街景";
                    }
                    else if (this.imgCtr.tolargeimg.lcr == "right" )
                    {
                        leftA.className = this.GetElementCss("lefta");
                        centerA.className = this.GetElementCss("centera");
                        rightA.className = this.GetElementCss("nrighta");
                        leftA.title = "点击查看左边街景";
                        centerA.title = "点击查看中间街景";
                        rightA.title = "";
                    }
                    else
                    {
                        leftA.className = this.GetElementCss("lefta");
                        centerA.className = this.GetElementCss("ncentera");
                        rightA.className = this.GetElementCss("righta");
                        leftA.title = "点击查看左边街景";
                        centerA.title = "";
                        rightA.title = "点击查看右边街景";
                    }
                }
                else
                {
                    leftA.className = this.GetElementCss("nlefta");
                    centerA.className = this.GetElementCss("ncentera");
                    rightA.className = this.GetElementCss("nrighta");
                   
                    leftA.title = centerA.title = rightA.title = "";
                }
            }
            else
            {
                this.lcrDiv.style.display = "none";
            }
        }
    }   
   
    // 添加全景
    this.SetPanoObj = function(PanoDiv)
    {
        this.SetTabContent(PanoDiv,1);
    }
   
    this.imgCtr = null; // 影像控件
       
    this.RestoreImgOrigin = function(islarge,imgtype,lcr)
    {// 图片恢复
        this.imgCtr.imgDiv.style.cssText = "";
        this.imgCtr.leftDiv.style.cssText = "";
        this.imgCtr.centerDiv.style.cssText = "";
        this.imgCtr.rightDiv.style.cssText = "";
       
        if ( islarge )
        {
            this.imgCtr.imgDiv.className = this.GetElementCss("imgdiv");
           
            if ( lcr == "left" )
            {
                this.imgCtr.leftDiv.className = this.GetElementCss("leftdiv");
                this.imgCtr.centerDiv.className = this.GetElementCss("ncenterdiv");
                this.imgCtr.rightDiv.className = this.GetElementCss("nrightdiv");
            }
            else if ( lcr == "right" )
            {
                this.imgCtr.leftDiv.className = this.GetElementCss("nleftdiv");
                this.imgCtr.centerDiv.className = this.GetElementCss("ncenterdiv");
                this.imgCtr.rightDiv.className = this.GetElementCss("rightdiv");
            }
            else
            {
                this.imgCtr.leftDiv.className = this.GetElementCss("nleftdiv");
                this.imgCtr.centerDiv.className = this.GetElementCss("centerdiv");
                this.imgCtr.rightDiv.className = this.GetElementCss("nrightdiv");
            }           
        }
        else
        {
            this.imgCtr.imgDiv.className = this.GetElementCss("imgdiv"+imgtype);
            this.imgCtr.leftDiv.className = this.GetElementCss("leftdiv");
            this.imgCtr.centerDiv.className = this.GetElementCss("centerdiv");
            this.imgCtr.rightDiv.className = this.GetElementCss("rightdiv");
        }
       
        if ( this.imgCtr.type == "lcr" )
        {
            this.ShowLCRBtn();
        }
    } 
   
    // 放大切换相关   
   
    this.map = null;
   
    // 切换放大div   
    this.SwitchToLarge = function()
    {
        this.oldClassName = this.div.className;
        this.div.className = this.GetElementCss(leador_ImgDefaultSet.imgCtrSize[4]);
        this.currentSize = 4;
        if ( !this.panoAlive )
        {    
            // 影像控件的函数
            this.imgCtr.isLarge = true;
            this.imgCtr.SetImageUrl(false);
           
            if ( !this.map )
            {
                var div = document.createElement("div");
                div.className = this.GetElementCss("mapclose");
                div.onclick = function()
                {
                    if ( this.className.indexOf("mapopen") != -1 )
                    {
                        this.className = tab.GetElementCss("mapclose");
                        tab.map.Hide(false);
                    }
                    else
                    {
                        this.className = tab.GetElementCss("mapopen");
                        tab.map.Hide(true);
                    }
                }
                this.imgCtr.imgDiv.appendChild(div);
               
                leador_isLarge = true; // iscnmap.js 使用
                var mapdiv = document.createElement("div");
                largeMapDiv = mapdiv.id = "leador_iscn_imgmapdivid"; // iscnmap.js 使用
                this.imgCtr.imgDiv.appendChild(mapdiv);
                this.map = new leador_large_MapOp(mapdiv);
                this.map.SetContainerDiv(1);
                this.map.InitMap();
               
                mapdiv.onmousewheel = function(){event.cancelBubble=true;};
                mapdiv.ismap = true;
               
                var img = document.createElement("img");
                img.className = this.GetElementCss("swk");
                mapdiv.appendChild(img);
                this.map.img = img;
                img.alt = "影像是这里的。";
                img.title = "影像是这里的。";
                img.onmousewheel = function(){event.cancelBubble=true;};
               
                this.map.SetCenter(this.imgCtr.GetLon(),this.imgCtr.GetLat(),12);
                this.map.SetImg(this.imgCtr.__imageYaw);
                this.map.SetZoomCtr();
                this.map.SetMouseEvent();             
               
                this.imgCtr.Attach("ImageLoadCompleteForMap",function()
                                                             {
                                                                tab.map.SetCenter(tab.imgCtr.GetLon(),tab.imgCtr.GetLat(),tab.map.level);
                                                                tab.map.SetImg(tab.imgCtr.__imageYaw);  
                                                             } );
            }
            else
            {
                this.map.Show(true);
            }           
        }
    }
   
    this.SwitchToSmall = function()
    {
        this.div.className = this.GetElementCss(this.oldClassName); 
        if ( !this.panoAlive)
        {     
            // 影像控件的函数,
            this.imgCtr.isLarge = false;
            this.imgCtr.SetImageUrl(false);
           
            if ( this.map )
            {
                this.map.Show(false);
            }
        }
    }  
   
}

leador_tab_control.tabCount = 0;

leador_tab_control.key = "imgctrtabcookie";

leador_tab_control.cumulativeOffset = function(element)
{
    var valueT = 0, valueL = 0;
    do {
      valueT += element.offsetTop  || 0;
      valueL += element.offsetLeft || 0;
      element = element.offsetParent;
    } while (element);
    return [valueL, valueT];
}
   
leador_tab_control.GetStyleInt = function(element,styleName)
{
    return parseInt(ImageKitClass.getStyle(element,styleName),10)||0;
}

leador_tab_control.GetCookie = function()
{
    var r=new RegExp("(^|;|//s)*"+leador_tab_control.key+"=([^;]*)(;|$)");
    var m=document.cookie.match(r);
    var value = (!m?"":m[2]);
   
    if ( value == "" )
    {
        leador_tab_control.tabCookie = {};
    }
    else
    {
        eval("leador_tab_control.tabCookie=" + value);
    }
   
    if ( window.attachEvent )
    {
        window.attachEvent("onunload",function(){leador_tab_control.SetCookie();});
    }
   
    if ( window.addEventListener )
    {
        window.addEventListener("unload",function(){leador_tab_control.SetCookie();},false);
    }
}

leador_tab_control.SetCookie = function()
{
    var strCookie=leador_tab_control.key + "=" + Object.toJSON(leador_tab_control.tabCookie);
    var timeout = 3600*24*7*1000;   
    var expires=new Date();
    expires.setTime(expires.getTime()+timeout);
    strCookie+="; expires="+expires.toGMTString();
  
//    var path = null;
//    if(!path) path="/";
//    strCookie+="; path="+path;
//    var domain = null;
//    if(domain) {
//        strCookie+="; domain="+domain;
//    }
    document.cookie=strCookie;    //session coockie
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值