1// all.pages.js 2 3var shopAP={}; 4 5shopAP.init=function(){ 6 shopAP.setupNav(); 7 shopAP.setupEvents(); 8 shopAP.highlightNav(); 9 shopAP.mobilify(); 10 return true; 11 }; 12 13shopAP.mobilify = function() 14{ 15 if($(window).innerWidth() < 800) 16 { 17 var basketTxt = 'Basket'; 18 var menuTxt = 'Browse'; 19 if($('body').hasClass('config')) 20 { 21 basketTxt = 'Configuration'; 22 } 23 $('aside').addClass('hide'); 24 $('nav').addClass('hide'); 25 if($('body').hasClass('secure')) 26 { 27 menuTxt = 'Order progress'; 28 } 29 else 30 { 31 $('header').after('<button id="basketBtn">'+basketTxt+'</button>'); 32 $('#basketBtn').click(function(e) { 33 if($('aside').hasClass('hide')) 34 { 35 $('#basketBtn').addClass('redBtn'); 36 $('#menuBtn').removeClass('redBtn'); 37 $('aside').addClass('show').removeClass('hide'); 38 $('nav').addClass('hide').removeClass('show'); 39 } 40 else 41 { 42 $('#basketBtn').removeClass('redBtn'); 43 $('aside').addClass('hide').removeClass('show'); 44 } 45 }); 46 } 47 $('header').after('<button id="menuBtn">'+menuTxt+'</button>'); 48 $('#menuBtn').click(function(e) { 49 if($('nav').hasClass('hide')) 50 { 51 $('#menuBtn').addClass('redBtn'); 52 $('#basketBtn').removeClass('redBtn'); 53 $('nav').addClass('show').removeClass('hide'); 54 $('aside').addClass('hide').removeClass('show'); 55 } 56 else 57 { 58 $('#menuBtn').removeClass('redBtn'); 59 $('nav').addClass('hide').removeClass('show'); 60 } 61 }); 62 } 63 return; 64} 65 66shopAP.setupEvents=function(){ 67 $("nav>article>ul.navList").on('click','img',shopAP.navImgClick); 68 return true; 69 }; 70 71shopAP.setupNav=function(){ 72 $('nav>article>ul.navList>li ul').hide(); 73 $('nav>article>ul.navList>li').addClass('closed'); 74 $('nav>article>ul.navList>li>img').attr('src','/Resources/Shop/img/ui/small/plus.png'); 75 $('nav>article>ul.navList li.gotChildren').addClass('closed'); 76 $('nav>article>ul.navList li.gotChildren>img').attr('src','/Resources/Shop/img/ui/small/plus.png'); 77 return true; 78 }; 79 80shopAP.highlightNav=function(){ 81 var navType=$('#navType').val(); 82 var navHighlight=$('#navHighlight').val(); 83 switch(navType){ 84 case 'Department': shopAP.clickNav(navHighlight); break; 85 case 'Category': shopAP.clickNav(navHighlight); break; 86 case 'Product': shopAP.clickNavProduct(navHighlight); break; 87 case 'Default': shopAP.highlightLink(navHighlight); break; 88 case 'Include': shopAP.highlightLink(navHighlight); break; 89 case 'Info': shopAP.highlightLink(navHighlight); break; 90 case 'Search': shopAP.highlightSearch(navHighlight); break; 91 case 'Secure': break; 92 case 'SitePlan': break; 93 case '': break; 94 // ... 95 default: 96 // alert(navType + ':' + navHighlight + '?'); 97 break; 98 }; 99 return true; 100 }; 101 102shopAP.highlightSearch=function(navHighlight){ 103 // alert('highlightSearch' + navHighlight); 104 return true; 105 }; 106 107shopAP.highlightLink=function(navHighlight){ 108 var aSel=''; 109 switch(navHighlight.toUpperCase()){ 110 case 'HOME': aSel='a[href="/Shop/Home"]'; break; 111 case 'CONTACT': aSel='a[href="/Shop/Contact"]'; break; 112 case 'HELP': aSel='a[href="/Shop/Help"]'; break; 113 case 'PRIVACY': aSel='a[href="/Shop/Privacy"]'; break; 114 case 'TERMS': aSel='a[href="/Shop/Terms"]'; break; 115 // nothing to highlight! 116 case 'SITEPLAN': break; 117 case 'CATEGORIES': break; 118 case 'PRODUCTS': break; 119 case 'BASKET': break; 120 default: 121 // alert('highlightLink:' + navHighlight.toUpperCase()); 122 break; 123 }; 124 if(aSel.length > 0){$(aSel).addClass('highlight');}; 125 return true; 126 }; 127 128shopAP.clickNavProduct=function(navHighlight){ 129 var navArr=navHighlight.split(','); 130 var navDept=navArr[0]; 131 var pathArr=navArr.slice(0,navArr.length - 1); 132 var pathHighlight=pathArr.join(','); 133 shopAP.clickNav(pathHighlight); 134 return true; 135 }; 136 137shopAP.clickNav=function(navHighlight){ 138 var toggles=navHighlight.split(','); 139 var t=0; 140 var toggleSel=''; 141 var toggleElem={}; 142 for(t=0;t < toggles.length;t++){ 143 toggleSel='#toggle_' + toggles[t]; 144 $(toggleSel).click(); 145 }; 146 toggleSel='#toggle_' + toggles[toggles.length - 1]; 147 toggleElem=$(toggleSel); 148 if(toggleElem.length === 0){ 149 toggleSel='#toggle_' + toggles[toggles.length - 2]; 150 toggleElem=$(toggleSel); 151 }; 152 toggleElem.closest('li').addClass('highlight'); 153 return true; 154 }; 155 156shopAP.navImgClick=function(evt){ 157 var li=$(evt.target).closest('li'); 158 if(li.hasClass('closed')){ 159 li.removeClass('closed').addClass('open'); 160 li.children('img').attr('src','/Resources/Shop/img/ui/small/minus.png'); 161 li.children('ul').show(); 162 return true; 163 }; 164 if(li.hasClass('open')){ 165 li.removeClass('open').addClass('closed'); 166 li.children('img').attr('src','/Resources/Shop/img/ui/small/plus.png'); 167 li.children('ul').hide(); 168 return true; 169 }; 170 return false; 171 }; 172 173// fire initialisation onDomReady 174$(document).ready(shopAP.init);
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.