function fileLinks() {
var fileLink;
if (document.getElementsByTagName('a')) {
for (var i = 0; (fileLink = document.getElementsByTagName('a')[i]);i++) {
if (fileLink.href.indexOf('.pdf') != -1) {
fileLink.setAttribute('target', '_blank');
fileLink.className = 'pdfLink';
}
if (fileLink.href.indexOf('.doc') != -1) {
fileLink.setAttribute('target', '_blank');
fileLink.className = 'docLink';
}
if (fileLink.href.indexOf('.zip') != -1) {
fileLink.className = 'zipLink';
}
}
}
}
function tableruler()
{
if (document.getElementById && document.createTextNode)
{
var tables=document.getElementsByTagName('table');
for (var i=0;i<tables.length;i++)
{
if(tables[i].className=='ruler')
{
var trs=tables[i].getElementsByTagName('tr');
for(var j=0;j<trs.length;j++)
{
if(trs[j].parentNode.nodeName=='TBODY')
{
trs[j].onmouseover=function(){this.className='ruled';return false}
trs[j].onmouseout=function(){this.className='';return false}
}
}
}
}
}
}
var spamSpanMainClass	= 'spamspan';
var spamSpanUserClass	= 'u';
var spamSpanDomainClass	= 'd';
var spamSpanAnchorTextClass = 't';

function spamSpan() {
var allSpamSpans = getElementsByClass(spamSpanMainClass, document, 'span');
for (var i=0; i<allSpamSpans.length; i++) {
var user = getSpanValue(spamSpanUserClass, allSpamSpans[i]);
var domain = getSpanValue(spamSpanDomainClass, allSpamSpans[i]);
var anchorText = getSpanValue(spamSpanAnchorTextClass, allSpamSpans[i]);
var at = String.fromCharCode(32*2);
var email = cleanSpan(user) + at + cleanSpan(domain);
var anchorTagText = document.createTextNode(anchorText ? anchorText : email);
var mto = String.fromCharCode(109,97,105,108,116,111,58);
var anchorTag = document.createElement('a');
anchorTag.className = spamSpanMainClass;
anchorTag.setAttribute('href', mto + email);
anchorTag.appendChild(anchorTagText);
allSpamSpans[i].parentNode.replaceChild(anchorTag, allSpamSpans[i]);
}
}
function getElementsByClass(searchClass, scope, tag) {
var classElements = new Array();
if (scope == null) node = document;
if (tag == null) tag = '*';
var els = scope.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp("(^|\s)"+searchClass+"(\s|$)");
for (var i = 0, j = 0; i < elsLen; i++) {
if ( pattern.test(els[i].className) ) {
classElements[j] = els[i];
j++;
}
}
return classElements;
}
function getSpanValue(searchClass, scope) {
var span = getElementsByClass(searchClass, scope, 'span');
if (span[0]) return span[0].firstChild.nodeValue;
else return false;
}
function cleanSpan(string) {
string = string.replace(/[\[\(\{]?[dD][oO0][tT][\}\)\]]?/g, '.');
string = string.replace(/\s+/g, '');
return string;
}
function addEvent(obj, type, fn) {
if (obj.addEventListener)
obj.addEventListener(type, fn, false);
else if (obj.attachEvent)
{
obj['e' + type + fn] = fn;
obj[type + fn] = function() { obj['e' + type + fn](window.event); }
obj.attachEvent('on' + type, obj[type + fn]);
}
}

