Produced by Araxis Merge on 1/2/2018 11:56:48 AM Eastern Standard Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
| # | Location | File | Last Modified |
|---|---|---|---|
| 1 | Tue Jan 2 16:56:48 2018 UTC | ||
| 2 | HTRE_P2.zip\src.zip\output\IHTA OLH Files.zip\admin.zip\admin | whhost.js | Wed May 31 16:59:36 2017 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 0 | 0 |
| Changed | 0 | 0 |
| Inserted | 1 | 1332 |
| Removed | 0 | 0 |
| Whitespace | |
|---|---|
| Character case | Differences in character case are significant |
| Line endings | Differences in line endings (CR and LF characters) are ignored |
| CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
| 1 | // We bHelp 5.10 .002 | |||||
| 2 | var gaChun ks=new Arr ay(); | |||||
| 3 | var gaFake s=new Arra y(); | |||||
| 4 | var gaData Con=null; | |||||
| 5 | var gaData =new Array (); | |||||
| 6 | ||||||
| 7 | var gbFind CK=false;; | |||||
| 8 | var gbNeed Calc=false ; | |||||
| 9 | var gbScrl =false; | |||||
| 10 | var gbProc ess=false; | |||||
| 11 | var gbRead y=false; | |||||
| 12 | ||||||
| 13 | var gnChec k=0; | |||||
| 14 | var gnNum= 0; | |||||
| 15 | var gnIns= -1; | |||||
| 16 | var gnLoad =0; | |||||
| 17 | var gnRef= -1; | |||||
| 18 | var gnMaxI tems=0; | |||||
| 19 | var gnMaxM argin=3200 0; | |||||
| 20 | var gnNeed ed=0; | |||||
| 21 | var gnNKI= -1; | |||||
| 22 | var gnRE=0 ; | |||||
| 23 | var gnScrl Mgn=30; | |||||
| 24 | var gnSE=0 ; | |||||
| 25 | var gnVisi ble=0; | |||||
| 26 | var gnItem s=0; | |||||
| 27 | var gnUHei ght=1; | |||||
| 28 | ||||||
| 29 | var gsBCK= null; | |||||
| 30 | var gsChK= null; | |||||
| 31 | var gsCK=n ull; | |||||
| 32 | var gsLoad ingDivID=" LoadingDiv "; | |||||
| 33 | var gsLoad ingMsg="Lo ading data , please w ait..."; | |||||
| 34 | var gsPage Dir="ltr"; | |||||
| 35 | var gsSKA= null; | |||||
| 36 | var gsSKB= null; | |||||
| 37 | ||||||
| 38 | var gbLoad Info=false ; | |||||
| 39 | ||||||
| 40 | function o nLoadXMLEr ror() | |||||
| 41 | { | |||||
| 42 | if (gbLoadInf o) | |||||
| 43 | { | |||||
| 44 | var aChunk=new Array(); | |||||
| 45 | proj Ready(aChu nk); | |||||
| 46 | } | |||||
| 47 | el se | |||||
| 48 | { | |||||
| 49 | var aData=new Array(); | |||||
| 50 | putD ata(aData) ; | |||||
| 51 | } | |||||
| 52 | } | |||||
| 53 | ||||||
| 54 | function p utDataXML( xmlDoc,sDo cPath) | |||||
| 55 | { | |||||
| 56 | if (gbLoadInf o) | |||||
| 57 | { | |||||
| 58 | var node=xmlDo c.lastChil d; | |||||
| 59 | if(n ode) | |||||
| 60 | { | |||||
| 61 | var nT otal=0 | |||||
| 62 | var aC hunk=new A rray(); | |||||
| 63 | var oC =node.firs tChild; | |||||
| 64 | while( oC) | |||||
| 65 | { | |||||
| 66 | if(oC.no deName=="c hunkinfo") | |||||
| 67 | { | |||||
| 68 | var item=n ew Object( ); | |||||
| 69 | item.sBK=o C.getAttri bute("firs t"); | |||||
| 70 | item.sEK=o C.getAttri bute("last "); | |||||
| 71 | item.sFile Name=oC.ge tAttribute ("url"); | |||||
| 72 | item.nNum= parseInt(o C.getAttri bute("num" )); | |||||
| 73 | nTotal+=it em.nNum; | |||||
| 74 | item.nTota l=nTotal; | |||||
| 75 | aChunk[aCh unk.length ]=item; | |||||
| 76 | } | |||||
| 77 | oC=oC.ne xtSibling; | |||||
| 78 | } | |||||
| 79 | projRe ady(aChunk ); | |||||
| 80 | } | |||||
| 81 | } | |||||
| 82 | el se | |||||
| 83 | { | |||||
| 84 | var node=xmlDo c.lastChil d; | |||||
| 85 | if(n ode) | |||||
| 86 | { | |||||
| 87 | var aD ata=new Ar ray(); | |||||
| 88 | var nP rev=0; | |||||
| 89 | var nN ext=0; | |||||
| 90 | var oC =node.firs tChild; | |||||
| 91 | while( oC) | |||||
| 92 | { | |||||
| 93 | nPrev=nN ext; | |||||
| 94 | if(oC.no deName=="k ey") | |||||
| 95 | { | |||||
| 96 | var sName= oC.getAttr ibute("nam e"); | |||||
| 97 | if(sName&& sName.leng th>0) | |||||
| 98 | { | |||||
| 99 | va r sTarget= oC.getAttr ibute("tar get"); | |||||
| 100 | va r item=new Object(); | |||||
| 101 | it em.nType=2 ; | |||||
| 102 | it em.sName=s Name; | |||||
| 103 | if (sTarget) | |||||
| 104 | item .sTarget=s Target; | |||||
| 105 | it em.nPKOff= nPrev; | |||||
| 106 | aD ata[aData. length]=it em; | |||||
| 107 | va r nCurInde x=aData.le ngth; | |||||
| 108 | pr ocessKey(o C,aData,it em); | |||||
| 109 | nN ext=aData. length-nCu rIndex; | |||||
| 110 | it em.nNKOff= nNext; | |||||
| 111 | } | |||||
| 112 | } | |||||
| 113 | else if( oC.nodeNam e=="letter ") | |||||
| 114 | { | |||||
| 115 | var name=o C.getAttri bute("name "); | |||||
| 116 | if(name&&n ame.length >0) | |||||
| 117 | { | |||||
| 118 | va r item=new Object(); | |||||
| 119 | it em.nType=1 ; | |||||
| 120 | it em.sName=n ame; | |||||
| 121 | it em.nPKOff= nPrev; | |||||
| 122 | nN ext=0; | |||||
| 123 | it em.nNKOff= nNext; | |||||
| 124 | aD ata[aData. length]=it em; | |||||
| 125 | } | |||||
| 126 | } | |||||
| 127 | else if( oC.nodeNam e=="entry" ) | |||||
| 128 | { | |||||
| 129 | var name=o C.getAttri bute("name "); | |||||
| 130 | var def=oC .getAttrib ute("value "); | |||||
| 131 | if(name&&n ame.length >0) | |||||
| 132 | { | |||||
| 133 | va r item=new Object(); | |||||
| 134 | it em.sName=n ame; | |||||
| 135 | it em.sDef=de f; | |||||
| 136 | it em.nPKOff= nPrev; | |||||
| 137 | nN ext=0; | |||||
| 138 | it em.nNKOff= nNext; | |||||
| 139 | aD ata[aData. length]=it em; | |||||
| 140 | } | |||||
| 141 | } | |||||
| 142 | oC=oC.ne xtSibling; | |||||
| 143 | } | |||||
| 144 | putDat a(aData); | |||||
| 145 | } | |||||
| 146 | } | |||||
| 147 | } | |||||
| 148 | ||||||
| 149 | function p rocessKey( element,aD ata,item) | |||||
| 150 | { | |||||
| 151 | va r i=0; | |||||
| 152 | va r nPrev=0; | |||||
| 153 | va r nNext=0; | |||||
| 154 | va r oC=eleme nt.firstCh ild; | |||||
| 155 | wh ile(oC) | |||||
| 156 | { | |||||
| 157 | if(o C.nodeName =="topic") | |||||
| 158 | { | |||||
| 159 | var na me=oC.getA ttribute(" name"); | |||||
| 160 | var ur l=oC.getAt tribute("u rl"); | |||||
| 161 | if(url &&url.leng th!=0) | |||||
| 162 | { | |||||
| 163 | if(!name ||name.len gth==0) | |||||
| 164 | name=url; | |||||
| 165 | var topi c=new Obje ct(); | |||||
| 166 | topic.sN ame=name; | |||||
| 167 | topic.sU RL=url; | |||||
| 168 | if(!item .aTopics) | |||||
| 169 | item.aTopi cs=new Arr ay(); | |||||
| 170 | item.aTo pics[item. aTopics.le ngth]=topi c; | |||||
| 171 | } | |||||
| 172 | } | |||||
| 173 | else if(oC.nod eName=="ke y") | |||||
| 174 | { | |||||
| 175 | nPrev= nNext; | |||||
| 176 | var na me=oC.getA ttribute(" name"); | |||||
| 177 | if(nam e&&name.le ngth!=0) | |||||
| 178 | { | |||||
| 179 | var subI tem=new Ob ject(); | |||||
| 180 | subItem. sName=name ; | |||||
| 181 | subItem. nType=3; | |||||
| 182 | subItem. nPKOff=nPr ev; | |||||
| 183 | aData[aD ata.length ]=subItem; | |||||
| 184 | var nCur Index=aDat a.length; | |||||
| 185 | processK ey(oC,aDat a,subItem) ; | |||||
| 186 | nNext=aD ata.length -nCurIndex ; | |||||
| 187 | subItem. nNKOff=nNe xt; | |||||
| 188 | } | |||||
| 189 | } | |||||
| 190 | oC=o C.nextSibl ing; | |||||
| 191 | } | |||||
| 192 | } | |||||
| 193 | ||||||
| 194 | function p utData(aDa ta) | |||||
| 195 | { | |||||
| 196 | en dLoading() ; | |||||
| 197 | va r oCData=g oCData; | |||||
| 198 | if (oCData) | |||||
| 199 | { | |||||
| 200 | oCDa ta.aKs=aDa ta; | |||||
| 201 | if(g nNKI==-1) | |||||
| 202 | setTim eout("chec kReady();" ,1); | |||||
| 203 | else | |||||
| 204 | { | |||||
| 205 | gsSKA= getKByIdx( oCData,gnN KI); | |||||
| 206 | gbNeed Calc=true; | |||||
| 207 | gbScrl =true; | |||||
| 208 | gnNKI= -1; | |||||
| 209 | if(gsS KA) | |||||
| 210 | setTimeo ut("checkR eady();",1 ); | |||||
| 211 | else | |||||
| 212 | { | |||||
| 213 | markEnd( ); | |||||
| 214 | setTimeo ut("checkA gain();",5 0); | |||||
| 215 | } | |||||
| 216 | } | |||||
| 217 | } | |||||
| 218 | } | |||||
| 219 | ||||||
| 220 | function m arkEnd() | |||||
| 221 | { | |||||
| 222 | if (gbProcess ) | |||||
| 223 | gbPr ocess=fals e; | |||||
| 224 | } | |||||
| 225 | ||||||
| 226 | function e ndLoading( ) | |||||
| 227 | { | |||||
| 228 | va r oDiv=get Element(gs LoadingDiv ID); | |||||
| 229 | if (oDiv) | |||||
| 230 | oDiv .style.vis ibility="h idden"; | |||||
| 231 | } | |||||
| 232 | ||||||
| 233 | function m arkBegin() | |||||
| 234 | { | |||||
| 235 | gb Process=tr ue; | |||||
| 236 | } | |||||
| 237 | ||||||
| 238 | function b eginLoadin g() | |||||
| 239 | { | |||||
| 240 | va r oDiv=get Element(gs LoadingDiv ID); | |||||
| 241 | if (oDiv) | |||||
| 242 | { | |||||
| 243 | oDiv .style.top =document. body.scrol lTop; | |||||
| 244 | oDiv .style.vis ibility="v isible"; | |||||
| 245 | } | |||||
| 246 | } | |||||
| 247 | ||||||
| 248 | function i ndexHTMLPa rt() | |||||
| 249 | { | |||||
| 250 | th is.sHTML=" "; | |||||
| 251 | th is.nNeeded =0; | |||||
| 252 | th is.nCurren t=0; | |||||
| 253 | th is.nConsum ed=0; | |||||
| 254 | th is.sFK=nul l; | |||||
| 255 | th is.sLK=nul l; | |||||
| 256 | th is.addHTML =function( sHTML,nCon sumed,bDow n,bK,sK){ | |||||
| 257 | if(b Down) | |||||
| 258 | this.s HTML+=sHTM L; | |||||
| 259 | else | |||||
| 260 | this.s HTML=sHTML +this.sHTM L; | |||||
| 261 | this .nCurrent+ +; | |||||
| 262 | this .nConsumed +=nConsume d; | |||||
| 263 | if(b K) | |||||
| 264 | { | |||||
| 265 | if(!th is.sFK) | |||||
| 266 | this.sFK =sK; | |||||
| 267 | if(!th is.sLK) | |||||
| 268 | this.sLK =sK; | |||||
| 269 | if(bDo wn) | |||||
| 270 | this.sLK =sK; | |||||
| 271 | else | |||||
| 272 | this.sFK =sK; | |||||
| 273 | } | |||||
| 274 | } | |||||
| 275 | th is.appendH TML=functi on(oHTML,b Down){ | |||||
| 276 | this .addSubHTM L(oHTML,bD own); | |||||
| 277 | if(! this.sFK) | |||||
| 278 | this.s FK=oHTML.s FK; | |||||
| 279 | if(! this.sLK) | |||||
| 280 | this.s LK=oHTML.s LK; | |||||
| 281 | if(b Down) | |||||
| 282 | this.s LK=oHTML.s LK; | |||||
| 283 | else | |||||
| 284 | this.s FK=oHTML.s FK; | |||||
| 285 | } | |||||
| 286 | ||||||
| 287 | th is.addSubH TML=functi on(oHTML,b Down){ | |||||
| 288 | if(b Down) | |||||
| 289 | this.s HTML+=oHTM L.sHTML; | |||||
| 290 | else | |||||
| 291 | this.s HTML=oHTML .sHTML+thi s.sHTML; | |||||
| 292 | this .nCurrent+ =oHTML.nCu rrent; | |||||
| 293 | this .nConsumed +=oHTML.nC onsumed; | |||||
| 294 | } | |||||
| 295 | } | |||||
| 296 | ||||||
| 297 | function g etMaxUnits () | |||||
| 298 | { | |||||
| 299 | re turn Math. floor(gnMa xMargin/gn UHeight)+1 ; | |||||
| 300 | } | |||||
| 301 | ||||||
| 302 | function g etFakeItem sHTMLbyCou nt(nB,nCou nt) | |||||
| 303 | { | |||||
| 304 | va r nMU=getM axUnits(); | |||||
| 305 | va r nNum=Mat h.floor(nC ount/nMU); | |||||
| 306 | va r sHTML="" ; | |||||
| 307 | fo r(var i=0; i<nNum;i++ ) | |||||
| 308 | sHTM L+=getFake ItemHTML(n B,nMU-1); | |||||
| 309 | ||||||
| 310 | va r nRest=nC ount%nMU; | |||||
| 311 | sH TML+=getFa keItemHTML (nB,nRest- 1); | |||||
| 312 | re turn sHTML ; | |||||
| 313 | } | |||||
| 314 | ||||||
| 315 | function g etFakeItem HTML(nB,nN um) | |||||
| 316 | { | |||||
| 317 | re turn "<h6 name=fk"+n B+" id=fk" +nB+" styl e=\"margin -top:"+gnU Height*nNu m+";margin -bottom:0\ "> </ h6>"; | |||||
| 318 | } | |||||
| 319 | ||||||
| 320 | function f akeItemsAr ea(nB,n,sK A,sKB,obj) | |||||
| 321 | { | |||||
| 322 | th is.nB=nB; | |||||
| 323 | th is.nNum=n; | |||||
| 324 | th is.sKA=sKA ; | |||||
| 325 | th is.sKB=sKB ; | |||||
| 326 | th is.obj=obj ; | |||||
| 327 | th is.nMargin =(n-1)*gnU Height; | |||||
| 328 | ||||||
| 329 | th is.setNum= function(n ) | |||||
| 330 | { | |||||
| 331 | var nLastobj=- 1; | |||||
| 332 | var nDelta=thi s.nMargin; | |||||
| 333 | this .nMargin=( n-1)*gnUHe ight; | |||||
| 334 | nDel ta=nDelta- this.nMarg in; | |||||
| 335 | if(n >0) | |||||
| 336 | { | |||||
| 337 | this.n Num=n; | |||||
| 338 | var nM U=getMaxUn its(); | |||||
| 339 | nLasto bj=Math.fl oor((n-1)/ nMU); | |||||
| 340 | if(thi s.obj.leng th) | |||||
| 341 | this.obj [nLastobj] .style.mar ginTop=((n -1)%nMU)*g nUHeight; | |||||
| 342 | else | |||||
| 343 | this.obj .style.mar ginTop=((n -1)%nMU)*g nUHeight; | |||||
| 344 | } | |||||
| 345 | if(t his.obj.le ngth) | |||||
| 346 | { | |||||
| 347 | for(va r i=this.o bj.length- 1;i>nLasto bj;i--) | |||||
| 348 | removeTh is(this.ob j[i]); | |||||
| 349 | } | |||||
| 350 | else | |||||
| 351 | { | |||||
| 352 | if(nLa stobj==-1) | |||||
| 353 | removeTh is(this.ob j); | |||||
| 354 | } | |||||
| 355 | retu rn nDelta; | |||||
| 356 | } | |||||
| 357 | th is.insertA djacentHTM L=function (sWhere,sH TML) | |||||
| 358 | { | |||||
| 359 | if(s Where=="be foreBegin" ) | |||||
| 360 | { | |||||
| 361 | if(thi s.obj.leng th) | |||||
| 362 | this.obj [0].insert AdjacentHT ML(sWhere, sHTML); | |||||
| 363 | else | |||||
| 364 | this.obj .insertAdj acentHTML( sWhere,sHT ML); | |||||
| 365 | } | |||||
| 366 | else if(sWhere =="afterEn d") | |||||
| 367 | { | |||||
| 368 | if(thi s.obj.leng th) | |||||
| 369 | { | |||||
| 370 | if(gbMac &&gbIE5&&t his.obj[th is.obj.len gth-1].nex tSibling) | |||||
| 371 | this.obj[t his.obj.le ngth-1].ne xtSibling. insertAdja centHTML(" beforeBegi n",sHTML); | |||||
| 372 | else | |||||
| 373 | this.obj[t his.obj.le ngth-1].in sertAdjace ntHTML(sWh ere,sHTML) ; | |||||
| 374 | } | |||||
| 375 | else | |||||
| 376 | { | |||||
| 377 | if(gbMac &&gbIE5&&t his.obj.ne xtSibling) | |||||
| 378 | this.obj.n extSibling .insertAdj acentHTML( "beforeBeg in",sHTML) ; | |||||
| 379 | else | |||||
| 380 | this.obj.i nsertAdjac entHTML(sW here,sHTML ); | |||||
| 381 | } | |||||
| 382 | } | |||||
| 383 | } | |||||
| 384 | th is.getBtm= function() | |||||
| 385 | { | |||||
| 386 | if (gbSafari3 ) | |||||
| 387 | { | |||||
| 388 | if(t his.obj.le ngth) | |||||
| 389 | return findPosit ion(this.o bj[this.ob j.length-1 ]); | |||||
| 390 | else | |||||
| 391 | return findPosit ion(this.o bj); | |||||
| 392 | } | |||||
| 393 | if(t his.obj.le ngth) | |||||
| 394 | return this.obj[ this.obj.l ength-1].o ffsetTop; | |||||
| 395 | else | |||||
| 396 | return this.obj. offsetTop; | |||||
| 397 | } | |||||
| 398 | th is.getTop= function() | |||||
| 399 | { | |||||
| 400 | retu rn this.ge tBtm()-thi s.nMargin; | |||||
| 401 | } | |||||
| 402 | } | |||||
| 403 | ||||||
| 404 | function u sedItems(n B,nE) | |||||
| 405 | { | |||||
| 406 | th is.nB=nB; | |||||
| 407 | th is.nE=nE; | |||||
| 408 | th is.oN=null ; | |||||
| 409 | } | |||||
| 410 | ||||||
| 411 | function c heckReady( ) | |||||
| 412 | { | |||||
| 413 | va r len=gaCh unks.lengt h; | |||||
| 414 | va r bNeedLoa d=false; | |||||
| 415 | va r aDataCon ; | |||||
| 416 | va r s=0; | |||||
| 417 | va r bDown=(g sSKB==null ); | |||||
| 418 | va r sK=bDown ?gsSKA:gsS KB; | |||||
| 419 | if (sK==null) | |||||
| 420 | { | |||||
| 421 | mark End(); | |||||
| 422 | setT imeout("ch eckAgain() ;",50); | |||||
| 423 | retu rn; | |||||
| 424 | } | |||||
| 425 | if (!gsChK||s K!=gsChK|| gnNum==0) | |||||
| 426 | { | |||||
| 427 | gnCh eck=0; | |||||
| 428 | gsCh K=sK; | |||||
| 429 | aDat aCon=new A rray(); | |||||
| 430 | } | |||||
| 431 | el se{ | |||||
| 432 | s=gn Num; | |||||
| 433 | aDat aCon=gaDat aCon; | |||||
| 434 | } | |||||
| 435 | fo r(var i=gn Check;i<le n;i++) | |||||
| 436 | { | |||||
| 437 | var oCData=get ChunkedDat a(i,bDown, sK); | |||||
| 438 | if(o CData) | |||||
| 439 | { | |||||
| 440 | if(!oC Data.aKs&& oCData.sFi leName!=nu ll) | |||||
| 441 | { | |||||
| 442 | bNeedLoa d=true; | |||||
| 443 | goCData= oCData; | |||||
| 444 | gnNum=s; | |||||
| 445 | gnCheck= i; | |||||
| 446 | gaDataCo n=aDataCon ; | |||||
| 447 | oCData.n ProjId=i; | |||||
| 448 | gbLoadIn fo=false; | |||||
| 449 | beginLoa ding(); | |||||
| 450 | loadData 2(gaData[i ].sPPath+g aData[i].s DPath+oCDa ta.sFileNa me); | |||||
| 451 | return; | |||||
| 452 | } | |||||
| 453 | else{ | |||||
| 454 | aDataCon [s++]=oCDa ta; | |||||
| 455 | } | |||||
| 456 | } | |||||
| 457 | } | |||||
| 458 | if (!bNeedLoa d) | |||||
| 459 | { | |||||
| 460 | gnNu m=0; | |||||
| 461 | gsSK A=gsSKB=gs ShowK=null ; | |||||
| 462 | ||||||
| 463 | var oHTML=new indexHTMLP art(); | |||||
| 464 | var aPos=new A rray(); | |||||
| 465 | var aOriPos=ne w Array(); | |||||
| 466 | var aMaxPos=ne w Array(); | |||||
| 467 | var aMinPos=ne w Array(); | |||||
| 468 | ||||||
| 469 | if(g bNeedCalc| |gbFindCK) gnIns=0; | |||||
| 470 | for( i=0;i<aDat aCon.lengt h;i++) | |||||
| 471 | { | |||||
| 472 | aPos[i ]=getIdxPo s(aDataCon [i],bDown, sK); | |||||
| 473 | if(gbN eedCalc||g bFindCK) | |||||
| 474 | { | |||||
| 475 | gnIns+=a Pos[i]+aDa taCon[i].n Total-aDat aCon[i].nN um; | |||||
| 476 | if(!bDow n) | |||||
| 477 | { | |||||
| 478 | if(aPos[i] !=-1) | |||||
| 479 | { | |||||
| 480 | if (aDataCon[ i].aKs) | |||||
| 481 | gnIn s+=aDataCo n[i].aKs[a Pos[i]].nN KOff; | |||||
| 482 | el se | |||||
| 483 | { | |||||
| 484 | var n=aPos[i]+ 1; | |||||
| 485 | whil e(n<aDataC on[i].aKsO nly.length &&!aDataCo n[i].aKsOn ly[n]) | |||||
| 486 | n++; | |||||
| 487 | n=n- aPos[i]-1; | |||||
| 488 | gnIn s+=n; | |||||
| 489 | } | |||||
| 490 | } | |||||
| 491 | } | |||||
| 492 | } | |||||
| 493 | aOriPo s[i]=aPos[ i]; | |||||
| 494 | getLim it(aDataCo n,aPos,aMa xPos,aMinP os,i); | |||||
| 495 | } | |||||
| 496 | if(( gbNeedCalc ||gbFindCK )&&!bDown& &gnIns!=-1 ) | |||||
| 497 | { | |||||
| 498 | gnIns+ =(aDataCon .length-1) | |||||
| 499 | } | |||||
| 500 | if(g nIns!=-1|| gbFindCK) | |||||
| 501 | { | |||||
| 502 | oHTML. nNeeded=gn Needed; | |||||
| 503 | var bD one=writeI tems(oHTML ,aDataCon, aPos,aMinP os,aMaxPos ,bDown,1); | |||||
| 504 | if(oHT ML.nConsum ed!=0) | |||||
| 505 | { | |||||
| 506 | var nB; | |||||
| 507 | if(!bDow n) | |||||
| 508 | nB=gnIns-o HTML.nCons umed+1; | |||||
| 509 | else | |||||
| 510 | nB=gnIns; | |||||
| 511 | ||||||
| 512 | var oldS crollPos=d ocument.bo dy.scrollT op; | |||||
| 513 | if(inser tIdxKs(nB, oHTML,gbSc rl)) | |||||
| 514 | { | |||||
| 515 | updateUsed K(aDataCon ,aOriPos,a Pos,bDown) ; | |||||
| 516 | if(!gbScrl &&gbMac) | |||||
| 517 | { | |||||
| 518 | do cument.bod y.scrollTo p=oldScrol lPos; | |||||
| 519 | } | |||||
| 520 | gbScrl=fal se; | |||||
| 521 | } | |||||
| 522 | if(gbFin dCK) | |||||
| 523 | { | |||||
| 524 | gbFindCK=f alse; | |||||
| 525 | gbNeedCalc =true; | |||||
| 526 | gsSKB=oHTM L.sFK; | |||||
| 527 | gnIns=-1; | |||||
| 528 | setTimeout ("checkRea dy();",50) ; | |||||
| 529 | return; | |||||
| 530 | } | |||||
| 531 | } | |||||
| 532 | else i f(gbFindCK ) | |||||
| 533 | { | |||||
| 534 | gbFindCK =false; | |||||
| 535 | gbNeedCa lc=true; | |||||
| 536 | gsSKB=ge tFirstKeyF romPos(aDa taCon,aPos ); | |||||
| 537 | gnIns=-1 ; | |||||
| 538 | setTimeo ut("checkR eady();",5 0); | |||||
| 539 | return; | |||||
| 540 | } | |||||
| 541 | if(!fi ndCKInDom( )) return; | |||||
| 542 | ||||||
| 543 | gnNeed ed=gnNeede d-oHTML.nC urrent; | |||||
| 544 | gnIns= -1; | |||||
| 545 | markEn d(); | |||||
| 546 | setTim eout("chec kAgain();" ,50); | |||||
| 547 | gbNeed Calc=false ; | |||||
| 548 | } | |||||
| 549 | else | |||||
| 550 | { | |||||
| 551 | if(!fi ndCKInDom( )) return; | |||||
| 552 | markEn d(); | |||||
| 553 | setTim eout("chec kAgain();" ,50); | |||||
| 554 | } | |||||
| 555 | } | |||||
| 556 | } | |||||
| 557 | ||||||
| 558 | function g etFirstKey FromPos(aD ataCon,aPo s) | |||||
| 559 | { | |||||
| 560 | va r sCurrent K=getBigge stChar(); | |||||
| 561 | fo r(var i=0; i<aPos.len gth;i++) | |||||
| 562 | { | |||||
| 563 | if(a DataCon[i] .aKs&&aDat aCon[i].aK s.length>0 &&aPos[i]> =0&&aPos[i ]<aDataCon [i].aKs.le ngth) | |||||
| 564 | { | |||||
| 565 | if(sCu rrentK=="" || | |||||
| 566 | compare( sCurrentK, aDataCon[i ].aKs[aPos [i]].sName )>0) | |||||
| 567 | { | |||||
| 568 | sCurrent K=aDataCon [i].aKs[aP os[i]].sNa me; | |||||
| 569 | } | |||||
| 570 | } | |||||
| 571 | } | |||||
| 572 | re turn sCurr entK; | |||||
| 573 | } | |||||
| 574 | ||||||
| 575 | function c heckAgain( ) | |||||
| 576 | { | |||||
| 577 | if (!gbProces s) | |||||
| 578 | { | |||||
| 579 | if(g sBCK!=null ) | |||||
| 580 | { | |||||
| 581 | gsCK=g sBCK; | |||||
| 582 | gsBCK= null; | |||||
| 583 | findCK (); | |||||
| 584 | } | |||||
| 585 | else | |||||
| 586 | { | |||||
| 587 | markBe gin(); | |||||
| 588 | getUnitIdx (document. body.scrol lTop,getCl ientHeight ()); | |||||
| 589 | } | |||||
| 590 | } | |||||
| 591 | el se | |||||
| 592 | setT imeout("ch eckAgain() ",50); | |||||
| 593 | } | |||||
| 594 | ||||||
| 595 | function g etLimit(aD ataCon,aPo s,aMaxPos, aMinPos,i) | |||||
| 596 | { | |||||
| 597 | aM axPos[i]=a DataCon[i] .nNum; | |||||
| 598 | aM inPos[i]=- 1; | |||||
| 599 | va r oPNode=n ull; | |||||
| 600 | if (aDataCon[ i].oUsedIt ems) | |||||
| 601 | { | |||||
| 602 | var oUsedItems =aDataCon[ i].oUsedIt ems; | |||||
| 603 | do{ | |||||
| 604 | if(oUs edItems.nB >aPos[i]) | |||||
| 605 | { | |||||
| 606 | aMaxPos[ i]=oUsedIt ems.nB; | |||||
| 607 | break; | |||||
| 608 | } | |||||
| 609 | oPNode =oUsedItem s; | |||||
| 610 | oUsedI tems=oUsed Items.oN; | |||||
| 611 | }whi le(oUsedIt ems!=null) ; | |||||
| 612 | if(o PNode) | |||||
| 613 | aMinPo s[i]=oPNod e.nE; | |||||
| 614 | } | |||||
| 615 | el se if(aDat aCon[i].aK s==null) | |||||
| 616 | { | |||||
| 617 | aMax Pos[i]=aMi nPos[i]=aP os[i]; | |||||
| 618 | } | |||||
| 619 | if (aMinPos[i ]>=aPos[i] ||aMaxPos[ i]<=aPos[i ]) | |||||
| 620 | { | |||||
| 621 | aMax Pos[i]=aMi nPos[i]=aP os[i]; | |||||
| 622 | } | |||||
| 623 | } | |||||
| 624 | ||||||
| 625 | function g etIdxPos(o Idx,bDown, sK) | |||||
| 626 | { | |||||
| 627 | va r aKs=oIdx .aKs; | |||||
| 628 | va r nIdx; | |||||
| 629 | if (bDown) | |||||
| 630 | nIdx =oIdx.nNum ; | |||||
| 631 | el se | |||||
| 632 | nIdx =-1; | |||||
| 633 | if (aKs!=null ) | |||||
| 634 | { | |||||
| 635 | for( var i=0;i< aKs.length ;i++) | |||||
| 636 | { | |||||
| 637 | if(bDo wn) | |||||
| 638 | { | |||||
| 639 | if(compa re(aKs[i]. sName,sK)> 0) | |||||
| 640 | { | |||||
| 641 | nIdx=i; | |||||
| 642 | break; | |||||
| 643 | } | |||||
| 644 | } | |||||
| 645 | else | |||||
| 646 | { | |||||
| 647 | if(compa re(aKs[i]. sName,sK)< 0) | |||||
| 648 | nIdx=i; | |||||
| 649 | else | |||||
| 650 | break; | |||||
| 651 | } | |||||
| 652 | i+=aKs [i].nNKOff ; | |||||
| 653 | } | |||||
| 654 | } | |||||
| 655 | el se if(oIdx .aKsOnly) | |||||
| 656 | { | |||||
| 657 | var aKsOnly=oI dx.aKsOnly ; | |||||
| 658 | for( var i=0;i< aKsOnly.le ngth;i++) | |||||
| 659 | { | |||||
| 660 | if(aKs Only[i]) | |||||
| 661 | { | |||||
| 662 | if(bDown ) | |||||
| 663 | { | |||||
| 664 | if(compare (aKsOnly[i ],sK)>0) | |||||
| 665 | { | |||||
| 666 | nI dx=i; | |||||
| 667 | br eak; | |||||
| 668 | } | |||||
| 669 | } | |||||
| 670 | else | |||||
| 671 | { | |||||
| 672 | if(compare (aKsOnly[i ],sK)<0) | |||||
| 673 | nI dx=i; | |||||
| 674 | else | |||||
| 675 | br eak; | |||||
| 676 | } | |||||
| 677 | } | |||||
| 678 | } | |||||
| 679 | } | |||||
| 680 | re turn nIdx; | |||||
| 681 | } | |||||
| 682 | ||||||
| 683 | function w riteItems( oHTML,aDat aCon,aPos, aMinPos,aM axPos,bDow n,nLevel) | |||||
| 684 | { | |||||
| 685 | va r aOldPos= new Array( ); | |||||
| 686 | fo r(var i=0; i<aPos.len gth;i++) | |||||
| 687 | { | |||||
| 688 | aOld Pos[i]=aPo s[i]; | |||||
| 689 | } | |||||
| 690 | va r p; | |||||
| 691 | do { | |||||
| 692 | var sCurrentK= ""; | |||||
| 693 | var aCurIdxSet =new Array (); | |||||
| 694 | p=0; | |||||
| 695 | for( i=0;i<aDat aCon.lengt h;i++) | |||||
| 696 | { | |||||
| 697 | if(aDa taCon[i].a Ks&&aDataC on[i].aKs. length&&aP os[i]!=-1& & | |||||
| 698 | (bDown&& aPos[i]<aM axPos[i])| |(!bDown&& aPos[i]>aM inPos[i])) | |||||
| 699 | { | |||||
| 700 | if(sCurr entK==""|| | |||||
| 701 | (bDown&&co mpare(sCur rentK,aDat aCon[i].aK s[aPos[i]] .sName)>0) || | |||||
| 702 | (!bDown&&c ompare(sCu rrentK,aDa taCon[i].a Ks[aPos[i] ].sName)<0 )) | |||||
| 703 | { | |||||
| 704 | sCurrentK= aDataCon[i ].aKs[aPos [i]].sName ; | |||||
| 705 | p=0; | |||||
| 706 | aCurIdxSet [p++]=i; | |||||
| 707 | } | |||||
| 708 | else if( compare(sC urrentK,aD ataCon[i]. aKs[aPos[i ]].sName)= =0){ | |||||
| 709 | aCurIdxSet [p++]=i; | |||||
| 710 | } | |||||
| 711 | } | |||||
| 712 | else i f(nLevel== 1&&aMaxPos [i]!=aMinP os[i]){ | |||||
| 713 | if(bDown &&aPos[i]= =aMaxPos[i ]) | |||||
| 714 | { | |||||
| 715 | if(aDataCo n[i].aKs) | |||||
| 716 | { | |||||
| 717 | gs SKA=aDataC on[i].aKs[ aOldPos[i] ].sName; | |||||
| 718 | re turn false ; | |||||
| 719 | } | |||||
| 720 | } | |||||
| 721 | else if( !bDown&&aP os[i]==aMi nPos[i]) | |||||
| 722 | { | |||||
| 723 | if(aDataCo n[i].aKs) | |||||
| 724 | { | |||||
| 725 | gs SKB=aDataC on[i].aKs[ aOldPos[i] ].sName; | |||||
| 726 | re turn false ; | |||||
| 727 | } | |||||
| 728 | } | |||||
| 729 | } | |||||
| 730 | } | |||||
| 731 | if(p >=1){ | |||||
| 732 | for(va r s=0;s<p; s++) | |||||
| 733 | { | |||||
| 734 | aOldPos[ aCurIdxSet [s]]=aPos[ aCurIdxSet [s]]; | |||||
| 735 | } | |||||
| 736 | mergeI tems(oHTML ,bDown,aDa taCon,aCur IdxSet,p,a Pos,nLevel ); | |||||
| 737 | adjust Position(b Down,aData Con,aCurId xSet,p,aPo s); | |||||
| 738 | ||||||
| 739 | if(nLe vel==1&&oH TML.nNeede d<=oHTML.n Current){ | |||||
| 740 | return t rue; | |||||
| 741 | } | |||||
| 742 | } | |||||
| 743 | }w hile(p>0); | |||||
| 744 | re turn true; | |||||
| 745 | } | |||||
| 746 | ||||||
| 747 | function u pdateUsedK (aDataCon, aOriPos,aO ldPos,bDow n) | |||||
| 748 | { | |||||
| 749 | fo r(var i=0; i<aDataCon .length;i+ +) | |||||
| 750 | { | |||||
| 751 | if ( aOldPos[i] !=aOriPos[ i]) | |||||
| 752 | { | |||||
| 753 | var nB P=0; | |||||
| 754 | var nE P=0; | |||||
| 755 | if(bDo wn) | |||||
| 756 | { | |||||
| 757 | nBP=aOri Pos[i]; | |||||
| 758 | nEP=aOld Pos[i]-1; | |||||
| 759 | } | |||||
| 760 | else | |||||
| 761 | { | |||||
| 762 | if (aOld Pos[i]!=-1 ) | |||||
| 763 | nBP=aOldPo s[i]+aData Con[i].aKs [aOldPos[i ]].nNKOff+ 1; | |||||
| 764 | else | |||||
| 765 | nBP=0; | |||||
| 766 | nEP=aOri Pos[i]+aDa taCon[i].a Ks[aOriPos [i]].nNKOf f; | |||||
| 767 | } | |||||
| 768 | if(nBP <=nEP) | |||||
| 769 | { | |||||
| 770 | setConte ntsUsed(aD ataCon[i], nBP,nEP); | |||||
| 771 | ||||||
| 772 | var oFir stPair=aDa taCon[i].o UsedItems; | |||||
| 773 | if(oFirs tPair.oN== null&&oFir stPair.nB= =0&&oFirst Pair.nE==a DataCon[i] .nNum-1) | |||||
| 774 | { | |||||
| 775 | storeKeysO nly(aDataC on[i]); | |||||
| 776 | aDataCon[i ].oUsedIte ms=aDataCo n[i].aKs=a DataCon[i] .sFileName =null; | |||||
| 777 | } | |||||
| 778 | } | |||||
| 779 | } | |||||
| 780 | } | |||||
| 781 | } | |||||
| 782 | ||||||
| 783 | function s toreKeysOn ly(oCData) | |||||
| 784 | { | |||||
| 785 | oC Data.aKsOn ly=new Arr ay(); | |||||
| 786 | fo r(var i=0; i<oCData.a Ks.length; i++) | |||||
| 787 | { | |||||
| 788 | oCDa ta.aKsOnly [i]=oCData .aKs[i].sN ame; | |||||
| 789 | i+=o CData.aKs[ i].nNKOff; | |||||
| 790 | } | |||||
| 791 | } | |||||
| 792 | ||||||
| 793 | function s etContents Used(oIdx, nB,nE) | |||||
| 794 | { | |||||
| 795 | if (!oIdx.oUs edItems) | |||||
| 796 | oIdx .oUsedItem s=new used Items(nB,n E); | |||||
| 797 | el se | |||||
| 798 | { | |||||
| 799 | var oUsedItems =oIdx.oUse dItems; | |||||
| 800 | var oPNode=nul l; | |||||
| 801 | do{ | |||||
| 802 | if(oUs edItems.nB >nB) | |||||
| 803 | { | |||||
| 804 | if(oUsed Items.nB== nE+1) | |||||
| 805 | { | |||||
| 806 | oUsedItems .nB=nB; | |||||
| 807 | } | |||||
| 808 | else{ | |||||
| 809 | var oNewNo de=new use dItems(oUs edItems.nB ,oUsedItem s.nE); | |||||
| 810 | oNewNode.o N=oUsedIte ms.oN; | |||||
| 811 | oUsedItems .nB=nB; | |||||
| 812 | oUsedItems .nE=nE; | |||||
| 813 | oUsedItems .oN=oNewNo de; | |||||
| 814 | } | |||||
| 815 | break; | |||||
| 816 | } | |||||
| 817 | oPNode =oUsedItem s; | |||||
| 818 | oUsedI tems=oUsed Items.oN; | |||||
| 819 | }whi le(oUsedIt ems); | |||||
| 820 | if(! oUsedItems ) | |||||
| 821 | { | |||||
| 822 | if(oPN ode!=null) | |||||
| 823 | oPNode.o N=new used Items(nB,n E); | |||||
| 824 | } | |||||
| 825 | if(o PNode!=nul l){ | |||||
| 826 | if(oPN ode.nE==oP Node.oN.nB -1) | |||||
| 827 | { | |||||
| 828 | oPNode.n E=oPNode.o N.nE; | |||||
| 829 | oPNode.o N=oPNode.o N.oN; | |||||
| 830 | } | |||||
| 831 | } | |||||
| 832 | } | |||||
| 833 | } | |||||
| 834 | ||||||
| 835 | function p rojInfo(sP Path,sDPat h,sFile) | |||||
| 836 | { | |||||
| 837 | th is.sPPath= sPPath; | |||||
| 838 | th is.sDPath= sDPath; | |||||
| 839 | th is.sFile=s File; | |||||
| 840 | } | |||||
| 841 | ||||||
| 842 | function a ddProjInfo (sPPath,sD Path,sFile ) | |||||
| 843 | { | |||||
| 844 | va r oIdxInfo =new projI nfo(sPPath ,sDPath,sF ile); | |||||
| 845 | ga Data[gaDat a.length]= oIdxInfo; | |||||
| 846 | re turn oIdxI nfo; | |||||
| 847 | } | |||||
| 848 | ||||||
| 849 | function w riteDataIF rame() | |||||
| 850 | { | |||||
| 851 | if (gnLoad<ga Data.lengt h) | |||||
| 852 | { | |||||
| 853 | gbLo adInfo=tru e; | |||||
| 854 | load Data2(gaDa ta[gnLoad] .sPPath+ga Data[gnLoa d].sDPath+ gaData[gnL oad].sFile ); | |||||
| 855 | } | |||||
| 856 | el se{ | |||||
| 857 | if(g nItems!=0) | |||||
| 858 | { | |||||
| 859 | markBe gin(); | |||||
| 860 | writeF akeItems() ; | |||||
| 861 | gsSKA= ""; | |||||
| 862 | gnNeed ed=gnVisib le; | |||||
| 863 | gnIns= 0; | |||||
| 864 | checkR eady(); | |||||
| 865 | } | |||||
| 866 | } | |||||
| 867 | } | |||||
| 868 | ||||||
| 869 | function g etH6ById(n Pos) | |||||
| 870 | { | |||||
| 871 | if (document. all) | |||||
| 872 | retu rn documen t.all("fk" +nPos); | |||||
| 873 | el se if(docu ment.getEl ementsByNa me) | |||||
| 874 | retu rn documen t.getEleme ntsByName( "fk"+nPos) ; | |||||
| 875 | re turn null; | |||||
| 876 | } | |||||
| 877 | ||||||
| 878 | function s howItemsIn Evaluation (nBP) | |||||
| 879 | { | |||||
| 880 | va r bRtn=tru e; | |||||
| 881 | va r fPer=nBP /gnItems; | |||||
| 882 | va r nB=Math. floor(fPer *gnMaxItem s); | |||||
| 883 | va r oCData=g etChunkByI dx(gnRef,n B); | |||||
| 884 | if (oCData) | |||||
| 885 | { | |||||
| 886 | if(! oCData.aKs &&oCData.s FileName!= null) | |||||
| 887 | { | |||||
| 888 | gnNKI= nB; | |||||
| 889 | goCDat a=oCData; | |||||
| 890 | oCData .nProjId=g nRef; | |||||
| 891 | gbLoad Info=false ; | |||||
| 892 | beginL oading(); | |||||
| 893 | loadDa ta2(gaData [gnRef].sP Path+gaDat a[gnRef].s DPath+oCDa ta.sFileNa me); | |||||
| 894 | } | |||||
| 895 | else { | |||||
| 896 | gsSKA= getKByIdx( oCData,nB) ; | |||||
| 897 | if(gsS KA) | |||||
| 898 | { | |||||
| 899 | gsSKB=nu ll; | |||||
| 900 | gbNeedCa lc=true; | |||||
| 901 | gbScrl=t rue; | |||||
| 902 | checkRea dy() | |||||
| 903 | } | |||||
| 904 | else | |||||
| 905 | { | |||||
| 906 | markEnd( ); | |||||
| 907 | bRtn=fal se; | |||||
| 908 | } | |||||
| 909 | } | |||||
| 910 | } | |||||
| 911 | el se | |||||
| 912 | { | |||||
| 913 | mark End(); | |||||
| 914 | bRtn =false; | |||||
| 915 | } | |||||
| 916 | re turn bRtn; | |||||
| 917 | } | |||||
| 918 | ||||||
| 919 | function i sUsed(oCDa ta,nPos) | |||||
| 920 | { | |||||
| 921 | va r oUsed=oC Data.oUsed Items; | |||||
| 922 | wh ile(oUsed& &oUsed.nB< =nPos) | |||||
| 923 | { | |||||
| 924 | if(o Used.nE>=n Pos) retur n true; | |||||
| 925 | oUse d=oUsed.oN ; | |||||
| 926 | } | |||||
| 927 | re turn false ; | |||||
| 928 | } | |||||
| 929 | ||||||
| 930 | function g etKByIdx(o CData,nB) | |||||
| 931 | { | |||||
| 932 | va r nRelPos= nB-(oCData .nTotal-oC Data.nNum) ; | |||||
| 933 | va r aIKs=oCD ata.aKs; | |||||
| 934 | if (nRelPos>= 0&&aIKs&&n RelPos<aIK s.length) | |||||
| 935 | { | |||||
| 936 | var oK=null; | |||||
| 937 | do{ | |||||
| 938 | oK=aIK s[nRelPos+ +]; | |||||
| 939 | } | |||||
| 940 | whil e((oK.nTyp e==3||isUs ed(oCData, nRelPos-1) )&&nRelPos <aIKs.leng th); | |||||
| 941 | if(o K.nType!=3 ) | |||||
| 942 | { | |||||
| 943 | return oK.sName; | |||||
| 944 | } | |||||
| 945 | else { | |||||
| 946 | nRelPo s=nB-(oCDa ta.nTotal- oCData.nNu m)-1; | |||||
| 947 | if(nRe lPos>=0) | |||||
| 948 | { | |||||
| 949 | do{ | |||||
| 950 | oK=aIKs[nR elPos--]; | |||||
| 951 | } | |||||
| 952 | while((o K.nType==3 ||isUsed(o CData,nRel Pos+1))&&n RelPos>=0) ; | |||||
| 953 | } | |||||
| 954 | if(oK. nType!=3) | |||||
| 955 | { | |||||
| 956 | return o K.sName; | |||||
| 957 | } | |||||
| 958 | } | |||||
| 959 | } | |||||
| 960 | re turn null; | |||||
| 961 | } | |||||
| 962 | ||||||
| 963 | function l oadData2(s FileName) | |||||
| 964 | { | |||||
| 965 | di sEvt(); | |||||
| 966 | if (gbXML) | |||||
| 967 | load DataXML(sF ileName); | |||||
| 968 | el se | |||||
| 969 | load Data(sFile Name); | |||||
| 970 | en Evt(); | |||||
| 971 | } | |||||
| 972 | ||||||
| 973 | function p rojReady(a Chunk) | |||||
| 974 | { | |||||
| 975 | ga Chunks[gnL oad++]=aCh unk; | |||||
| 976 | va r len=aChu nk.length; | |||||
| 977 | va r nTotal=0 ; | |||||
| 978 | if (len>0) | |||||
| 979 | nTot al=aChunk[ len-1].nTo tal; | |||||
| 980 | gn Items+=nTo tal; | |||||
| 981 | if (nTotal>gn MaxItems) | |||||
| 982 | { | |||||
| 983 | gnMa xItems=nTo tal; | |||||
| 984 | gnRe f=gnLoad-1 ; | |||||
| 985 | } | |||||
| 986 | se tTimeout(" writeDataI Frame();", 1); | |||||
| 987 | } | |||||
| 988 | ||||||
| 989 | function w riteFakeIt ems() | |||||
| 990 | { | |||||
| 991 | di sEvt(); | |||||
| 992 | gn UHeight=15 ; | |||||
| 993 | if (gbSafari3 && !gbMac ) | |||||
| 994 | gnUHeigh t=1; | |||||
| 995 | va r sHTML=ge tFakeItems HTMLbyCoun t(0,gnItem s); | |||||
| 996 | do cument.bod y.insertAd jacentHTML ("beforeEn d",sHTML); | |||||
| 997 | va r obj=getH 6ById(0); | |||||
| 998 | if (document .body != n ull) | |||||
| 999 | { | |||||
| 1000 | gnVi sible=Math .ceil(getC lientHeigh t()/gnUHei ght); | |||||
| 1001 | } | |||||
| 1002 | ga Fakes[0]=n ew fakeIte msArea(0,g nItems,"", getEndStri ng(),obj); | |||||
| 1003 | en Evt(); | |||||
| 1004 | } | |||||
| 1005 | ||||||
| 1006 | function g etEndStrin g() | |||||
| 1007 | { | |||||
| 1008 | va r sBC=getB iggestChar (); | |||||
| 1009 | re turn sBC+s BC+sBC+sBC +sBC+sBC+s BC+sBC; | |||||
| 1010 | } | |||||
| 1011 | ||||||
| 1012 | function g etUnitIdx( nScrl,nHei ght) | |||||
| 1013 | { | |||||
| 1014 | if (gaFakes.l ength==0) | |||||
| 1015 | { | |||||
| 1016 | mark End(); | |||||
| 1017 | retu rn; | |||||
| 1018 | } | |||||
| 1019 | va r nB=0; | |||||
| 1020 | va r nE=gaFak es.length- 1; | |||||
| 1021 | va r nM=-1; | |||||
| 1022 | va r nTop=0; | |||||
| 1023 | va r nBtm=0; | |||||
| 1024 | va r bF=false ; | |||||
| 1025 | do { | |||||
| 1026 | nM=( nB+nE)>>1; | |||||
| 1027 | nBtm =gaFakes[n M].getBtm( ); | |||||
| 1028 | nTop =gaFakes[n M].getTop( ); | |||||
| 1029 | ||||||
| 1030 | if(n Top>=nScrl +nHeight) | |||||
| 1031 | nE=nM- 1; | |||||
| 1032 | else if(nBtm<n Scrl) | |||||
| 1033 | nB=nM+ 1; | |||||
| 1034 | else { | |||||
| 1035 | bF=tru e; | |||||
| 1036 | break; | |||||
| 1037 | } | |||||
| 1038 | }w hile(nE>=n B); | |||||
| 1039 | if (bF) | |||||
| 1040 | { | |||||
| 1041 | if(n Top>=nScrl ){ | |||||
| 1042 | gsSKA= gaFakes[nM ].sKA; | |||||
| 1043 | gsSKB= null; | |||||
| 1044 | gnNeed ed=Math.ce il((nHeigh t-nTop+nSc rl)/gnUHei ght); | |||||
| 1045 | gnIns= gaFakes[nM ].nB; | |||||
| 1046 | checkR eady(); | |||||
| 1047 | } | |||||
| 1048 | else if(nBtm<= nScrl+nHei ght){ | |||||
| 1049 | gsSKB= gaFakes[nM ].sKB; | |||||
| 1050 | gsSKA= null; | |||||
| 1051 | gnNeed ed=Math.ce il((nBtm-n Scrl+gnScr lMgn)/gnUH eight); | |||||
| 1052 | gbNeed Calc=true; | |||||
| 1053 | checkR eady(); | |||||
| 1054 | } | |||||
| 1055 | else { | |||||
| 1056 | gnNeed ed=gnVisib le; | |||||
| 1057 | var nU nitIdx=gaF akes[nM].n B+Math.flo or((nScrl- nTop)/gnUH eight); | |||||
| 1058 | if (!s howItemsIn Evaluation (nUnitIdx) ) | |||||
| 1059 | { | |||||
| 1060 | gsSKA=ga Fakes[nM]. sKA; | |||||
| 1061 | gsSKB=nu ll; | |||||
| 1062 | gnNeeded =Math.ceil (nHeight/g nUHeight); | |||||
| 1063 | gnIns=ga Fakes[nM]. nB; | |||||
| 1064 | checkRea dy(); | |||||
| 1065 | } | |||||
| 1066 | } | |||||
| 1067 | } | |||||
| 1068 | el se | |||||
| 1069 | mark End(); | |||||
| 1070 | } | |||||
| 1071 | ||||||
| 1072 | function d isEvt() | |||||
| 1073 | { | |||||
| 1074 | wi ndow.onscr oll=null; | |||||
| 1075 | wi ndow.onres ize=null; | |||||
| 1076 | } | |||||
| 1077 | ||||||
| 1078 | function e nEvt() | |||||
| 1079 | { | |||||
| 1080 | wi ndow.onscr oll=window _OnScroll; | |||||
| 1081 | wi ndow.onres ize=window _OnResize; | |||||
| 1082 | } | |||||
| 1083 | ||||||
| 1084 | function i nsertIdxKs (nIns,oHTM L,bScrl) | |||||
| 1085 | { | |||||
| 1086 | va r bRtn=tru e; | |||||
| 1087 | di sEvt(); | |||||
| 1088 | va r nCount=o HTML.nCons umed; | |||||
| 1089 | va r nB=0; | |||||
| 1090 | va r nE=gaFak es.length- 1; | |||||
| 1091 | va r nM=-1; | |||||
| 1092 | va r bF=false ; | |||||
| 1093 | do { | |||||
| 1094 | nM=( nB+nE)>>1; | |||||
| 1095 | if(g aFakes[nM] .nB>nIns) | |||||
| 1096 | nE=nM- 1; | |||||
| 1097 | else if(gaFake s[nM].nB+g aFakes[nM] .nNum<=nIn s) | |||||
| 1098 | nB=nM+ 1; | |||||
| 1099 | else { | |||||
| 1100 | bF=tru e; | |||||
| 1101 | break; | |||||
| 1102 | } | |||||
| 1103 | }w hile(nE>=n B); | |||||
| 1104 | if (bF) | |||||
| 1105 | { | |||||
| 1106 | var oFIA=gaFak es[nM]; | |||||
| 1107 | var nOffsetTop =oFIA.getT op(); | |||||
| 1108 | var nOffsetBot tom=oFIA.g etBtm(); | |||||
| 1109 | var nDelta=0; | |||||
| 1110 | var nHDiff=nIn s-oFIA.nB; | |||||
| 1111 | var nTDiff=oFI A.nNum+oFI A.nB-(nIns +nCount); | |||||
| 1112 | if(n HDiff>0) | |||||
| 1113 | { | |||||
| 1114 | nDelta =oFIA.setN um(nHDiff) ; | |||||
| 1115 | var sO ldKBefore= oFIA.sKB; | |||||
| 1116 | oFIA.s KB=oHTML.s FK; | |||||
| 1117 | if(nTD iff>0) | |||||
| 1118 | { | |||||
| 1119 | var sHTM L=getFakeI temsHTMLby Count(nIns ,nTDiff); | |||||
| 1120 | oFIA.ins ertAdjacen tHTML("aft erEnd",sHT ML); | |||||
| 1121 | var obj= getH6ById( nIns); | |||||
| 1122 | insertIt emIntoArra y(gaFakes, nM+1,new f akeItemsAr ea(nIns+nC ount,nTDif f,oHTML.sL K,sOldKBef ore,obj)); | |||||
| 1123 | } | |||||
| 1124 | oFIA.i nsertAdjac entHTML("a fterEnd",o HTML.sHTML ); | |||||
| 1125 | if(bSc rl) | |||||
| 1126 | { | |||||
| 1127 | if(gbMac &&gbIE4) | |||||
| 1128 | { | |||||
| 1129 | var nScrol lPos=nOffs etBottom-n Delta; | |||||
| 1130 | while(docu ment.body. scrollTop! =nScrollPo s) | |||||
| 1131 | do cument.bod y.scrollTo p=nScrollP os; | |||||
| 1132 | } | |||||
| 1133 | else | |||||
| 1134 | window.scr ollTo(0,nO ffsetBotto m-nDelta); | |||||
| 1135 | } | |||||
| 1136 | } | |||||
| 1137 | else { | |||||
| 1138 | oFIA.i nsertAdjac entHTML("b eforeBegin ",oHTML.sH TML); | |||||
| 1139 | if(bSc rl){ | |||||
| 1140 | if(gbMac &&gbIE4) | |||||
| 1141 | { | |||||
| 1142 | var nScrol lPos=nOffs etTop; | |||||
| 1143 | while(docu ment.body. scrollTop! =nScrollPo s) | |||||
| 1144 | do cument.bod y.scrollTo p=nScrollP os; | |||||
| 1145 | } | |||||
| 1146 | else | |||||
| 1147 | window.scr ollTo(0,nO ffsetTop); | |||||
| 1148 | } | |||||
| 1149 | ||||||
| 1150 | if(nTD iff>0) | |||||
| 1151 | { | |||||
| 1152 | oFIA.nB= nIns+nCoun t; | |||||
| 1153 | nDelta=o FIA.setNum (nTDiff); | |||||
| 1154 | oFIA.sKA =oHTML.sLK ; | |||||
| 1155 | } | |||||
| 1156 | else{ | |||||
| 1157 | gaFakes[ nM].setNum (0); | |||||
| 1158 | removeIt emFromArra y(gaFakes, nM); | |||||
| 1159 | } | |||||
| 1160 | } | |||||
| 1161 | } | |||||
| 1162 | el se | |||||
| 1163 | bRtn =false; | |||||
| 1164 | en Evt(); | |||||
| 1165 | re turn bRtn; | |||||
| 1166 | } | |||||
| 1167 | ||||||
| 1168 | function w indow_OnSc roll() | |||||
| 1169 | { | |||||
| 1170 | gn SE++; | |||||
| 1171 | se tTimeout(" procScroll ();",50); | |||||
| 1172 | } | |||||
| 1173 | ||||||
| 1174 | function p rocScroll( ) | |||||
| 1175 | { | |||||
| 1176 | if (gnSE==1&& !gbProcess ) | |||||
| 1177 | { | |||||
| 1178 | mark Begin(); | |||||
| 1179 | getU nitIdx(doc ument.body .scrollTop ,getClient Height()); | |||||
| 1180 | } | |||||
| 1181 | gn SE--; | |||||
| 1182 | } | |||||
| 1183 | ||||||
| 1184 | function w indow_OnRe size() | |||||
| 1185 | { | |||||
| 1186 | gn RE++; | |||||
| 1187 | se tTimeout(" procResize ();",50); | |||||
| 1188 | } | |||||
| 1189 | ||||||
| 1190 | function p rocResize( ) | |||||
| 1191 | { | |||||
| 1192 | if (gnRE==1&& !gbProcess ) | |||||
| 1193 | { | |||||
| 1194 | mark Begin(); | |||||
| 1195 | gnVi sible=Math .ceil(getC lientHeigh t()/gnUHei ght); | |||||
| 1196 | if(g nIns==-1) | |||||
| 1197 | getUni tIdx(docum ent.body.s crollTop,g etClientHe ight()); | |||||
| 1198 | } | |||||
| 1199 | gn RE--; | |||||
| 1200 | } | |||||
| 1201 | ||||||
| 1202 | function g etChunkByI dx(nIdx,nP osition) | |||||
| 1203 | { | |||||
| 1204 | va r oCData=n ull; | |||||
| 1205 | if (nIdx<gaCh unks.lengt h) | |||||
| 1206 | { | |||||
| 1207 | var len=gaChun ks[nIdx].l ength; | |||||
| 1208 | if(l en>0) | |||||
| 1209 | { | |||||
| 1210 | var nB =0; | |||||
| 1211 | var nE =len-1; | |||||
| 1212 | var bF =false; | |||||
| 1213 | do{ | |||||
| 1214 | var nM=( nB+nE)>>1; | |||||
| 1215 | if(nPosi tion<gaChu nks[nIdx][ nM].nTotal ) | |||||
| 1216 | { | |||||
| 1217 | bF=true; | |||||
| 1218 | nE=nM; | |||||
| 1219 | } | |||||
| 1220 | else | |||||
| 1221 | nB=nM+1; | |||||
| 1222 | }while (nE>nB); | |||||
| 1223 | if(bF) | |||||
| 1224 | oCData=g aChunks[nI dx][nE]; | |||||
| 1225 | else i f(nPositio n<gaChunks [nIdx][nB] .nTotal) | |||||
| 1226 | oCData=g aChunks[nI dx][nB]; | |||||
| 1227 | } | |||||
| 1228 | } | |||||
| 1229 | re turn oCDat a; | |||||
| 1230 | } | |||||
| 1231 | ||||||
| 1232 | function g etChunkedD ata(nIdx,b Down,sK) | |||||
| 1233 | { | |||||
| 1234 | va r oCData=n ull; | |||||
| 1235 | va r nCandId= -1; | |||||
| 1236 | if (nIdx<gaCh unks.lengt h) | |||||
| 1237 | { | |||||
| 1238 | var len=gaChun ks[nIdx].l ength; | |||||
| 1239 | if(l en>0) | |||||
| 1240 | { | |||||
| 1241 | var nB =0; | |||||
| 1242 | var nE =len-1; | |||||
| 1243 | var bF =false; | |||||
| 1244 | do{ | |||||
| 1245 | var nM=( nB+nE+(bDo wn?0:1))>> 1; | |||||
| 1246 | if(bDown ) | |||||
| 1247 | { | |||||
| 1248 | if(compare (sK,gaChun ks[nIdx][n M].sEK)<0) | |||||
| 1249 | { | |||||
| 1250 | bF =true; | |||||
| 1251 | nE =nM; | |||||
| 1252 | } | |||||
| 1253 | else | |||||
| 1254 | nB =nM+1; | |||||
| 1255 | } | |||||
| 1256 | else | |||||
| 1257 | { | |||||
| 1258 | if(compare (sK,gaChun ks[nIdx][n M].sBK)>0) | |||||
| 1259 | { | |||||
| 1260 | bF =true; | |||||
| 1261 | nB =nM; | |||||
| 1262 | } | |||||
| 1263 | else | |||||
| 1264 | nE =nM-1; | |||||
| 1265 | } | |||||
| 1266 | }while (nE>nB); | |||||
| 1267 | if(bF) | |||||
| 1268 | { | |||||
| 1269 | if(bDown ) | |||||
| 1270 | nCandId=nE ; | |||||
| 1271 | else | |||||
| 1272 | nCandId=nB ; | |||||
| 1273 | } | |||||
| 1274 | else | |||||
| 1275 | { | |||||
| 1276 | if(bDown ) | |||||
| 1277 | { | |||||
| 1278 | if(gaChunk s[nIdx].le ngth>nB&&c ompare(sK, gaChunks[n Idx][nB].s EK)<0) | |||||
| 1279 | nC andId=nB; | |||||
| 1280 | else | |||||
| 1281 | nC andId=gaCh unks[nIdx] .length-1; | |||||
| 1282 | } | |||||
| 1283 | else | |||||
| 1284 | { | |||||
| 1285 | if(0<=nE&& compare(sK ,gaChunks[ nIdx][nE]. sBK)>0) | |||||
| 1286 | nC andId=nE; | |||||
| 1287 | else | |||||
| 1288 | nC andId=0; | |||||
| 1289 | } | |||||
| 1290 | } | |||||
| 1291 | return gaChunks[ nIdx][nCan dId]; | |||||
| 1292 | } | |||||
| 1293 | } | |||||
| 1294 | re turn null; | |||||
| 1295 | } | |||||
| 1296 | ||||||
| 1297 | function f indCK() | |||||
| 1298 | { | |||||
| 1299 | if (gsCK!=nul l) | |||||
| 1300 | { | |||||
| 1301 | gsSK A=gsCK; | |||||
| 1302 | gbFi ndCK=true; | |||||
| 1303 | gnNe eded=1; | |||||
| 1304 | mark Begin(); | |||||
| 1305 | chec kReady(); | |||||
| 1306 | } | |||||
| 1307 | } | |||||
| 1308 | ||||||
| 1309 | function w riteLoadin gDiv(nIIdx ) | |||||
| 1310 | { | |||||
| 1311 | va r padding = (gsPageD ir == "ltr ")?"paddin g-left":"p adding-rig ht"; | |||||
| 1312 | va r directio nHorizonta l = (gsPag eDir == "l tr")?"left ":"right"; | |||||
| 1313 | re turn "<div id=\""+gs LoadingDiv ID+"\" sty le=\"posit ion:absolu te;top:0;" + directi onHorizont al + | |||||
| 1314 | ": 0;z-index: 600;visibi lity:hidde n;" +paddi ng+ ":4px; background -color:ivo ry;border- width:1;bo rder-style :solid;bor der-color: black;widt h:150px;\" >"+gsLoadi ngMsg+"</d iv>"; | |||||
| 1315 | } | |||||
| 1316 | ||||||
| 1317 | function f indPositio n( oElemen t ) { | |||||
| 1318 | if( type of( oEleme nt.offsetP arent ) != 'undefine d' ) | |||||
| 1319 | { | |||||
| 1320 | for( v ar posY = 0; oElemen t; oElemen t = oEleme nt.offsetP arent ) | |||||
| 1321 | { | |||||
| 1322 | posY += oEleme nt.offsetT op; | |||||
| 1323 | } | |||||
| 1324 | return posY ; | |||||
| 1325 | } | |||||
| 1326 | else | |||||
| 1327 | { | |||||
| 1328 | return oElement. y ; | |||||
| 1329 | } | |||||
| 1330 | } | |||||
| 1331 | ||||||
| 1332 | var gbWhHo st=true; |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.