//** All Levels Navigational Menu- (c) Dynamic Drive DHTML code library: http://www.dynamicdrive.com //** Script Download/ instructions page: http://www.dynamicdrive.com/dynamicindex1/ddlevelsmenu/ //** Usage Terms: http://www.dynamicdrive.com/notice.htm //** July 7th, 08'- Creation Date //** July 16th, 08'- Updated to v 1.3: //1) Adds "Side Bar" orientation option. //2) Drop Down Menus now auto adjust their positioning if too close to either right or bottom window edges. //3) Enhanced IFRAME shim "coverage" on the page. //** July 19th, 08'- Updated to v 1.31: Drop down menu now positions at top of window edge if there's neither room downwards or upwards to settle. //** Aug 13th, 08'- v1.32: Moved "rel" attribute from menu's
  • elements to inner , for validation reasons //** Sept 10th, 08'- Updated to v 1.4: //1) Added optional "sliding" animation when sub menus are revealed. //2) Arrow images now dynamically positioned, instead of relying on CSS's "right" property //** Oct 11th, 08'- Updated to v 1.5: //1) Sliding animation behavior tweaked //2) Added ability to disable iframeshim, customize speed of sliding animation //** Dec 23rd, 08'- Updated to v 2.0: //1) Animation speed refined to be function of time (ie: 1 sec) //2) Added two animations that can be individually enabled/disabled- "slide in" and "fade in". //3) Script now automatically moves HTML for all sub menus to the end of the page, to avoid any containership issues if they are nested in other elements. //** Jan 12, 09'- Updated to v 2.1: //1) Added ability to disable the arrow images from the top level items (see option "showarrow") //2) For Top Level Menu items containing a SPAN element (for sliding doors technique), arrow images are inserted inside SPAN. var ddlevelsmenu={ enableshim: true, //enable IFRAME shim to prevent drop down menus from being hidden below SELECT or FLASH elements? (tip: disable if not in use, for efficiency) arrowpointers:{ downarrow: ["/ecblank.gif", 1,1], //[path_to_down_arrow, arrowwidth, arrowheight] rightarrow: ["/a556c5/homepage.nsf/arrow-right.gif", 12,12], //[path_to_right_arrow, arrowwidth, arrowheight] showarrow: {toplevel: false, sublevel: true} //Show arrow images on top level items and sub level items, respectively? }, hideinterval: 200, //delay in milliseconds before entire menu disappears onmouseout. effects: {enableswipe: true, enablefade: true, duration: 500}, httpsiframesrc: "blank.htm", //If menu is run on a secure (https) page, the IFRAME shim feature used by the script should point to an *blank* page *within* the secure area to prevent an IE security prompt. Specify full URL to that page on your server (leave as is if not applicable). ///No need to edit beyond here//////////////////// topmenuids: [], //array containing ids of all the primary menus on the page topitems: {}, //object array containing all top menu item links subuls: {}, //object array containing all ULs lastactivesubul: {}, //object object containing info for last mouse out menu item's UL topitemsindex: -1, ulindex: -1, hidetimers: {}, //object array timer shimadded: false, nonFF: !/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent), //detect non FF browsers getoffset:function(what, offsettype){ return (what.offsetParent)? what[offsettype]+this.getoffset(what.offsetParent, offsettype) : what[offsettype] }, getoffsetof:function(el){ el._offsets={left:this.getoffset(el, "offsetLeft"), top:this.getoffset(el, "offsetTop")} }, getwindowsize:function(){ this.docwidth=window.innerWidth? window.innerWidth-10 : this.standardbody.clientWidth-10 this.docheight=window.innerHeight? window.innerHeight-15 : this.standardbody.clientHeight-18 }, gettopitemsdimensions:function(){ for (var m=0; m0){ this.shimmy.topshim.style.left=scrollX+"px" this.shimmy.topshim.style.top=scrollY+"px" this.shimmy.topshim.style.width="99%" this.shimmy.topshim.style.height=topgap+"px" //distance from top window edge to top of menu item } if (bottomgap>0){ this.shimmy.bottomshim.style.left=scrollX+"px" this.shimmy.bottomshim.style.top=header._offsets.top + header._dimensions.h +"px" this.shimmy.bottomshim.style.width="99%" this.shimmy.bottomshim.style.height=bottomgap+"px" //distance from bottom of menu item to bottom window edge } } }, hideshim:function(){ this.shimmy.topshim.style.width=this.shimmy.bottomshim.style.width=0 this.shimmy.topshim.style.height=this.shimmy.bottomshim.style.height=0 }, buildmenu:function(mainmenuid, header, submenu, submenupos, istoplevel, dir){ header._master=mainmenuid //Indicate which top menu this header is associated with header._pos=submenupos //Indicate pos of sub menu this header is associated with header._istoplevel=istoplevel if (istoplevel){ this.addEvent(header, function(e){ ddlevelsmenu.hidemenu(ddlevelsmenu.subuls[this._master][parseInt(this._pos)]) }, "click") } this.subuls[mainmenuid][submenupos]=submenu header._dimensions={w:header.offsetWidth, h:header.offsetHeight, submenuw:submenu.offsetWidth, submenuh:submenu.offsetHeight} this.getoffsetof(header) submenu.style.left=0 submenu.style.top=0 submenu.style.visibility="hidden" this.addEvent(header, function(e){ //mouseover event if (!ddlevelsmenu.isContained(this, e)){ var submenu=ddlevelsmenu.subuls[this._master][parseInt(this._pos)] if (this._istoplevel){ ddlevelsmenu.css(this, "selected", "add") clearTimeout(ddlevelsmenu.hidetimers[this._master][this._pos]) } ddlevelsmenu.getoffsetof(header) var scrollX=window.pageXOffset? window.pageXOffset : ddlevelsmenu.standardbody.scrollLeft var scrollY=window.pageYOffset? window.pageYOffset : ddlevelsmenu.standardbody.scrollTop var submenurightedge=this._offsets.left + this._dimensions.submenuw + (this._istoplevel && dir=="topbar"? 0 : this._dimensions.w) var submenubottomedge=this._offsets.top + this._dimensions.submenuh //Sub menu starting left position var menuleft=(this._istoplevel? this._offsets.left + (dir=="sidebar"? this._dimensions.w : 0) : this._dimensions.w) if (submenurightedge-scrollX>ddlevelsmenu.docwidth){ menuleft+= -this._dimensions.submenuw + (this._istoplevel && dir=="topbar" ? this._dimensions.w : -this._dimensions.w) } submenu.style.left=menuleft+"px" //Sub menu starting top position var menutop=(this._istoplevel? this._offsets.top + (dir=="sidebar"? 0 : this._dimensions.h) : this.offsetTop) if (submenubottomedge-scrollY>ddlevelsmenu.docheight){ //no room downwards? if (this._dimensions.submenuh" + (g + xprvpg +1) + " " } } else { if (currpg == (g+1)) { xpage = xpage + ""+ (g + 1) + " " } else { xpage = xpage + "" + (g + 1) + " " } } } if (jloop > 0) { if (xnxtpg >= jloop) { //tmpnxt = "»" tmpnxt = "" } else { //tmpnxt = "»" tmpnxt = "" } if (xprvpg == 0) { // tmpprv = "«" tmpprv = "" } else { //tmpprv = "«" tmpprv = "" } } document.getElementById("nwPaging").innerHTML = tmpprv +" " + xpage +" " + tmpnxt } function fncNwPagingPrinted(currpg,jourpath) { var xpage=""; var tmpnxt =""; var tmpprv = ""; if ( currpg <= xprvpg) { xprvpg = xprvpg - jmaxpg; xnxtpg = xnxtpg - jmaxpg; } if ( currpg >= xnxtpg) { xnxtpg = xnxtpg + jmaxpg; xprvpg = xprvpg + jmaxpg; } if (jloop < jmaxpg) { jmaxpg = jloop } //alert(jmaxpg + "heelo") for(g =0; g jmaxpg) { if ((g+1+xprvpg) == currpg) { xpage = xpage + ""+ (g + xprvpg +1)+ " " } else { xpage = xpage + "" + (g + xprvpg +1) + " " } } else { if (currpg == (g+1)) { xpage = xpage + ""+ (g + 1) + " " } else { xpage = xpage + "" + (g + 1) + " " } } } if (jloop > 0) { if (xnxtpg >= jloop) { //tmpnxt = "»" tmpnxt = "" } else { //tmpnxt = "»" tmpnxt = "" } if (xprvpg == 0) { // tmpprv = "«" tmpprv = "" } else { //tmpprv = "«" tmpprv = "" } } document.getElementById("nwPaging").innerHTML = tmpprv +" " + xpage +" " + tmpnxt } function fncNwPagingCat(currpg,jourpath,catCookie) { var xpage=""; var tmpnxt =""; var tmpprv = ""; if ( currpg <= xprvpg) { xprvpg = xprvpg - jmaxpg; xnxtpg = xnxtpg - jmaxpg; } if ( currpg >= xnxtpg) { xnxtpg = xnxtpg + jmaxpg; xprvpg = xprvpg + jmaxpg; } if (jloop < jmaxpg) { jmaxpg = jloop } for(g =0; g jmaxpg) { if ((g+1+xprvpg) == currpg) { xpage = xpage + ""+ (g + xprvpg +1)+ " " } else { xpage = xpage + "" + (g + xprvpg +1) + " " } } else { if (currpg == (g+1)) { xpage = xpage + ""+ (g + 1) + " " } else { xpage = xpage + "" + (g + 1) + " " } } } if (jloop > 0) { if (xnxtpg >= jloop) { //tmpnxt = "»" tmpnxt = "" } else { //tmpnxt = "»" tmpnxt = "" } if (xprvpg == 0) { // tmpprv = "«" tmpprv = "" } else { //tmpprv = "«" tmpprv = "" } } document.getElementById("nwPaging").innerHTML = tmpprv +" " + xpage +" " + tmpnxt } function fncPgCall(currpg,jourpath) { var tmpstart = "" tmpstart = (currpg * jcount) - (jcount -1) loadDefaultXMLSSL(jourpath, viewname, tmpstart, jcount, "new") fetchHTML = retrieveNodevalues(vnodes); document.getElementById("SPNews").innerHTML = "" + fetchHTML + "
    "; fncNwPaging(currpg,jourpath) } function fncPgCallPrinted(currpg,jourpath) { var tmpstart = "" tmpstart = (currpg * jcount) - (jcount -1) loadDefaultXMLSSLPrint(jourpath, "lsvPublishedPrinted", tmpstart, jcount, "new") fetchHTML = retrieveNodevaluesPrint(vnodes); document.getElementById("SPNewsPrint").innerHTML = "" + fetchHTML + "
    "; fncNwPagingPrinted(currpg,jourpath) } function fncPgCallCat(currpg,jourpath,catCookie) { //falert("crap") var tmpstart = "" tmpstart = (currpg * jcount) - (jcount -1) //alert("crap1") loadDefaultXMLRestrictToCategory(jourpath, viewname,catCookie, tmpstart, jcount) //alert("A") fetchHTML = retrieveNodevalues(vnodes); document.getElementById("SPNews").innerHTML = "" + fetchHTML + "
    "; fncNwPagingCat(currpg,jourpath,catCookie) } /* old set cookie function setCookie(c_name,value,expiredays) { var exdate=new Date();exdate.setDate(exdate.getDate()+expiredays); document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()); } */ function setCookie(name, value, expires, path, domain, secure) { document.cookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); } function getCookie(c_name) { if (document.cookie.length>0) { c_start=document.cookie.indexOf(c_name + "="); if (c_start!=-1) { c_start=c_start + c_name.length+1; c_end=document.cookie.indexOf(";",c_start); if (c_end==-1) c_end=document.cookie.length; return unescape(document.cookie.substring(c_start,c_end)); } } return ""; } function DeleteCookie (name) { alert(name) // var exp = new Date(); // exp.setTime (exp.getTime() - 1); document.cookie = name + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT;" } function fncwindowopen(tmpURL) { var strOpener = "resizable=yes,width=800,height=600,toolbar=no,menubar=no,scrollbars=yes,location=no,titlebar=no" window.open(tmpURL,"",strOpener) } function GetFlash(param,xmlpath,xmlFile) { document.getElementById("flvvideo").innerHTML = "
    "; document.getElementById("flvtitle").innerHTML = "
    Loading......
    "; document.getElementById("flvcontent").innerHTML = ""; var fnodes = "/viewentries/viewentry/entrydata[@name='FlashAttachmentFlash']/text" var tnodes = "/viewentries/viewentry/entrydata[@name='FlashTitle']/text" var cnodes = "/viewentries/viewentry/entrydata[@name='FlashDescription']/text" LoadGetFlash(param,xmlpath,xmlFile) var fHTML = retrieveNodevalues(fnodes); var gHTML = retrieveNodevalues(tnodes); var zHTML = retrieveNodevalues(cnodes); document.getElementById("flvvideo").innerHTML = fHTML document.getElementById("flvtitle").innerHTML = gHTML document.getElementById("flvcontent").innerHTML = zHTML } function LoadGetFlash(param,xmlpath,xmlFile) { path = "/"+ xmlpath + "/" + xmlFile + "?ReadViewEntries&RestrictToCategory=" + param xmlhttp=null; if (window.XMLHttpRequest) { // code for IE7, Firefox, Opera, etc. xmlhttp =new XMLHttpRequest(); } else if (window.ActiveXObject) {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } if (xmlhttp!=null) { if (window.XMLHttpRequest) { xmlhttp.onreadystatechange=function() { state_Change(); } } else { xmlhttp.onreadystatechange=state_Change(); } xmlhttp.open("GET",path,false); xmlhttp.send(null); } else { alert("Your browser does not support XMLHTTP."); } //alert("A") } function cycle3() { var skey; if (currentAd3 == imgCt3) { currentAd3 = 0; } var banner3 = document.getElementById('adBanner3'); var link3 = document.getElementById('adLink3'); banner3.src=imgs3[currentAd3]; banner3.alt=alt3[currentAd3]; document.getElementById('adLink3').href=lnks3[currentAd3]; for (var m=0; m" + (m + 1) +"" } else { skey = "rptspan" + m; document.getElementById(skey).innerHTML = "" + (m + 1)+"" } } if (currentAd3 == 0) { document.getElementById("spanbck").innerHTML = "«"; } else { document.getElementById("spanbck").innerHTML = "«" } if (currentAd3 == (imgCt3-1)) { document.getElementById("spanfwd").innerHTML = "»"; } else { document.getElementById("spanfwd").innerHTML = "»" } currentAd3++; } function switch3(param) { if (currentAd3 == imgCt3) { currentAd3 = 0 } var skey; var banner3 = document.getElementById('adBanner3'); var link3 = document.getElementById('adLink3'); banner3.src=imgs3[param]; banner3.alt=alt3[param]; document.getElementById('adLink3').href=lnks3[param]; for (var m=0; m" + (m + 1) +"" } else { skey = ("rptspan" + m); document.getElementById(skey).innerHTML = "" + (m + 1)+"" } } if (currentAd3 == 0) { document.getElementById("spanbck").innerHTML = "«"; } else { document.getElementById("spanbck").innerHTML = "«" } if (currentAd3 == (imgCt3-1)) { document.getElementById("spanfwd").innerHTML = "»" } else { document.getElementById("spanfwd").innerHTML = "»" } currentAd3++; } function spanbck() { currentAd3--; var skey; if (currentAd3 == imgCt3) { currentAd3 = 0 } var banner3 = document.getElementById('adBanner3'); var link3 = document.getElementById('adLink3'); banner3.src=imgs3[currentAd3]; banner3.alt=alt3[currentAd3]; document.getElementById('adLink3').href=lnks3[currentAd3]; for (var m=0; m" + (m + 1) +"" } else { skey = "rptspan" + m; document.getElementById(skey).innerHTML = "" + (m + 1)+"" } } if (currentAd3 == 0) { document.getElementById("spanbck").innerHTML = "«" } else { document.getElementById("spanbck").innerHTML = "«" } if (currentAd3 == (imgCt3-1)) { document.getElementById("spanfwd").innerHTML = "»" } else { document.getElementById("spanfwd").innerHTML = "»" } } /*********************************************** * AnyLink Vertical Menu- © Dynamic Drive (www.dynamicdrive.com) * This notice MUST stay intact for legal use * Visit http://www.dynamicdrive.com/ for full source code ***********************************************/ //Contents for menu 1 var menu1=new Array() menu1[0]='Technology & Operations' menu1[1]='Solutions Centre' menu1[2]='SAS on business analytics' menu1[3]='Oracle on core banking' menu1[4]='Temenos' //Contents for menu 2, and so on var menu2=new Array() menu2[0]='Business Analytics White Papers' menu2[1]='Core Banking' //Contents for menu 3 var menu3=new Array() menu3[0]='SAS on business analytics' menu3[1]='Oracle on core banking' menu3[2]='Temenos' var disappeardelay=250 //menu disappear speed onMouseout (in miliseconds) var horizontaloffset=2 //horizontal offset of menu from default location. (0-5 is a good value) /////No further editting needed var ie4=document.all var ns6=document.getElementById&&!document.all if (ie4||ns6) document.write('') function getposOffset(what, offsettype){ var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop; var parentEl=what.offsetParent; while (parentEl!=null){ totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop; parentEl=parentEl.offsetParent; } return totaloffset; } function showhide(obj, e, visible, hidden, menuwidth){ if (ie4||ns6) dropmenuobj.style.left=dropmenuobj.style.top=-500 dropmenuobj.widthobj=dropmenuobj.style dropmenuobj.widthobj.width=menuwidth if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover") obj.visibility=visible else if (e.type=="click") obj.visibility=hidden } function iecompattest(){ return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body } function clearbrowseredge(obj, whichedge){ var edgeoffset=0 if (whichedge=="rightedge"){ var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15 dropmenuobj.contentmeasure=dropmenuobj.offsetWidth if (windowedge-dropmenuobj.x-obj.offsetWidth < dropmenuobj.contentmeasure) edgeoffset=dropmenuobj.contentmeasure+obj.offsetWidth } else{ var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18 dropmenuobj.contentmeasure=dropmenuobj.offsetHeight if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move menu up? edgeoffset=dropmenuobj.contentmeasure-obj.offsetHeight if ((dropmenuobj.y-topedge)