PageSourceSearch

https://princetondining.com/polInc/p7som/p7SOMscripts.js

js princetondining.com collected 2026-09-29 08:22:00 UTC 24,604 bytes, 865 lines download raw bytes

1
2/* 
3 ================================================
4 PVII Slide-Out Menu scripts
5 Copyright (c) 2015-2016 Project Seven Development
6 www.projectseven.com
7 Version: 1.1.5 -build 17
8 ================================================
9 
10*/
11
12var p7SOM={
13    ctl: [],
14    once: false,
15    prf: 'none',
16    body: null,
17    clk: false,
18    defAnim: 1,
19    defDuration: 600,
20    animDelay: (1000/60)
21};
22var p7SOMadv=[];
23function P7_SOMset(){
24    var sh='';
25    if(!document.getElementById){
26        return;
27    }
28    sh+='.p7SOM {display:none;position:absolute;top:0;visibility:hidden;overflow:hidden;}\n';
29    sh+='.p7SOM ul div {position:static; height:0px; overflow:hidden;}\n';
30    sh+='.p7SOM.som-from-left {left:0;}\n';
31    sh+='.p7SOM.som-from-left ul.level_1 {left:-100%;}\n';
32    sh+='.p7SOM.som-from-right {right:0;}\n';
33    sh+='.p7SOM.som-from-right ul.level_1 {left:100%;}\n';
34    p7SOM.prf = P7_SOMgetCSSPre();
35    P7_SOMaddSheet(sh);
36}
37P7_SOMset();
38function P7_SOMop(){
39    if(!document.getElementById){
40        return;
41    }
42    p7SOM.ctl[p7SOM.ctl.length]=arguments;
43}
44function P7_SOMbb(){
45}
46function P7_SOMaddLoad(){
47    if(!document.getElementById){
48        return;
49    }
50    if(window.addEventListener){
51        document.addEventListener("DOMContentLoaded",P7_SOMinit,false);
52        window.addEventListener("load",P7_SOMinit,false);
53        window.addEventListener("unload",P7_SOMbb,false);
54    }
55    else if(window.attachEvent){
56        document.write("<script id=p7ie_som defer src=\"//:\"><\/script>");
57        document.getElementById("p7ie_som").onreadystatechange=function(){
58            if (this.readyState=="complete"){
59                if(p7SOM.ctl.length>0){
60                    P7_SOMinit();
61                }
62            }
63        };
64        window.attachEvent("onload",P7_SOMinit);
65        window.attachEvent("onunload",P7_SOMbb);
66    }
67}
68P7_SOMaddLoad();
69function P7_SOMinit(){
70    var i,j,jj,k,x,d,tB,tU,tD,tA,taA,tBR,cN,tS,pn,dv,el,pp,fs,ls,cl,lv;
71    if(p7SOM.ctl.length<1){
72        return;
73    }
74    if(p7SOM.once){
75        return;
76    }
77    p7SOM.once=true;
78    p7SOM.body = P7_SOMgetScrollBody();
79    for(jj=0;jj<p7SOM.ctl.length;jj++){
80        tB=document.getElementById(p7SOM.ctl[jj][0]);
81        if(tB){
82            tB.p7opt=p7SOM.ctl[jj];
83            if(tB.parentNode.nodeName!='BODY'){
84                document.getElementsByTagName('BODY')[0].appendChild(tB);
85            }
86            tU=tB.getElementsByTagName('UL');
87            if(tU&&tU.length>1){
88                for(i=tU.length-1;i>0;i--){
89                    pn=tU[i].parentNode;
90                    dv=document.createElement('div');
91                    dv.somd=true;
92                    dv.appendChild(tU[i]);
93                    pn.appendChild(dv);
94                }
95            }
96            P7_SOMremClass(tB,'p7SOMnoscript');
97            tB.somTBR = document.getElementById(tB.id.replace('_','tb_'));
98            if(tB.somTBR){
99                if(tB.somTBR.parentNode.nodeName!='BODY'){
100                    document.getElementsByTagName('BODY')[0].appendChild(tB.somTBR);
101                }
102                P7_SOMremClass(tB.somTBR,'p7SOMnoscript');
103            }
104            cl='som-from-left';
105            if(tB.p7opt[2]==2){
106                cl='som-from-right';
107            }
108            P7_SOMsetClass(tB,cl);
109            P7_SOMsetClass(tB.somTBR,cl);
110            tB.somDefLink=false;
111            tB.somShut=true;
112            if(!p7SOM.clk){
113                p7SOM.clk=true;
114                if(window.addEventListener){
115                    document.addEventListener("click",P7_SOMbody,false);
116                }
117                else if(window.attachEvent){
118                    window.attachEvent("click",P7_SOMbody,false);
119                }
120            }
121            tB.style.zIndex=tB.p7opt[1];
122            tB.somTBR.style.zIndex=tB.p7opt[1]-1;
123            tU=tB.getElementsByTagName('UL');
124            tD=tU[0].getElementsByTagName('DIV');
125            tU[0].somMenuOb=tB;
126            for(i=0;i<tD.length;i++){
127                if(tD[i].somd){
128                    tD[i].setAttribute("id",tB.id+'d'+(i+2));
129                    tD[i].somState='closed';
130                    tD[i].somMenu=tB.id;
131                    tU[i].somMenuOb=tB;
132                }
133            }
134            tB.somUL=tU[0];
135            tB.somTBR.somMenu=tB.id;
136            tB.somTBR.somUL=tB.somUL;
137            tB.somTBR.somState='closed';
138            P7_SOMchangeClass(tB.somTBR,'opened','closed');
139            tB.somUL.somState='closed';
140            P7_SOMchangeClass(tB.somUL,'opened','closed');
141            tB.somState='closed';
142            P7_SOMchangeClass(tB,'opened','closed');
143tB.somTBR.onclick = function(){
144    return P7_SOMtoolbar(this.somMenu);
145};
146tA=tB.somTBR.getElementsByTagName('A');
147if(tA && tA[0]){
148    tA[0].onclick=function(){
149        return false;
150    };
151}
152el=document.getElementById(tB.id.replace('_','hd_'));
153if(el){
154    el.parentNode.somHeader=true;
155    el.somDiv=tB.id;
156el.onclick = function(){
157    P7_SOMtoolbar(this.somDiv,'close');
158    return false;
159};
160}
161d=1;
162for(i=0;i<tU.length;i++){
163tU[i].setAttribute("id",tB.id+'u'+(i+1));
164tU[i].somMenu=tB.id;
165tU[i].setAttribute('aria-hidden','true');
166lv=1;
167pp=tU[i].parentNode;
168while(pp){
169    if(pp.id&&pp.id==tB.id){
170        break;
171    }
172    if(pp.tagName&&pp.tagName=="UL"){
173        lv++;
174    }
175    pp=pp.parentNode;
176}
177tU[i].somLevel=lv;
178P7_SOMsetClass(tU[i],'level_'+lv);
179var tH,wH=window.location.href;
180wH=wH.replace(window.location.hash,'');
181cN=tU[i].childNodes;
182fs=-1;
183ls=0;
184if(cN){
185    for(j=0;j<cN.length;j++){
186        if(cN[j].tagName&&cN[j].tagName=='LI'){
187            if(cN[j].somHeader){
188                continue;
189            }
190            ls++;
191            taA=cN[j].getElementsByTagName('A');
192            if(taA && taA[0]){
193                tA=taA[0];
194            }
195            else{
196                continue;
197            }
198            if(fs<0){
199                P7_SOMsetClass(tA,'somfirst');
200                P7_SOMsetClass(cN[j],'somfirst');
201            }
202            fs=j;
203            tA.setAttribute("id",tB.id+'a'+(d));
204            d++;
205            cN[j].somTrigger=tA;
206            tA.somState='closed';
207            tA.somLevel=lv;
208            tA.somParentDiv=tU[i].parentNode.id;
209            tA.somMenu=tB.id;
210            tA.somSub=false;
211            if(i===0){
212                P7_SOMsetClass(cN[j],('root_'+ls));
213            }
214            if(/som-ste/.test(tA.getAttribute('class'))){
215                tH=tA.href;
216                tH=tH.replace(tA.hash,'');
217                if(tH==wH){
218                    tA.somSTE=true;
219                }
220            }
221            tA.onclick=function(evt){
222                return P7_SOMclick(this);
223            };
224            tS=cN[j].getElementsByTagName('UL');
225            if(tS&&tS.length>0){
226                tA.somSub=tS[0].parentNode.id;
227                tS[0].parentNode.somTrigger=tA;
228                if(i===0){
229                    P7_SOMsetClass(tA,('root_trig'));
230                    P7_SOMsetClass(tA.parentNode,('root_trig'));
231                }
232                P7_SOMsetClass(tA,'trig_closed');
233                P7_SOMsetClass(tA.parentNode,'trig_closed');
234            }
235            else{
236                P7_SOMsetClass(tA,'som-link');
237                P7_SOMsetClass(tA.parentNode,'som-link');
238                if(i===0){
239                    P7_SOMsetClass(tA,('root_link'));
240                    P7_SOMsetClass(tA.parentNode,('root_link'));
241                }
242            }
243        }
244    }
245    if(fs>0){
246        P7_SOMsetClass(cN[fs],'somlast');
247        P7_SOMsetClass(tA,'somlast');
248    }
249}
250}
251tB.somState='closed';
252tB.somUL.somState='closed';
253P7_SOMsetClass(tB,'closed');
254tB.style.visibility='visible';
255if(tB.p7opt[5]==1){
256P7_SOMcurrentMark(tB);
257}
258if(tB.p7opt[12]==1){
259P7_SOMtoolbar(tB.id,'open');
260}
261}
262}
263p7SOM.status=true;
264}
265function P7_SOMctrl(d,ac,a){
266    if(a){
267        a.somTrig=true;
268    }
269    P7_SOMtoolbar(d,ac);
270}
271function P7_SOMtoolbar(d,ac,bp){
272    var tB,tBR,fr,tr,prop,an,un='%',br,bf;
273    tB=document.getElementById(d);
274    if(tB){
275        tBR=tB.somTBR;
276    }
277    else{
278        return false;
279    }
280    if((ac=='open' && tB.somState=='opened') || (ac=='closed' && tB.somState=='closed')){
281        return false;
282    }
283    if(tB && tBR){
284        if( (ac!='close' && ac!='open') || !ac){
285            ac=(tBR.somState=='closed')?'open':'closed';
286        }
287        an=(bp==1)?0:tB.p7opt[3];
288        if(ac=='open'){
289            tB.somState='opened';
290            P7_SOMchangeClass(tB,'closed','opened');
291            tBR.somState='opened';
292            P7_SOMchangeClass(tBR,'closed','opened');
293            tB.somUL.somState='opened';
294            P7_SOMchangeClass(tB.somUL,'closed','opened');
295            if(tB.p7opt[2]==1){
296                tr=0;
297                fr=parseInt(P7_SOMgetStyle(tB.somUL,'left'),10);
298                prop='left';
299            }
300            else if(tB.p7opt[2]==2){
301                tr=0;
302                fr=parseInt(P7_SOMgetStyle(tB.somUL,'left'),10);
303                prop='left';
304            }
305            tB.style.display='block';
306            if(tB.p7opt[3]==1){
307                P7_SOManimate(tB.somUL,prop,un,fr,tr,tB.p7opt[4],'quad');
308            }
309            else{
310                tB.somUL.style[prop] = tr+un;
311            }
312        }
313        else{
314            tBR.somState='closed';
315            P7_SOMchangeClass(tBR,'opened','closed');
316            tB.somUL.somState='closed';
317            P7_SOMchangeClass(tB.somUL,'opened','closed');
318            tB.somState='closed';
319            P7_SOMchangeClass(tB,'opened','closed');
320            if(tB.p7opt[2]==1){
321                fr=parseInt(P7_SOMgetStyle(tB.somUL,'left'),10);
322                tr=-110;
323                prop='left';
324            }
325            else if(tB.p7opt[2]==2){
326                fr=parseInt(P7_SOMgetStyle(tB.somUL,'left'),10);
327                tr=110;
328                prop='left';
329            }
330            if(tB.p7opt[3]==1){
331                P7_SOManimate(tB.somUL,prop,un,fr,tr,tB.p7opt[4],'quad',function(){
332                    this.somMenuOb.style.display='none';
333                }
334                );
335            }
336            else{
337                tB.somUL.style[prop] = tr+un;
338                tB.style.display='none';
339            }
340        }
341    }
342    return false;
343}
344function P7_SOMclick(a,bp){
345    var wH,tB,cnv=false,m=false;
346    wH=window.location.href;
347    if(a.href != wH && a.href != wH+'#'){
348        if(a.href.toLowerCase().indexOf('javascript:')==-1){
349            m=true;
350        }
351    }
352    if( m && a.somSub && a.somState=='closed' ){
353        m=false;
354    }
355    if(a.somSTE){
356        P7_SOMscrollToElement(a);
357        m=false;
358        if(bp != 1){
359            P7_SOMtoolbar(a.somMenu,'close');
360        }
361    }
362    else{
363        if(a.somState=='closed'){
364            P7_SOMopen(a.id);
365        }
366        else{
367            P7_SOMclose(a.id);
368        }
369    }
370    return m;
371}
372function P7_SOMopen(d){
373    var i,a,tB,iM,op,sD,tU,mT,mL,cmb,pB,fr,tr;
374    a=document.getElementById(d);
375    if(a.somState=='open'){
376        return;
377    }
378    tB=document.getElementById(a.somMenu);
379    if(tB.p7opt[11]==1){
380        P7_SOMtoggle(a);
381    }
382    op=tB.p7opt[8];
383    if(a.somSub){
384        sD=document.getElementById(a.somSub);
385        sD.somState='open';
386        tB.somShut=false;
387        a.somState='open';
388        P7_SOMchangeClass(a,'trig_closed','trig_open');
389        P7_SOMchangeClass(a.parentNode,'trig_closed','trig_open');
390        tU=sD.getElementsByTagName('UL')[0];
391        tU.setAttribute('aria-hidden','false');
392        if(op==1){
393            fr=sD.offsetHeight;
394            tr=tU.offsetHeight;
395            P7_SOManimate(sD,'height','px',fr,tr,tB.p7opt[9],'quad',function(){
396                this.style.height='auto';
397            }
398            );
399        }
400        else{
401            sD.style.height='auto';
402            sD.style.visibility='visible';
403        }
404    }
405}
406function P7_SOMclose(d,bp){
407    var i,a,tB,iM,op,sD,tU,fr,tr;
408    a=document.getElementById(d);
409    if(a.somState=='closed'){
410        return;
411    }
412    tB=document.getElementById(a.somMenu);
413    op=(bp==1)?0:tB.p7opt[8];
414    if(a.somSub){
415        sD=document.getElementById(a.somSub);
416        sD.somState='closed';
417        a.somState='closed';
418        P7_SOMchangeClass(a,'trig_open','trig_closed');
419        P7_SOMchangeClass(a.parentNode,'trig_open','trig_closed');
420        tU=sD.getElementsByTagName('UL')[0];
421        tU.setAttribute('aria-hidden','true');
422        if(op==1){
423            fr=sD.offsetHeight;
424            tr=0;
425            P7_SOManimate(sD,'height','px',fr,tr,tB.p7opt[9],'quad',function(){
426                this.style.height='0px';
427            }
428            );
429        }
430        else{
431            sD.style.height='0px';
432        }
433    }
434}
435function P7_SOMtoggle(a){
436    var i,k,tD,cN,li,pp;
437    pp=a.parentNode;
438    while(pp){
439        if(pp.tagName&&pp.tagName=='LI'){
440            li=pp;
441        }
442        if(pp.tagName&&pp.tagName=='UL'){
443            break;
444        }
445        pp=pp.parentNode;
446    }
447    cN=pp.childNodes;
448    for(k=0;k<cN.length;k++){
449        if(cN[k].tagName && cN[k].tagName=='LI'){
450            if(cN[k].somTrigger && cN[k] != li){
451                if(cN[k].somTrigger.somState!='closed'){
452                    P7_SOMclose(cN[k].somTrigger.id);
453                }
454            }
455        }
456    }
457}
458function P7_SOMshut(d){
459    var i,tB,tD;
460    if(d){
461        tB=document.getElementById(d);
462        if(tB && !tB.somShut && tB.somUL){
463            tD=tB.somUL.getElementsByTagName("DIV");
464            if(tD&&tD.length){
465                tB.somShut=true;
466                for(i=tD.length-1;i>-1;i--){
467                    if(tD[i].somState && tD[i].somState=='open'){
468                        P7_SOMclose(tD[i].somTrigger.id,1);
469                    }
470                }
471            }
472        }
473    }
474}
475function P7_SOMshutall(bp){
476    var i,tB;
477    if(p7SOM.ctl && p7SOM.ctl.length){
478        for(i=0;i<p7SOM.ctl.length;i++){
479            tB=document.getElementById(p7SOM.ctl[i][0]);
480            if(tB && (!bp || bp!=tB.id)){
481                P7_SOMtoolbar(tB.id,'close',1);
482            }
483        }
484    }
485}
486function P7_SOMbody(evt){
487    evt=(evt)?evt:event;
488    var m=true,pp=(evt.fromElement)?evt.fromElement:evt.target;
489    while(pp){
490        if(pp.somTrig){
491            m=false;
492            break;
493        }
494        if(pp && pp.id && typeof(pp.id)=='string' && pp.id.indexOf('p7SOM')===0){
495            m=false;
496            break;
497        }
498        if(pp && pp.tagName && (pp.tagName=='BODY'||pp.tagName=='HTML')){
499            break;
500        }
501        pp=pp.parentNode;
502    }
503    if(m){
504        P7_SOMshutall();
505    }
506}
507function P7_SOManimate(ob,prop,un,fv,tv,dur,typ,cb){
508    if(ob.p7AnimRunning){
509        ob.p7AnimRunning=false;
510        clearInterval(ob.p7SOManim);
511    }
512    typ=(!typ)?'quad':typ;
513    ob.p7animType=typ;
514    ob.p7animProp=prop;
515    ob.p7animUnit=un;
516    ob.p7animStartVal=fv;
517    ob.p7animCurrentVal=ob.p7animStartVal;
518    ob.p7animFinishVal=tv;
519    ob.style[ob.p7animProp]=ob.p7animCurrentVal+ob.p7animUnit;
520    ob.style.visibility='visible';
521    ob.p7animStartTime=P7_SOMgetTime(0);
522    ob.p7animDuration=dur;
523    if(!ob.p7AnimRunning){
524        ob.p7AnimRunning=true;
525ob.p7SOManim=setInterval(function(){
526    P7_SOManimator(ob,cb);
527}
528, p7SOM.animDelay);
529}
530}
531function P7_SOManimator(el,cb,op){
532    var i,tB,tA,tS,et,nv,m=false;
533    et=P7_SOMgetTime(el.p7animStartTime);
534    if(et>=el.p7animDuration){
535        et=el.p7animDuration;
536        m=true;
537    }
538    if(el.p7animCurrentVal!=el.p7animFinishVal){
539        nv=P7_SOManim(el.p7animType, et, el.p7animStartVal, el.p7animFinishVal-el.p7animStartVal, el.p7animDuration);
540        el.p7animCurrentVal=nv;
541        el.style[el.p7animProp]=nv+el.p7animUnit;
542    }
543    if(m){
544        el.p7AnimRunning=false;
545        clearInterval(el.p7SOManim);
546        if(cb && typeof(cb) === "function"){
547            cb.call(el);
548        }
549    }
550}
551function P7_SOManim(tp,t,b,c,d){
552    if(tp=='quad'){
553        if((t/=d/2)<1){
554            return c/2*t*t+b;
555        }
556        else{
557            return -c/2*((--t)*(t-2)-1)+b;
558        }
559    }
560    else{
561        return (c*(t/d))+b;
562    }
563}
564function P7_SOMgetTime(st){
565    var d = new Date();
566    return d.getTime() - st;
567}
568function P7_SOMscrollToElement(a){
569    var st,dy,op,el,t,tf,h,tb;
570    h=a.hash;
571    if(!h || h===''){
572        return false;
573    }
574    else{
575        h=h.replace('#','');
576    }
577    el=document.getElementById(h);
578    if(!el){
579        return false;
580    }
581    if(p7SOM.body.p7AnimRunning){
582        p7SOM.body.p7AnimRunning=false;
583        clearInterval(p7SOM.body.p7SOManim);
584    }
585    if(typeof(p7STT)=='object'){
586        if(p7STT.body && p7STT.body.p7AnimRunning){
587            p7STT.body.p7AnimRunning=false;
588            clearInterval(p7STT.body.p7STTanim);
589        }
590    }
591    st=p7SOM.body.scrollTop;
592    t=st+el.getBoundingClientRect().top+1;
593    tf=parseInt(a.getAttribute('data-top-offset'),10);
594    if(tf && tf!==''){
595        t-=tf;
596    }
597    tf=a.getAttribute('data-top-offset-id');
598    if(tf && tf!==''){
599        tb=document.getElementById(tf);
600        if(tb){
601            t-=tb.offsetHeight;
602        }
603    }
604    if(p7SOM.defAnim==1){
605        P7_SOMscrollAnim(p7SOM.body,st,t,p7SOM.defDuration,'quad');
606    }
607    else{
608        p7SOM.body.scrollTop=t;
609        if(typeof(P7_STTrsz)=='function'){
610            P7_STTrsz();
611        }
612    }
613    P7_SOMmarkLink(a);
614    return false;
615}
616function P7_SOMscrollAnim(ob,fv,tv,dur,typ,cb){
617    if(ob.p7AnimRunning){
618        ob.p7AnimRunning=false;
619        clearInterval(ob.p7SOManim);
620    }
621    typ=(!typ)?'quad':typ;
622    ob.p7animType=typ;
623    ob.p7animStartVal=fv;
624    ob.p7animCurrentVal=ob.p7animStartVal;
625    ob.p7animFinishVal=tv;
626    ob.p7animStartTime=P7_SOMgetTime(0);
627    ob.p7animDuration=dur;
628    if(!ob.p7AnimRunning){
629        ob.p7AnimRunning=true;
630ob.p7SOManim=setInterval(function(){
631    P7_SOMscrollAnimator(ob,cb);
632}
633, p7SOM.animDelay);
634}
635}
636function P7_SOMscrollAnimator(el,cb,op){
637    var i,tB,tA,tS,et,nv,m=false;
638    et=P7_SOMgetTime(el.p7animStartTime);
639    if(et>=el.p7animDuration){
640        et=el.p7animDuration;
641        m=true;
642    }
643    if(el.p7animCurrentVal!=el.p7animFinishVal){
644        nv=P7_SOManim(el.p7animType, et, el.p7animStartVal, el.p7animFinishVal-el.p7animStartVal, el.p7animDuration);
645        el.p7animCurrentVal=nv;
646        el.scrollTop=nv;
647    }
648    if(m){
649        el.p7AnimRunning=false;
650        clearInterval(el.p7SOManim);
651        if(typeof(P7_STTrsz)=='function'){
652            P7_STTrsz();
653        }
654        if(cb && typeof(cb) === "function"){
655            cb.call(el);
656        }
657    }
658}
659function P7_SOMmarkLink(a){
660    var tB,tA,i;
661    tB=document.getElementById(a.somMenu);
662    if(tB.p7opt[5]==1){
663        tA=tB.getElementsByTagName('A');
664        for(i=0;i<tA.length;i++){
665            if(tA[i]!=a){
666                P7_SOMremClass(tA[i],'current_mark');
667                P7_SOMremClass(tA[i].parentNode,'current_mark');
668            }
669        }
670        P7_SOMsetClass(a,'current_mark');
671        P7_SOMsetClass(a.parentNode,'current_mark');
672    }
673}
674function P7_SOMmark(){
675    p7SOMadv[p7SOMadv.length]=arguments;
676}
677function P7_SOMcurrentMark(el){
678    var j,i,wH,cm=false,mt=['',1,'',''],op,r1,k,kk,tA,aU,pp,a,im,x;
679    wH=window.location.href;
680    if(el.p7opt[6]!=1){
681        wH=wH.replace(window.location.search,'');
682    }
683    if(el.p7opt[7]!=1){
684        wH=wH.replace(window.location.hash,'');
685    }
686    if(wH.charAt(wH.length-1)=='#'){
687        wH=wH.substring(0,wH.length-1);
688    }
689    for(k=0;k<p7SOMadv.length;k++){
690        if(p7SOMadv[k][0]&&p7SOMadv[k][0]==el.id){
691            mt=p7SOMadv[k];
692            cm=true;
693            break;
694        }
695    }
696    op=mt[1];
697    if(op<1){
698        return;
699    }
700    r1=/index\.[\S]*/i;
701    k=-1;
702    kk=-1;
703    tA=el.getElementsByTagName("A");
704    for(j=0;j<tA.length;j++){
705        aU=tA[j].href.replace(r1,'');
706        if(op>0){
707            if(tA[j].href==wH||aU==wH){
708                k=j;
709                kk=-1;
710            }
711        }
712        if(op==2){
713            if(tA[j].firstChild){
714                if(tA[j].firstChild.nodeValue==mt[2]){
715                    kk=j;
716                }
717            }
718        }
719        if(op==3&&tA[j].href.indexOf(mt[2])>-1){
720            kk=j;
721        }
722        if(op==4){
723            for(x=2;x<mt.length;x+=2){
724                if(wH.indexOf(mt[x])>-1){
725                    if(tA[j].firstChild&&tA[j].firstChild.nodeValue){
726                        if(tA[j].firstChild.nodeValue==mt[x+1]){
727                            kk=j;
728                        }
729                    }
730                }
731            }
732        }
733    }
734    k=(kk>k)?kk:k;
735    if(k>-1){
736        el.somDefLink=tA[k];
737        pp=tA[k].parentNode;
738        while(pp){
739            if(pp.tagName&&pp.tagName=='LI'){
740                P7_SOMsetClass(pp,'li_current_mark');
741                a=pp.getElementsByTagName('A');
742                if(a&&a[0]){
743                    P7_SOMsetClass(a[0],'current_mark');
744                    if(a[0].hasImg){
745                        im=a[0].getElementsByTagName('IMG')[0];
746                        im.mark=true;
747                        im.src=im.p7imgswap[2];
748                    }
749                    if(el.p7opt[10]==1 && a[0].somSub){
750                        P7_SOMopen(a[0].id);
751                    }
752                }
753            }
754            else{
755                if(pp==el){
756                    break;
757                }
758            }
759            pp=pp.parentNode;
760        }
761        if(tA[k].somSTE){
762setTimeout(function(){
763    P7_SOMclick(tA[k],1);
764}
765,300);
766}
767}
768}
769function P7_SOMsetClass(ob,cl){
770    if(ob){
771        var cc,nc,r=/\s+/g;
772        cc=ob.className;
773        nc=cl;
774        if(cc&&cc.length>0){
775            if(cc.indexOf(cl)==-1){
776                nc=cc+' '+cl;
777            }
778            else{
779                nc=cc;
780            }
781        }
782        nc=nc.replace(r,' ');
783        ob.className=nc;
784    }
785}
786function P7_SOMremClass(ob,cl){
787    if(ob){
788        var cc,nc;
789        cc=ob.className;
790        if(cc&&cc.indexOf(cl>-1)){
791            nc=cc.replace(cl,'');
792            nc=nc.replace(/\s+/g,' ');
793            nc=nc.replace(/\s$/,'');
794            nc=nc.replace(/^\s/,'');
795            ob.className=nc;
796        }
797    }
798}
799function P7_SOMchangeClass(ob,clf,clt){
800    if(ob){
801        var cc,nc;
802        cc=ob.className;
803        if(cc && cc.indexOf(clf)>-1){
804            nc=cc.replace(clf,clt);
805            ob.className=nc;
806        }
807        else{
808            P7_SOMsetClass(ob,clt);
809        }
810    }
811}
812function P7_SOMgetStyle(el,s){
813    if(el.currentStyle){
814        s=el.currentStyle[s];
815    }
816    else if (document.defaultView && document.defaultView.getComputedStyle){
817        s=document.defaultView.getComputedStyle(el,"")[s];
818    }
819    else{
820        s = el.style[s];
821    }
822    return s;
823}
824function P7_SOMgetCSSPre(){
825    var i,dV,pre=['transition','WebkitTransition'];
826    var c='none',cssPre=['','-webkit-'];
827    dV=document.createElement('div');
828    for(i=0;i<pre.length;i++){
829        if(dV.style[pre[i]]!==undefined){
830            c=cssPre[i];
831            break;
832        }
833    }
834    return c;
835}
836function P7_SOMaddSheet(sh){
837    var h,hd;
838    hd=document.head || document.getElementsByTagName('head')[0];
839    h=document.createElement('style');
840    h.type='text/css';
841    if(h.styleSheet){
842        h.styleSheet.cssText=sh;
843    }
844    else{
845        h.appendChild(document.createTextNode(sh));
846    }
847    hd.appendChild(h);
848}
849function P7_SOMgetScrollBody(){
850    var y,el = document.documentElement;
851    if(el){
852        y = el.scrollTop;
853        el.scrollTop += 1;
854        if(el.scrollTop == y){
855            el = document.body;
856        }
857        else{
858            el.scrollTop -= 1;
859        }
860    }
861    else{
862        el = document.body;
863    }
864    return el;
865}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.