[176] | 1 | /* |
---|
| 2 | * Copyright 2002-2004 The Apache Software Foundation |
---|
| 3 | * |
---|
| 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
---|
| 5 | * you may not use this file except in compliance with the License. |
---|
| 6 | * You may obtain a copy of the License at |
---|
| 7 | * |
---|
| 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
---|
| 9 | * |
---|
| 10 | * Unless required by applicable law or agreed to in writing, software |
---|
| 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
---|
| 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
---|
| 13 | * See the License for the specific language governing permissions and |
---|
| 14 | * limitations under the License. |
---|
| 15 | */ |
---|
| 16 | var PREPREND_CRUMBS=new Array(); |
---|
| 17 | var link1="@skinconfig.trail.link1.name@"; |
---|
| 18 | var link2="@skinconfig.trail.link2.name@"; |
---|
| 19 | var link3="@skinconfig.trail.link3.name@"; |
---|
| 20 | if(!(link1=="")&&!link1.indexOf( "@" ) == 0){ |
---|
| 21 | PREPREND_CRUMBS.push( new Array( link1, @skinconfig.trail.link1.href@ ) ); } |
---|
| 22 | if(!(link2=="")&&!link2.indexOf( "@" ) == 0){ |
---|
| 23 | PREPREND_CRUMBS.push( new Array( link2, @skinconfig.trail.link2.href@ ) ); } |
---|
| 24 | if(!(link3=="")&&!link3.indexOf( "@" ) == 0){ |
---|
| 25 | PREPREND_CRUMBS.push( new Array( link3, @skinconfig.trail.link3.href@ ) ); } |
---|
| 26 | var DISPLAY_SEPARATOR=" > "; |
---|
| 27 | var DISPLAY_PREPREND=" > "; |
---|
| 28 | var DISPLAY_POSTPREND=":"; |
---|
| 29 | var CSS_CLASS_CRUMB="breadcrumb"; |
---|
| 30 | var CSS_CLASS_TRAIL="breadcrumbTrail"; |
---|
| 31 | var CSS_CLASS_SEPARATOR="crumbSeparator"; |
---|
| 32 | var FILE_EXTENSIONS=new Array( ".html", ".htm", ".jsp", ".php", ".php3", ".php4" ); |
---|
| 33 | var PATH_SEPARATOR="/"; |
---|
| 34 | |
---|
| 35 | function sc(s) { |
---|
| 36 | var l=s.toLowerCase(); |
---|
| 37 | return l.substr(0,1).toUpperCase()+l.substr(1); |
---|
| 38 | } |
---|
| 39 | function getdirs() { |
---|
| 40 | var t=document.location.pathname.split(PATH_SEPARATOR); |
---|
| 41 | var lc=t[t.length-1]; |
---|
| 42 | for(var i=0;i < FILE_EXTENSIONS.length;i++) |
---|
| 43 | { |
---|
| 44 | if(lc.indexOf(FILE_EXTENSIONS[i])) |
---|
| 45 | return t.slice(1,t.length-1); } |
---|
| 46 | return t.slice(1,t.length); |
---|
| 47 | } |
---|
| 48 | function getcrumbs( d ) |
---|
| 49 | { |
---|
| 50 | var pre = "/"; |
---|
| 51 | var post = "/"; |
---|
| 52 | var c = new Array(); |
---|
| 53 | if( d != null ) |
---|
| 54 | { |
---|
| 55 | for(var i=0;i < d.length;i++) { |
---|
| 56 | pre+=d[i]+postfix; |
---|
| 57 | c.push(new Array(d[i],pre)); } |
---|
| 58 | } |
---|
| 59 | if(PREPREND_CRUMBS.length > 0 ) |
---|
| 60 | return PREPREND_CRUMBS.concat( c ); |
---|
| 61 | return c; |
---|
| 62 | } |
---|
| 63 | function gettrail( c ) |
---|
| 64 | { |
---|
| 65 | var h=DISPLAY_PREPREND; |
---|
| 66 | for(var i=0;i < c.length;i++) |
---|
| 67 | { |
---|
| 68 | h+='<a href="'+c[i][1]+'" >'+sc(c[i][0])+'</a>'; |
---|
| 69 | if(i!=(c.length-1)) |
---|
| 70 | h+=DISPLAY_SEPARATOR; } |
---|
| 71 | return h+DISPLAY_POSTPREND; |
---|
| 72 | } |
---|
| 73 | |
---|
| 74 | function gettrailXHTML( c ) |
---|
| 75 | { |
---|
| 76 | var h='<span class="'+CSS_CLASS_TRAIL+'">'+DISPLAY_PREPREND; |
---|
| 77 | for(var i=0;i < c.length;i++) |
---|
| 78 | { |
---|
| 79 | h+='<a href="'+c[i][1]+'" class="'+CSS_CLASS_CRUMB+'">'+sc(c[i][0])+'</a>'; |
---|
| 80 | if(i!=(c.length-1)) |
---|
| 81 | h+='<span class="'+CSS_CLASS_SEPARATOR+'">'+DISPLAY_SEPARATOR+'</span>'; } |
---|
| 82 | return h+DISPLAY_POSTPREND+'</span>'; |
---|
| 83 | } |
---|
| 84 | |
---|
| 85 | if(document.location.href.toLowerCase().indexOf("http://")==-1) |
---|
| 86 | document.write(gettrail(getcrumbs())); |
---|
| 87 | else |
---|
| 88 | document.write(gettrail(getcrumbs(getdirs()))); |
---|
| 89 | |
---|