var ss = {
fixAllLinks: function() {
var allLinks = document.getElementsByTagName('a');
for (var i=0;i<allLinks.length;i++) {
var lnk = allLinks[i];
if ((lnk.href && lnk.href.indexOf('#') != -1) &&
( (lnk.pathname == location.pathname) ||
('/'+lnk.pathname == location.pathname) ) &&
(lnk.search == location.search)) {
ss.addEvent(lnk,'click',ss.smoothScroll);
}
}
},
smoothScroll: function(e) {
if (window.event) {
target = window.event.srcElement;
} else if (e) {
target = e.target;
} else return;
if (target.nodeName.toLowerCase() != 'a') {
target = target.parentNode;
}
if (target.nodeName.toLowerCase() != 'a') return;
anchor = target.hash.substr(1);
var allLinks = document.getElementsByTagName('a');
var destinationLink = null;
for (var i=0;i<allLinks.length;i++) {
var lnk = allLinks[i];
if (lnk.name && (lnk.name == anchor)) {
destinationLink = lnk;
break;
}
}
if (!destinationLink) return true;
var destx = destinationLink.offsetLeft;
var desty = destinationLink.offsetTop;
var thisNode = destinationLink;
while (thisNode.offsetParent &&
(thisNode.offsetParent != document.body)) {
thisNode = thisNode.offsetParent;
destx += thisNode.offsetLeft;
desty += thisNode.offsetTop;
}
clearInterval(ss.INTERVAL);
cypos = ss.getCurrentYPos();
ss_stepsize = parseInt((desty-cypos)/ss.STEPS);
ss.INTERVAL =
setInterval('ss.scrollWindow('+ss_stepsize+','+desty+',"'+anchor+'")',10);
if (window.event) {
window.event.cancelBubble = true;
window.event.returnValue = false;
}
if (e && e.preventDefault && e.stopPropagation) {
e.preventDefault();
e.stopPropagation();
}
},
scrollWindow: function(scramount,dest,anchor) {
wascypos = ss.getCurrentYPos();
isAbove = (wascypos < dest);
window.scrollTo(0,wascypos + scramount);
iscypos = ss.getCurrentYPos();
isAboveNow = (iscypos < dest);
if ((isAbove != isAboveNow) || (wascypos == iscypos)) {
window.scrollTo(0,dest);
clearInterval(ss.INTERVAL);
location.hash = anchor;
}
},
getCurrentYPos: function() {
if (document.body && document.body.scrollTop)
return document.body.scrollTop;
if (document.documentElement && document.documentElement.scrollTop)
return document.documentElement.scrollTop;
if (window.pageYOffset)
return window.pageYOffset;
return 0;
},
addEvent: function(elm, evType, fn, useCapture) {
if (elm.addEventListener){
elm.addEventListener(evType, fn, useCapture);
return true;
} else if (elm.attachEvent){
var r = elm.attachEvent("on"+evType, fn);
return r;
} else {
alert("Handler could not be removed");
}
}
}
ss.STEPS = 25;
ss.addEvent(window,"load",ss.fixAllLinks);
function addCaption( oImgElem, bUseCaptionMarker )
{
if( oImgElem.parentNode && oImgElem.parentNode.className=="imgblock")
return;
var oImgBlockElem = document.createElement("div");
oImgBlockElem.className = "imgblock";
oImgBlockElem.style.styleFloat = oImgElem.style.styleFloat;
oImgElem.style.styleFloat = "none";
if( oImgElem.className.search("leftjust") >= 0 )
{
oImgBlockElem.className = oImgBlockElem.className + " leftjust";
oImgElem.className = oImgElem.className.replace("leftjust","");
}
if( oImgElem.className.search("rightjust") >= 0 )
{
oImgBlockElem.className = oImgBlockElem.className + " rightjust";
oImgElem.className = oImgElem.className.replace("rightjust","");
}
var oHandle = oImgElem;
if( oImgElem.parentNode.tagName == "A" )
{
oHandle = oImgElem.parentNode;
}
var oPhotoShadowElem = document.createElement("div");
oPhotoShadowElem .className = "photoshadow";
var oOldHandle = oHandle.parentNode.replaceChild(oImgBlockElem,oHandle);
if( false )
{
oImgBlockElem.appendChild(oPhotoShadowElem);
oPhotoShadowElem.appendChild(oOldHandle);
}
else
{
oImgBlockElem.appendChild(oOldHandle);
}
oHandle=null;
var oCaptionElem = document.createElement("div");
oCaptionElem.className = "caption";
oCaptionElem.style.marginLeft = oImgElem.style.marginLeft;
var oCaptionTextElem = document.createElement("div");
oCaptionTextElem.className = "caption-text";
var oCaptionText = document.createTextNode( oImgElem.alt );
oCaptionTextElem.appendChild(oCaptionText );
oCaptionElem.appendChild(oCaptionTextElem);
oImgBlockElem.appendChild(oCaptionElem);
with(oImgElem.style)
{
oCaptionElem.style.width = (oImgElem.scrollWidth)+"px";
}
oImgBlockElem.style.width = (oImgElem.scrollWidth)+"px";
return true;
}
function addCaps()
{
var i=0;
var oImg;
for( i=0; i<document.images.length; i++ )
{
oImg = document.images[i];
if( oImg.className.search("addcap") >= 0 )
{
  addCaption(oImg,true);
}
}
return true;
}
function addEvent(obj, evType, fn){
if (obj.addEventListener){
obj.addEventListener(evType, fn, false);
return true;
} else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
} else {
return false;
}
}
var newWindow = null;
function closeWin(){
if (newWindow != null){
	if(!newWindow.closed)
		newWindow.close();
}
}
function popUpWin(url, type, strWidth, strHeight){
closeWin();
type = type.toLowerCase();
if (type == "fullscreen"){
	strWidth = screen.availWidth;
	strHeight = screen.availHeight;
}
var tools="";
if (type == "standard") tools = "resizable,toolbar=yes,location=yes,scrollbars=yes,menubar=yes,width="+strWidth+",height="+strHeight+",top=0,left=0";
if (type == "tour") tools = "resizable,toolbar=no,location=no,scrollbars=no,menubar=yes,width="+strWidth+",height="+strHeight+",top=0,left=0";
if (type == "elastic") tools = "resizable,toolbar=no,location=no,scrollbars=yes,menubar=yes,width="+strWidth+",height="+strHeight+",top=0,left=0";
if (type == "console" || type == "fullscreen") tools = "resizable,toolbar=no,location=no,menubar=no,scrollbars=no,width="+strWidth+",height="+strHeight+",left=0,top=0";
newWindow = window.open(url, 'newWin', tools);
newWindow.focus();
}
function doPopUp(e)
{
var t = "standard";
var w = "800";
var h = "600";
attribs = this.rel.split(" ");
if (attribs[1]!=null) {t = attribs[1];}
if (attribs[2]!=null) {w = attribs[2];}
if (attribs[3]!=null) {h = attribs[3];}
popUpWin(this.href,t,w,h);
if (window.event)
{
window.event.returnValue = false;
window.event.cancelBubble = true;
}
else if (e)
{
e.stopPropagation();
e.preventDefault();
}
}
function findPopUps()
{
var popups = document.getElementsByTagName("a");
for (i=0;i<popups.length;i++)
{
if (popups[i].rel.indexOf("popup")!=-1)
{
popups[i].onclick = doPopUp;
}
}
}

// load usefull functions

addEvent(window, 'load', spamSpan);
addEvent(window, 'load', findPopUps);




