
function Breadcrumb() {
	//////////////////////
	// Begin customization
	//////////////////////
	this.homeLinkText = 	'swissinfo.ch'; 	// Text for the home link
	this.separator = 		' > ';			// Character(s) to use between breadcrumbs
	this.homeLinkPosition = 1;				// Where is home? 0 = domain, 1 = 1st directory, and so on ...
	this.attachTo = 		'#breadcrumb';	// Attach breadcrumb to a tag or an ID: e.g., body, h1, div, #header, #breadcrumb
	this.replaceTheseCharacters = [		// You can replace any text with customized text
		["news", "\u30CB\u30E5\u30FC\u30B9"],
		["foreign_affairs", "\u0634\u0624\u0648\u0646 \u062E\u0627\u0631\u062C\u064A\u0629"],
		["international", "\u4E16\u754C\u306E\u51FA\u6765\u4E8B ( \u5171\u540C\u901A\u4FE1\u793E )"],
		["swiss_and_the_world", "\u30B9\u30A4\u30B9\u3068\u4E16\u754C"],
		["swiss_japan", "\u30B9\u30A4\u30B9\u3068\u65E5\u672C"],
		["internal_affairs", "\u56FD\u5185\u653F\u6CBB"],
		["sport", "\u30B9\u30DD\u30FC\u30C4"],
		["business", "\u7D4C\u6E08"],
		["social_affairs", "\u793E\u4F1A"],
		["society", "\u793E\u4F1A"],
		["science_technology", "\u79D1\u5B66"],
		["travel", "\u6587\u5316\u30FB\u65C5\u884C\u30FB\u98F2\u98DF"],
		["feature", "\u8AAD\u307F\u7269"],
		["country_information", "\u30B9\u30A4\u30B9\u306E\u60C5\u5831"],
		["politics", "\u653F\u6CBB\u5236\u5EA6"],
		["political_system", "\u30B9\u30A4\u30B9\u306E\u60C5\u5831"],
		["political_parties", "\u653F\u515A"],
		["swisslinks", "\u30B9\u30A4\u30B9\u30EA\u30F3\u30AF"],
		["multimedia", "\u30DE\u30EB\u30C1\u30E1\u30C7\u30A3\u30A2"],
		["video", "\u30D3\u30C7\u30AA"],
		["picture_gallery", "\u30D5\u30A9\u30C8\u30AE\u30E3\u30E9\u30EA\u30FC"],
		["picture_of_the_day", "\u4ECA\u65E5\u306E1\u30B3\u30DE"],
		["pictures_faces", "\u3053\u3093\u306B\u3061\u306F\u30B9\u30A4\u30B9"],
		["audios_podcast", "\u30AA\u30FC\u30C7\u30A3\u30AA"],
		["browse_by_themes", "\u30C6\u30FC\u30DE\u5225\u306B\u89B3\u308B"],
		["interactive", "\u30B3\u30DF\u30E5\u30CB\u30C6\u30A3\u30FC"],
		["specials", "\u7279\u96C6"],
		["weather", "\u5929\u6C17\u4E88\u5831"],
		["services", "\u30B5\u30FC\u30D3\u30B9"],
		["currency_converter", "\u901A\u8CA8"],
		["desktopnews", "\u30C7\u30B9\u30AF\u30C8\u30C3\u30D7\u30CB\u30E5\u30FC\u30B9"],
		["mobile", "\u30E2\u30D0\u30A4\u30EB"],
		["contact", "\u30B3\u30F3\u30BF\u30AF\u30C8"],
		["olympic_games_2008", "\u5317\u4EAC 2008"],
		["switzerland_china", "\u30B9\u30A4\u30B9-\u4E2D\u56FD\u95A2\u4FC2"],
		["olympics_background", "\u30AA\u30EA\u30F3\u30D4\u30C3\u30AF\u5927\u4F1A\u4E00\u822C\u60C5\u5831"],
		["portraits", "\u9078\u624B\u306E\u7D20\u9854"],
		["unesco_world_heritage_sites_in_switzerland", "\u30B9\u30A4\u30B9\u3068\u30E6\u30CD\u30B9\u30B3\u4E16\u754C\u907A\u7523"],
		[ "switzerland_for_the_record" , "\u30B9\u30A4\u30B9\u306E\u8A18\u9332" ],		
		["_", " "]];
	
	
	var youarein = ' ';
	youarein=unescape(youarein);
	var docurl = document.URL;
	var FileDocName =(docurl.substring(docurl.lastIndexOf("\/")+1,docurl.lastIndexOf("\.")))
	var FileSearchName = 'Result'; 
	var FileSearchNameReplacement = 'search result(s)';
	
	////////////////////
	// End customization
	////////////////////

	this.output = writeHTML;
	var homeText = this.homeLinkText;
	var sep = this.separator;
	var position = this.homeLinkPosition;
	var tag = this.attachTo;
	var replacements = this.replaceTheseCharacters;
	var d = document, text = url = d.location.href.split('//')[1];
	//var title = d.title;
	
	// This next set of "if" clauses removes the cgi-bin++ portion of the URL for
	// pages that include the cgi-bin directory.
	if(url.search("cgi-bin") > 0) {
		// Get rid of the stuff after .cgi?...
		var badReg = /\w+\.cgi\?.*/i;
		var goodReg =  "" + url.match(badReg);
		goodReg = goodReg.substring(0,goodReg.indexOf("?"));
		url=url.replace(badReg,goodReg);
		
		badReg = /\/cgi-bin\/.+url=/i;
		url=url.replace(badReg,"");
		if(url.search("cgi-bin") > 0) {
			badReg = /\/cgi-bin\//i;
			url=url.replace(badReg,"/hsl/");
			
			if(url.search("admin") > 0) {
				badReg = /\/admin/i;
				url=url.replace(badReg,"");
			}
		}
		
		if(url.search("/hsl/hsl/") > 0) {
			badReg = /\/hsl\/hsl\//i;
			url=url.replace(badReg,"/hsl/");
		}
	}
	
	if(url.search("&url=") > 0) {
		badReg = /\/hsl\/.+url=/i;
		url=url.replace(badReg,"");
	}
	
	//if(url.search("washington.edu") > 0) {
	//	badReg = /healthlinks.washington.edu/i;
	//	url=url.replace(badReg,"");
	//}

	// End cgi-bin removal clauses
	
	
	url = url.split('/');
	if(url[url.length-1] == '') {url.pop();}
	url.pop();
	for (var i=0; i < replacements.length; i++) {
		rex = new RegExp(replacements[i][0], "g");
		//text = text.replace(rex,replacements[i][1]);
		text = text.replace(rex,unescape(replacements[i][1]));
		//title = title.replace(rex,replacements[i][1]);
		//FileDocName = FileDocName.replace(rex,replacements[i][1]);
		FileDocName = FileDocName.replace(rex,unescape(replacements[i][1]));
	}
	text = text.split('/');
	
	function createBreadcrumbs() {
		var href = '', a, div = d.createElement('span');
		div.setAttribute('id', 'breadcrumbs');
		div.appendChild(d.createTextNode(youarein));
		for (var i = 0; i < url.length; i++) {
			href += url[i] + '/';
			if (i < position) {continue;}
			if (i == position) {text[i] = homeText;}
			text[i] = text[i].charAt(0).toLowerCase() + text[i].substr(1);
			a = d.createElement('a');		
			a.setAttribute('href', 'http://' + href);
			a.appendChild(d.createTextNode(text[i]));
			div.appendChild(a);
			div.appendChild(d.createTextNode(sep));
		}

		if (FileDocName != FileSearchName) {
			//div.appendChild(d.createTextNode(title));		// output the title at the end //
			div.appendChild(d.createTextNode(FileDocName));	// output the filename at the end //
		}
		else {
			div.appendChild(d.createTextNode(FileSearchNameReplacement));
			}
		return div;
	}
	
	function writeHTML() {
		tag = tag.match('#') ? d.getElementById(tag.substring(1)) : d.getElementsByTagName(tag)[0];
		if(tag) {
			tag.appendChild(createBreadcrumbs());
		}
	}
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

addLoadEvent(function() {
	var crumb = new Breadcrumb();
	crumb.output();					  
});
