BVB Source Codes

Pcook CMS bubble guest v3.0 SDCMS version Show istoolbar.js Source code

Return Download Pcook CMS bubble guest v3.0 SDCMS version: download istoolbar.js Source code - Download Pcook CMS bubble guest v3.0 SDCMS version Source code - Type:.js
  1. /***********************************************************
  2. InnovaStudio WYSIWYG Editor 3.1
  3.  2008, InnovaStudio (www.innovastudio.com). All rights reserved.
  4. ************************************************************/
  5. var UA = navigator.userAgent.toLowerCase();
  6. var isIE = (UA.indexOf('msie') >= 0) ? true : false;
  7. var isNS = (UA.indexOf('mozilla') >= 0) ? true : false;
  8.  
  9. function ISToolbarManager(id) {
  10.   this.id=id;
  11.   this.btns=new Object();
  12.   this.tbars=new Object();
  13.   this.groups=new Object();
  14.   this.tabCtl=null;
  15.  
  16.   this.createToolbar=function(id){
  17.     var tb=new ISToolbar(id);
  18.     tb.mgr=this;
  19.     this.tbars[id]=tb;
  20.     return tb;
  21.   }
  22.  
  23.   this.createTbGroup=function(id){
  24.     var gr=new ISToolbarGroup(id);
  25.     gr.mgr=this;
  26.     this.groups[id]=gr;
  27.     return gr;
  28.   }
  29.  
  30.   this.createTbTab=function(id) {
  31.     var tab=new ISTabCtl(id);
  32.     tab.mgr=this;
  33.     this.tabCtl=tab;
  34.     return tab;
  35.   }
  36.  
  37.   this.render=function() {
  38.     if(this.tabCtl) return this.tabCtl.render();
  39.     var ret="";
  40.     for(var i in this.groups) { if(this.groups[i].render) ret += this.groups[i].render(); }
  41.     if(ret!="") return ret;
  42.  
  43.     for(var i in this.tbars) { if(this.tbars[i].render) ret += this.tbars[i].render(); }
  44.     if(ret!="") return ret;
  45.     return "";
  46.   }
  47. }
  48.  
  49. /*------------------*/
  50. /* Toolbar */
  51. /*------------------*/
  52. var isTbars=new Object();
  53.  
  54. function ISToolbar(tId) {
  55.   this.id=tId;
  56.   this.mgr=null;
  57.   this.btns=new Object();
  58.  
  59.   this.btnHeight=25;
  60.   this.btnWidth=23;
  61.  
  62.   this.iconPath="icons/";
  63.  
  64.   this.floating=false;
  65.  
  66.   this.rt=new Object();
  67.   this.rt.sepCnt=0;
  68.   this.rt.brkCnt=0;
  69.  
  70.   this.style={toolbar:"istoolbar"};
  71.  
  72.   isTbars[tId]=this;
  73.  
  74.   return this;
  75. };
  76.  
  77. var ISTbar=ISToolbar.prototype;
  78.  
  79. ISTbar.add=function(btn) {
  80.   btn.container=this;
  81.   if(!btn.width)btn.width=this.btnWidth;
  82.   if(!btn.height)btn.height=this.btnHeight;
  83.   this.btns[btn.id]=btn;
  84.   if(this.mgr)this.mgr.btns[btn.id]=btn;
  85. };
  86.  
  87. ISTbar.addButton=function(id, icon, text, width, height) {
  88.   this.add(new ISButton(id, icon, text, width, height));
  89. };
  90.  
  91. ISTbar.addToggleButton=function(id, group, checked, icon, text, width, height) {
  92.   this.add(new ISToggleButton(id, group, checked, icon, text, width, height));
  93. }
  94.  
  95. ISTbar.addDropdownButton=function(id, ddId, icon, text, width, height){
  96.   this.add(new ISDropdownButton(id, ddId, icon, text, width, height));
  97. };
  98.  
  99. ISTbar.addSeparator=function(icon) {
  100.   var s=new ISSeparator((!icon || icon==""?"brkspace.gif":icon));
  101.   s.id="sep"+ ++this.rt.sepCnt;
  102.   s.container=this;
  103.   s.height=this.btnHeight;
  104.   this.btns[s.id]=s;
  105.   if(this.mgr)this.mgr.btns[s.id]=s;
  106. };
  107.  
  108. ISTbar.addBreak=function() {
  109.   var s=new ISBreak();
  110.   s.id="brt"+ ++this.rt.brkCnt;
  111.   s.container=this;
  112.   s.height=this.btnHeight;
  113.   this.btns[s.id]=s;
  114.   if(this.mgr)this.mgr.btns[s.id]=s;
  115. };
  116.  
  117. ISTbar.show=function(x, y) {
  118.   var tb=document.getElementById(this.id);
  119.   tb.style.left=x+"px";
  120.   tb.style.top=y+"px";
  121.   tb.style.display="";
  122.   tb.style.zIndex=100;
  123.   this.rt.active=true;
  124. };
  125.  
  126. ISTbar.hide=function() {
  127.   var tb=document.getElementById(this.id);
  128.   tb.style.display="none";
  129.   this.rt.active=false;
  130. }
  131.  
  132. ISTbar.changeState=function() {};
  133. ISTbar.onClick=function(e, s) {
  134. };
  135.  
  136. ISTbar.render=function() {
  137.   var s=[], j=0;
  138.   s[j++]="<div id='"+this.id+"' style='"+(this.floating?"position:absolute;top:0px;left:0px;display:none":"")+"'><table class='"+this.style.toolbar+"'  cellpadding=0 cellspacing=0 style=\"margin:0px;padding:0px;"+(this.floating?"":"width:100%;")+"\"><tr>";
  139.   if(this.floating) {
  140.     s[j++]="<td unselectable=\"on\" onmousedown=\"$mvmsDown(event, this, '"+this.id+"')\" onmouseover=\"this.style.cursor='move';\" onmouseout=\"this.style.cursor='default'\" style='background-image:url("+this.iconPath+"btndrag.gif)'>";
  141.     s[j++]="&nbsp;</td>";
  142.   }
  143.   s[j++]="<td unselectable='on'>";
  144.   s[j++]="<table cellpadding=0 cellspacing=0 width='100%'><tr><td style='background-image:url("+this.iconPath+"bg.gif);' unselectable='on'>";
  145.   for(var it in this.btns) {
  146.     if(this.btns[it].toHTML) s[j++]=this.btns[it].toHTML();
  147.   }
  148.   s[j++]="</td></tr></table>";  
  149.   s[j++]="</td></tr></table></div>";
  150.  
  151.   return s.join("");
  152. };
  153.  
  154. /**/
  155. function ISButton(id, icon, text, width, height) {
  156.   this.id=id;
  157.   this.container=null;
  158.   this.state=1;
  159.   this.text=text;
  160.   this.icon=icon;
  161.   this.height=height;
  162.   this.width=width;
  163.   this.type="STD";
  164.   this.domObj=null;
  165.  
  166.   /*set button state, 1=normal, 2=over 3=down 4=active 5=disable*/
  167.   this.setState=function(s) {
  168.     this.state=s;
  169.     var btn=this.domObj;
  170.     if(!btn) { btn=document.getElementById(this.id).childNodes[0];this.domObj=btn;}
  171.     btn.style.top=-this.height*(s-1)+"px";
  172.   };
  173.  
  174.   this.toHTML=function() {
  175.     var s=[], j=0, tbId=this.container.id;
  176.     s[j++]="<table cellpadding=0 cellspacing=0 align='left' style='margin:0px'><tr><td style='text-align:left;padding:0px;padding-right:0px;VERTICAL-ALIGN: top;margin-left:0;margin-right:1px;margin-bottom:1px;width:"+this.width+"px;height:"+this.height+"px;'>";
  177.     s[j++]="<div id=\""+id+"\" style=\"position:absolute;clip:rect(0px "+this.width+"px "+this.height+"px 0px);\" onmouseover=\"$msOver(event, '"+tbId+"', '"+this.id+"')\" onmouseout=\"$msOut(event, '"+tbId+"', '"+this.id+"')\" onmousedown=\"$msDown(event, '"+tbId+"', '"+this.id+"')\" onmouseup=\"$msUp(event, '"+tbId+"', '"+this.id+"')\" >";
  178.     s[j++]="<img src=\""+this.container.iconPath+this.icon+"\" style=\"position:absolute;top:0px;left:0px\" alt='"+this.text+"' title='"+this.text+"'/>"
  179.     s[j++]="</div>";
  180.     s[j++]="</td></tr></table>";
  181.    
  182.     if (this.type=="DD") s[j++]=isDDs[this.ddId].toHTML();
  183.     return s.join("");
  184.   };
  185. };
  186.  
  187. function ISToggleButton(id, group, checked, icon, text, width, height) {
  188.   this.constr=ISButton;
  189.   this.constr(id, icon, text, width, height);
  190.   delete this.constr;
  191.  
  192.   this.type="TGL";
  193.   this.checked=checked;
  194.   this.group=group;
  195. };
  196.  
  197. function ISSeparator(icon) {
  198.   this.icon=icon;
  199.   this.height=25;
  200.  
  201.   this.toHTML=function() {
  202.     var s=[], j=0;
  203.     s[j++]="<table align=left cellpadding=0 cellspacing=0 style='table-layout:fixed;'><tr>";
  204.     s[j++]="<td unselectable='on' style='padding:0px;padding-left:0px;padding-right:0px;VERTICAL-ALIGN:top;margin-bottom:1px;width:5px;height:"+this.height+"px;'><img unselectable='on' src='"+this.container.iconPath+this.icon+"' width='5px'></td>";
  205.     s[j++]="</tr></table>";
  206.     return s.join("");
  207.   }
  208. };
  209.  
  210. function ISBreak() {  
  211.   this.toHTML=function() {
  212.     var s=[], j=0;
  213.     s[j++]="</td></tr><tr><td style='height:2px'></td></tr><tr><td style='background-image:url("+this.container.iconPath+"bg.gif);height:"+this.height+"px'>";
  214.     return s.join("");
  215.   };
  216. };
  217.  
  218. function ISDropdownButton(id, ddId, icon, text, width, height) {
  219.   this.constr=ISButton;
  220.   this.constr(id, icon, text, width, height);
  221.   delete this.constr;
  222.  
  223.   this.type="DD";
  224.  
  225.   this.ddId=ddId;
  226. };
  227.  
  228. var isDDs=new Object();
  229. function ISDropdown(id) {
  230.   this.id=id;
  231.   this.items=new Object();
  232.   this.maxRowItems=15;
  233.  
  234.   this.add=function(it) { this.items[it.id]=it; it.container=this;};
  235.   this.addItem=function(id, text) {
  236.     this.add(new ISDropdownItem(id, text));
  237.   };
  238.  
  239.   this.enableItem=function(id, f){
  240.     this.items[id].enable=f;
  241.     document.getElementById(id).className=(f?"isdd_norm":"isdd_disb");
  242.   };
  243.  
  244.   this.selectItem=function(id, f) {
  245.     this.clearSelection();
  246.     this.items[id].selected=f;
  247.     document.getElementById(id).className=(f?"isdd_sel":"isdd_norm");
  248.   };
  249.  
  250.   this.clearSelection=function() {
  251.     for(var it in this.items) {
  252.       if(this.items[it].selected) {
  253.         document.getElementById(it).className="isdd_norm";
  254.         this.items[it].selected=false;
  255.       }
  256.     }
  257.   }
  258.  
  259.   this.toHTML=function() {
  260.     var s=[], j=0; it=null;
  261.     s[j++]="<table id='"+this.id+"' cellpadding=0 cellspacing=0 style='line-height:normal;z-index:1;display:none;position:absolute;border:#80788D 1px solid; cursor:default;background-color:#fbfbfd;' unselectable=on><tr><td>";
  262.     s[j++]="<table cellpadding=0 cellspacing=0>";
  263.     var r=1;
  264.     for (var i in this.items) {
  265.       it=this.items[i];
  266.       if (!it.toHTML) continue;
  267.       s[j++]=it.toHTML();
  268.       if (r%this.maxRowItems==0) {
  269.         s[j++]="</table>";
  270.         s[j++]="</td><td valign=top style='padding:0px;border-left:#80788D 1px solid'>";
  271.         s[j++]="<table cellpadding=0 cellspacing=0>";
  272.       }
  273.       r++;
  274.     }
  275.     s[j++]="</table></td></tr></table>";
  276.     return s.join("");
  277.   };
  278.  
  279.   this.onClick=function(itId) {}
  280.  
  281.   isDDs[id]=this;
  282. };
  283.  
  284. function ISDropdownItem(id, text) {
  285.   this.id=id;
  286.   this.text=text;
  287.   this.enable=true;
  288.   this.selected=false;
  289.   this.container=null;
  290.   this.toHTML=function() {
  291.     return "<tr><td id='"+this.id+"' onclick=\"$ddmsClick('"+this.container.id+"', '"+this.id+"', this)\" class='"+(this.enable?"isdd_norm":"isdd_disb")+"' onmouseover=\"$ddmsOver('"+this.container.id+"', '"+this.id+"', this)\" onmouseout=\"$ddmsOut('"+this.container.id+"', '"+this.id+"', this)\" unselectable=on align=center nowrap>"+ this.text +"</td></tr>";
  292.   }
  293. };
  294.  
  295. function ISCustomDDItem(id, s) {
  296.   this.id=id;
  297.   this.html=s;
  298.   this.toHTML=function() {return ("<tr><td>"+this.html+"</td></tr>"); }
  299. };
  300.  
  301. /*------------------*/
  302.  
  303. /*floating functions*/
  304. function $mvmsDown(e, el, tbId) {
  305.   var tb=isTbars[tbId];
  306.   tb.rt.clOff=(isIE?[e.offsetX, e.offsetY]:[e.layerX, e.layerY]);
  307.  
  308.   var d=document, de=d.documentElement;
  309.   tb.rt.scrl1=(isIE?(de?[de.scrollLeft, de.scrollTop]:[d.body.scrollLeft, d.body.scrollTop]):[window.scrollX, window.scrollY]);
  310.  
  311.   d.onmousemove=function(e) {$tbStartDrag_1((isIE?event:e), tb, document.getElementById(tbId));}
  312.   d.onmouseup=function(e) {$tbEndDrag((isIE?event:e), tb)}
  313.   d.onselectstart=function() { return false;}
  314.   d.onmousedown=function() { return false;}
  315.   d.ondragstart=function() { return false;}  
  316.  
  317.   d=tb.rt.document;
  318.   //tb.rt.scrl2=(isIE?[d.body.scrollLeft, d.body.scrollTop]:[d.body.scrollX, d.body.scrollY]);
  319.   if(d) {
  320.     d.onmousemove=function(e) {$tbStartDrag_2((isIE?d.parentWindow.event:e), tb, document.getElementById(tbId));}
  321.     d.onmouseup=function(e) {$tbEndDrag((isIE?d.parentWindow.event:e), tb)}
  322.     d.onselectstart=function() { return false;}
  323.     d.onmousedown=function() { return false;}
  324.     d.ondragstart=function() { return false;}  
  325.   }
  326. };
  327.  
  328. function $tbStartDrag_1(e, tb, oTb) {
  329.   //window.status="x:"+(e.clientX)+"-y:"+(e.clientY);
  330.   oTb.style.left=e.clientX-tb.rt.clOff[0]+tb.rt.scrl1[0] + "px";
  331.   oTb.style.top=e.clientY-tb.rt.clOff[1]+tb.rt.scrl1[1] + "px";
  332. };
  333.  
  334. function $tbStartDrag_2(e, tb, oTb) {
  335.   //window.status="x:"+(e.clientX)  + "-y:"+(e.clientY);
  336.   oTb.style.left=e.clientX-tb.rt.clOff[0]+tb.rt.docOff[0]+ "px";
  337.   oTb.style.top=e.clientY-tb.rt.clOff[1]+tb.rt.docOff[1]+ "px";
  338. };
  339.  
  340.  
  341. function $tbEndDrag(e, tb) {
  342.   //var d=tb.rt.document;
  343.   var d=[document, tb.rt.document];
  344.   for (var i=0;i<d.length;i++) {
  345.     if (!d[i]) continue;
  346.     d[i].onmousemove=null;
  347.     d[i].onmouseup=null;
  348.     d[i].onmousedown=function() { return true;}
  349.     d[i].onselectstart=function() { return true;}
  350.     d[i].onselectstart=function() { return true;}      
  351.   }
  352. };
  353.  
  354. function $ddmsOver(ddId, id, t) {
  355.   var it=isDDs[ddId].items[id];
  356.   if(!it.enable || it.selected)return;
  357.   t.className="isdd_over";
  358. };
  359.  
  360. function $ddmsOut(ddId, id, t) {
  361.   var it=isDDs[ddId].items[id];
  362.   if(!it.enable || it.selected)return;
  363.   t.className="isdd_norm";
  364. };
  365.  
  366. function $ddmsClick(ddId, id, t) {
  367.   if(!isDDs[ddId].items[id].enable)return;
  368.   isDDs[ddId].selectItem(id, true);
  369.   hideDD(ddId);
  370.   isDDs[ddId].onClick(id);
  371. };
  372.  
  373. /*end of floating functions*/
  374.  
  375. var $bCancel=false;
  376. function $msOver(e, tbId, btnId) {
  377.   var btn=isTbars[tbId].btns[btnId];
  378.   if(btn.state==1) btn.setState(2);
  379. };
  380.  
  381. function $msOut(e, tbId, btnId) {
  382.   var btn=isTbars[tbId].btns[btnId];
  383.   if(btn.state==3) {$bCancel=true;}
  384.   if(btn.state==2) btn.setState(1);
  385. };
  386.  
  387. function $msDown(e, tbId, btnId) {
  388.   var btn=isTbars[tbId].btns[btnId];
  389.   if(btn.state!=5) btn.setState(3);
  390. };
  391.  
  392. function $msUp(e, tbId, btnId) {
  393.   var tbar=isTbars[tbId];
  394.   var btn=tbar.btns[btnId];
  395.   if($bCancel) {$bCancel=false; btn.setState(1); return false;}
  396.   if(btn.state==5) return false;
  397.   if (btn.type=="STD") {
  398.     btn.setState(2);
  399.     tbar.onClick(btnId);
  400.   } else if(btn.type=="TGL") {
  401.     if (btn.group!=null && btn.group!="") {
  402.       //find all other button with the same group and set
  403.       var tBtn=null;
  404.       for (var it in tbar.btns) {
  405.         tBtn=tbar.btns[it];
  406.         if(!tBtn.id) continue;
  407.         if (tBtn.group==btn.group && tBtn.id!=btn.id) {tBtn.setState(1); tBtn.checked=false;}
  408.       }
  409.     }
  410.     //toggle button      
  411.     btn.setState(btn.checked?2:4);
  412.     btn.checked=!btn.checked;
  413.     tbar.onClick(btnId);
  414.   } else if(btn.type=="DD") {
  415.     tbar.onClick(btnId);
  416.     showDD(tbId, btnId, btn.ddId);
  417.     btn.setState(2);
  418.   }
  419.   return true;
  420. };
  421.  
  422. function showDD(tbId, btnId, ddId) {
  423.   hideAllDD();
  424.  
  425.   var btn=document.getElementById(btnId);
  426.   var dd=document.getElementById(ddId);
  427.   var tmp=btn; var x=0, y=0;
  428.   x=btn.offsetLeft; y=btn.offsetTop;
  429.   dd.style.left=x+"px";
  430.   dd.style.top=y+25+"px";
  431.   dd.style.display="block";
  432.  
  433.   if (!isDDs[ddId].container) isDDs[ddId].container=isTbars[tbId].btns[btnId];
  434. };
  435.  
  436. function hideDD(ddId) {
  437.   if (document.getElementById(ddId)) document.getElementById(ddId).style.display="none";
  438. };
  439.  
  440. function hideAllDD() {
  441.   for (var tId in isDDs) { hideDD(tId); }
  442. };
  443. /*--------------------*/
  444.  
  445. var isTGroups=new Object();
  446.  
  447. function ISToolbarGroup(id) {
  448.   this.id=id;
  449.   this.mgr=null;
  450.   this.grps=new Object();
  451.   this.visible=true;
  452.  
  453.   isTGroups[id]=this;
  454. }
  455. var ISTbarGrp=ISToolbarGroup.prototype;
  456.  
  457. ISTbarGrp.addGroup=function(id, name, tbId) {
  458.   var g=new ISGroup(id, name, tbId);
  459.   this.grps[id]=g;
  460. };
  461.  
  462. ISTbarGrp.render=function() {
  463.   var s=[], j=0;
  464.   s[j++]="<table id='"+this.id+"' cellpadding=0 cellspacing=0 border=0 style='"+(this.visible?"":"display:none;")+"'><tr>";
  465.   for (var it in this.grps) {
  466.     if(this.grps[it].render) {
  467.       s[j++]="<td unselectable='on'>"+this.grps[it].render()+"</td>";
  468.     }
  469.   }  
  470.   s[j++]="</tr></table>";
  471.   return s.join("");
  472. };
  473.  
  474. ISTbarGrp.setVisibility=function(b) {
  475.   this.visible=b;
  476.   var e=document.getElementById(this.id);
  477.   if(e) e.style.display=(b?"":"none");
  478. };
  479.  
  480. function ISGroup(id, name, tbId) {
  481.   this.id=id;
  482.   this.name=name;
  483.   this.tbId=tbId;
  484.   return this;
  485. };
  486.  
  487. ISGroup.prototype.render=function() {
  488.   var s=[], j=0;
  489.   s[j++]="<table cellpadding=0 cellspacing=0 style='margin-right:3px;font-size:8px;' unselectable='on'>";
  490.   s[j++]="<tr><td class='bdrgrptopleft'>&nbsp;</td><td class='bdrgrptop'></td><td class='bdrgrptopright'>&nbsp;</td></tr>";
  491.   s[j++]="<tr><td colspan='3' width='100%'>";
  492.  
  493.   s[j++]="<table cellpadding=0 cellspacing=0 class='isgroup' width='100%' style='font-size:8px;'><tr><td class='bdrgrpleft'></td><td class='isgroupcontent' unselectable='on'>";
  494.   s[j++]=isTbars[this.tbId].render();
  495.   s[j++]="</td><td class='bdrgrpright'></td></tr>";  
  496.   //s[j++]="<tr><td class='bdrgrpleft'></td><td class='isgrouptitle' align='center'>";
  497.   //s[j++]=this.name;
  498.   //s[j++]="</td><td class='bdrgrpright'></td></tr>";
  499.   s[j++]="</table>";
  500.  
  501.   s[j++]="</td></tr>";
  502.   s[j++]="<tr><td class='bdrgrpbottomleft'>&nbsp;</td><td class='bdrgrpbottom'></td><td class='bdrgrpbottomright'>&nbsp;</td></tr>";
  503.   s[j++]="</table>";
  504.  
  505.  
  506.   return s.join("");  
  507. };
  508.  
  509. /*--------------------*/
  510. var isTabs=new Object();
  511.  
  512. function ISTabCtl(id) {
  513.   this.id=id;
  514.   this.mgr=null;
  515.   this.tabs=new Object();
  516.   this.tabIdx=[];
  517.   this.selTab=null;
  518.   isTabs[id]=this;
  519.   return this;
  520. };
  521.  
  522. function ISTab(id, capt, obj) {
  523.   this.id=id;
  524.   this.capt=capt;
  525.   this.obj=obj;
  526.   this.selected=false;
  527.   return this;
  528. };
  529.  
  530. ISTab.prototype.render=function() {
  531.   var s=[], j=0, sf=(this.selected?"sel":"")
  532.   s[j++]="<table id='"+this.id+"' cellpadding=0 cellspacing=0 class='istab' align='left' onclick=\"isTabs."+this.tab.id+".setTab('"+this.id+"')\" style='cursor:default;' unselectable='on'><tr>";
  533.   s[j++]="<td class='tableft"+sf+"' width='5px'></td>";
  534.   s[j++]="<td class='tabtitle"+sf+"' unselectable='on'>"+this.capt+"</td>";
  535.   s[j++]="<td class='tabright"+sf+"' width='5px'></td>";
  536.   s[j++]="</tr></table>";
  537.   return s.join("");    
  538. };
  539.  
  540. ISTabCtl.prototype.addTab=function(id, capt, obj) {
  541.   var t=new ISTab(id, capt, obj);
  542.   t.tab=this;
  543.   this.tabs[id]=t;
  544.   if(this.tabIdx.length==0) this.selTab=id;
  545.   this.tabIdx[this.tabIdx.length]=id;
  546. };
  547.  
  548. ISTabCtl.prototype.render=function() {
  549.   var s=[], j=0, o=null;
  550.   s[j++]="<table cellpadding=0 cellspacing=0 class='istabctl'><tr><td class='bdrtabtopleft' unselectable='on'></td><td class='bdrtabtop' unselectable=\"on\">";
  551.   for (var it in this.tabs) {
  552.     o=this.tabs[it];
  553.     if(!o.render) continue;
  554.     o.selected=(this.selTab==o.id);
  555.     s[j++]=o.render();
  556.   }
  557.   s[j++]="</td><td class='bdrtabtopright'></td></tr>";
  558.   s[j++]="<tr><td class='bdrtableft' style='font-size:7pt'>&nbsp;</td><td class='tabcontent' unselectable='on'>";
  559.   if(!isIE)s[j++]="<div style='position:relative'>";
  560.   for (var it in this.tabs) {
  561.     o=this.tabs[it].obj;
  562.     if(!o) continue;
  563.     o.visible=(this.selTab==this.tabs[it].id);
  564.     s[j++]=this.tabs[it].obj.render();
  565.   }
  566.   if(!isIE)s[j++]="</div>";
  567.   s[j++]="</td><td class='bdrtabright' style='font-size:7pt'>&nbsp;</td></tr>";
  568.   s[j++]="<tr><td class='bdrtabbottomleft'></td><td class='bdrtabbottom'></td><td class='bdrtabbottomright'></td></tr>";
  569.   s[j++]="</table>";
  570.   return s.join("");
  571. };
  572.  
  573. ISTabCtl.prototype.setTab=function(id) {
  574.   //current selected
  575.   var t=document.getElementById(this.selTab);
  576.   if (t) {
  577.     t.rows[0].cells[0].className="tableft";
  578.     t.rows[0].cells[1].className="tabtitle";
  579.     t.rows[0].cells[2].className="tabright";
  580.   }
  581.   this.tabs[this.selTab].selected=false;
  582.   this.tabs[this.selTab].obj.setVisibility(false);
  583.  
  584.   t=document.getElementById(id);
  585.   t.rows[0].cells[0].className="tableftsel";
  586.   t.rows[0].cells[1].className="tabtitlesel";
  587.   t.rows[0].cells[2].className="tabrightsel";
  588.   this.tabs[id].selected=true;
  589.   this.tabs[id].obj.setVisibility(true);
  590.   this.selTab=id;
  591. };
downloadistoolbar.js Source code - Download Pcook CMS bubble guest v3.0 SDCMS version Source code
Related Source Codes/Software:
Oo 126 CMS movie site system - This procedure ASP + ACC/ASP + SQL, using new kern... 2016-09-21
IDC sales web site - Beautiful IDC sales web site source code 2016-09-21
NPOINT virtual host v1.7.0 formal version management system - The system main function is introduced 2016-09-21
Classified information network business in suzhou - Overall module: classification of supply and deman... 2016-09-21
Jie Yang v0.6.3 article system - System functions: 1, the system settings A confi... 2016-09-21
Age design website information management system SDCMS v1.1 SP1 - SDCMS is designed to build the information managem... 2016-09-21
Age design website information management system SDCMS v1.1 SP1 - SDCMS is designed to build the information managem... 2016-09-21
C9 v2.1.1 static post system - Program USES ASP + ACC structure design and develo... 2016-09-21
Imitation green download station perfect version - Before increased | software home page, on the basi... 2016-09-21
Subdomain hosting edition v1.9 s taobao, pat - The background site admin 2016-09-21
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top