function filecomparefun(url,rev1,rev2,tabid,v1,v2,tabname){if(Wtf.getCmp(tabid)==null){var currentPosition=-1;var array;var frameNames;var arraySize;function set(numbers,names){array=numbers;frameNames=names;arraySize=array.length}function next(){var dest=array[arraySize-1];if(arraySize>0){if(currentPosition!=arraySize-1){dest=array[++currentPosition]}}jump(dest)}function previous(){var dest=array[0];if(arraySize>0){if(currentPosition!=-1&&currentPosition!=0){dest=array[--currentPosition]}}jump(dest)}function jump(dest){if(self.frames[leftFrameName]==null||self.frames[rightFrameName]==null){return }else{var path=frameNames[currentPosition];if(path.indexOf("startrev")!=-1){self.frames[leftFrameName].location=path+"#"+dest}else{self.frames[rightFrameName].location=path+"#"+dest}}}var loadedFrameNum=0;Wtf.getCmp("as").add({id:tabid,tabType:Wtf.etype.docs,layout:"fit",title:"[v"+v1+" - v"+v2+"] "+tabname,closable:true,iconCls:getTabIconCls(Wtf.etype.docs)});Wtf.getCmp("as").doLayout();Wtf.getCmp("as").setActiveTab(Wtf.getCmp(tabid));function SuccessPanel(resp,option){var respobj=eval("("+resp+")");var endurl=respobj.endurl;var starturl=respobj.starturl;var itemsadded=respobj.itemsadded;var itemsmodified=respobj.itemsmodified;var itemsdeleted=respobj.itemsdeleted;var data={items:[{h:"Added",i:"images/added_ico.gif",t:itemsadded},{h:"Changed",i:"images/changed_ico.gif",t:itemsmodified},{h:"Deleted",i:"images/removed_ico.gif",t:itemsdeleted}]};var tpl=new Wtf.XTemplate('<div class="docHdr"><tpl for="items"><div class="docHdrTxt"><img src="{i}"/><span class="sb">{h}:</span><span class="st">&nbsp;{t}</span></div></tpl></div>');var obj1=new Wtf.ScrollPanel({id:"iframe1"+tabid,width:"100%",border:false,autoLoad:starturl,autoScroll:true});var obj2=new Wtf.ScrollPanel({id:"iframe2"+tabid,width:"100%",border:false,autoLoad:endurl,autoScroll:true});Wtf.getCmp("iframe1"+tabid).on("bodyscroll",function(scrollLeft,scrollTop){Wtf.getCmp("iframe2"+tabid).body.dom.scrollTop=scrollTop;Wtf.getCmp("iframe2"+tabid).body.dom.scrollLeft=scrollLeft});Wtf.getCmp("iframe2"+tabid).on("bodyscroll",function(scrollLeft,scrollTop){Wtf.getCmp("iframe1"+tabid).body.dom.scrollTop=scrollTop;Wtf.getCmp("iframe1"+tabid).body.dom.scrollLeft=scrollLeft});var viewport=new Wtf.Panel({baseCls:"ascls1",layout:"border",items:[{region:"east",id:"east"+tabid,border:false,title:"Version "+v2,width:"50%",layout:"fit",items:obj2},{region:"north",id:"north",border:false,height:32,items:new Wtf.Panel({html:tpl.apply(data),border:false})},{region:"center",id:"center"+tabid,border:false,title:"Version "+v1,width:"50%",layout:"fit",items:obj1}]});Wtf.getCmp(tabid).add(viewport);Wtf.getCmp(tabid).doLayout()}Wtf.Ajax.requestEx({url:Wtf.req.doc+"file-releated/filecompare/fileCompare.jsp",params:{url:url,startrev:rev1,endrev:rev2,flag:"0"}},this,SuccessPanel)}else{Wtf.getCmp("as").setActiveTab(Wtf.getCmp(tabid))}}function revisionlistFun(url,tabid,tabname,docid,fileType){if(Wtf.getCmp(tabid)==null){var displayButflag=0;Wtf.getCmp("as").add({id:tabid,tabType:Wtf.etype.docs,layout:"fit",title:"[Versions] "+tabname,closable:true,iconCls:getTabIconCls(Wtf.etype.docs)});Wtf.getCmp("as").doLayout();Wtf.getCmp("as").setActiveTab(Wtf.getCmp(tabid));function SuccessFun(resp,option){var respobj=eval("("+resp+")");var version=respobj.version;function Compare_Click(){var val=sm.getSelections();if(val.length==2){var rev1=parseInt(val[1].get("Revision"));var rev2=parseInt(val[0].get("Revision"));var v1=parseInt(val[1].get("Version"));var v2=parseInt(val[0].get("Version"));if(rev1>rev2){rev1=rev1^rev2;rev2=rev1^rev2;rev1=rev1^rev2;v1=v1^v2;v2=v1^v2;v1=v1^v2}filecomparefun(url,rev1,rev2,"compare"+url+rev1+rev2,v1,v2,tabname)}else{Wtf.Msg.alert("Error","Please select two revisions to compare")}}function GetToolbar(){return([new Wtf.Action({text:"Compare",tooltip:{text:"Click to view a comparison of any two revisions"},iconCls:"pwnd RevisionList",disabled:((displayButflag==0)?false:true),handler:Compare_Click})])}var reader=new Wtf.data.JsonReader({idProperty:"taskId",root:"data",remoteGroup:true,remoteSort:true,fields:[{name:"Revision",type:"string"},{name:"Version",type:"string"},{name:"Age",type:"string"},{name:"Author",type:"string"},{name:"Comment",type:"string"},{name:"Download",type:"string"}]});var sm=new Wtf.grid.CheckboxSelectionModel();var ds=new Wtf.data.Store({url:Wtf.req.doc+"file-releated/revision/revisionlistin.jsp?url="+url,reader:reader});function DownloadLink(a,b,c,d,e,f){return"<a href='#' title='Download' onclick='setDldUrl(\""+unescape(a)+"\")'><div class='pwnd dldiconwt' style='height:16px; width:16px;'></div></a>"}var sm=new Wtf.grid.CheckboxSelectionModel();var cm=new Wtf.grid.ColumnModel([sm,{header:"Version",dataIndex:"Version"},{header:"Age",dataIndex:"Age"},{header:"Author",dataIndex:"Author"},{header:"Comments",dataIndex:"Comment"},{header:"Download",dataIndex:"Download",renderer:DownloadLink}]);cm.defaultSortable=true;var grid=new Wtf.grid.GridPanel({ds:ds,cm:cm,sm:sm,trackMouseOver:true,enableColumnHide:false,headerStyle:"background-color: rgb(231,240,250)",viewConfig:{forceFit:true,autoFill:true}});ds.load();ds.on("loadexception",function(){msgBoxShow(["Error","A problem comparing docs"],Wtf.MessageBox.ERROR)});var panel1=new Wtf.Panel({id:"panelforrevisionlist"+tabid,frame:false,border:false,layout:"border",items:[{region:"north",border:false,frame:false,height:55,layout:"fit",tbar:GetToolbar(),items:new Wtf.Panel({html:'<div class="docHdr"><div class="docHdrTxt"><span class="sb">Displayed Versions:</span>&nbsp;'+version+"</div></div>",border:false})},{region:"center",border:false,frame:false,layout:"fit",items:new Wtf.Panel({border:false,frame:false,items:[grid],autoScroll:true,layout:"fit",bodyStyle:"background-color: #FFFFFF;"})}]});Wtf.getCmp(tabid).add(panel1);Wtf.getCmp(tabid).doLayout();panel1.doLayout()}Wtf.Ajax.requestEx({url:Wtf.req.doc+"file-releated/filecontent/filedownloadchk.jsp",params:{docid:docid}},this,function(resp,option){var respText=eval("("+resp+")");if(respText.download=="yes"||fileType=="Image"){displayButflag=1}});Wtf.Ajax.requestEx({url:Wtf.req.doc+"file-releated/revision/revisionListMain.jsp",params:{url:url}},this,SuccessFun)}else{Wtf.getCmp("as").setActiveTab(Wtf.getCmp(tabid))}}function filecontentTab(url,tabid,tabname,fileType,RevisionNumber){if(Wtf.getCmp(tabid)==null){Wtf.getCmp("as").add({id:tabid,tabType:Wtf.etype.docs,layout:"fit",title:tabname,closable:true,iconCls:getTabIconCls(Wtf.etype.docs)});Wtf.getCmp("as").doLayout();Wtf.getCmp("as").setActiveTab(Wtf.getCmp(tabid));function SuccessFun(resp,option){var respobj=eval("("+resp+")");function CallRevisionList(){revisionlistFun(respobj.svnname,url+"revisionlist",respobj.docname,url,fileType)}function Downlist(){setDownloadUrl(url)}function GetToolbar(){return([new Wtf.Action({id:"Download"+tabid,text:"Download",iconCls:"pwnd dldicon",handler:Downlist})])}var containerdiv='<div class="docHdr" style="height:50px"><div class="docHdrTxt" style="width:240px"><span class="sb">Uploaded On:</span>&nbsp;'+respobj.date+'</div><div class="docHdrTxt" style="width:240px"><span class="sb">Author:</span>&nbsp;'+respobj.author+'</div><div class="docHdrTxt"><span class="sb">Size:</span>&nbsp;'+respobj.size+'</div><div style="clear:both;"></div><div class="docHdrTxt" style="width:100%"><span class="sb">Comment:</span>&nbsp;'+Wtf.URLDecode(unescape(respobj.comment))+"</div></div>";var containerdiv1=document.createElement("div");containerdiv1.id="file1div"+tabid;containerdiv1.style.height="100%";containerdiv1.style.overflow="hidden";var obj1=document.createElement("iframe");obj1.id="iframe1"+Wtf.getCmp(tabid);obj1.name="iframe1"+tabid;obj1.cls="ascls";obj1.style.width="100%";obj1.style.height="100%";obj1.style.border="0";obj1.style.autoScroll=false;if(RevisionNumber=="-"||RevisionNumber==null){obj1.src="fileData.jsp?url="+url}else{Wtf.Ajax.requestEx({url:Wtf.req.doc+"file-releated/filecompare/fileCompare.jsp",params:{url:respobj.svnname,startrev:RevisionNumber,endrev:-1,flag:"1"}},this,function(){obj1.src=Wtf.req.doc+"file-releated/filecompare/fileCompareData.jsp?startrev="+RevisionNumber+"&extension="+tabname.substr(tabname.lastIndexOf(".")+1)+"&flag=1"})}containerdiv1.appendChild(obj1);var panel1=new Wtf.Panel({id:"panel1"+tabid,frame:false,layout:"border",tbar:GetToolbar(),items:[{region:"north",border:false,frame:false,height:50,layout:"fit",items:new Wtf.Panel({layout:"fit",html:containerdiv,border:false})},{region:"center",border:false,frame:false,layout:"fit",items:new Wtf.Panel({border:false,frame:false,items:[containerdiv1],autoScroll:true,layout:"fit",bodyStyle:"background-color: #FFFFFF;"})}]});Wtf.getCmp(tabid).add(panel1);Wtf.getCmp(tabid).doLayout();panel1.doLayout()}Wtf.Ajax.requestEx({url:Wtf.req.doc+"file-releated/filecontent/fileContent.jsp",params:({url:url})},this,SuccessFun)}else{Wtf.getCmp("as").setActiveTab(Wtf.getCmp(tabid))}}