
var Rules = {
  	rules: "1.0",
	  
	'a.popup:click': function(element, event) {
		var sHref = getHref(element);
		var iWidth = 680;
		var iHeight = 500;
		if (element.rel && element.rel.indexOf("|") > -1) {
		
			var aSize = element.rel.split("|");
			iWidth = aSize[0];
			iHeight = aSize[1];
		}
		window.open(sHref, "popup", 'height=' + iHeight + ',width=' + iWidth + ',toolbar=no,status=no,resizable=yes,scrollbars=yes');
		Event.stop(event);
	},
	
	'a.print:click': function(element, event) {
		window.print();
		Event.stop(event);
	},
		
	'a.dcs:click' : function(element, event) {
		try {
			while (element.nodeName.toUpperCase() != "A") {
				element = element.parentNode;
			}
			var title = element.readAttribute('title') || '';
			var targeturl = element.readAttribute('targeturl') || '';
			var href = getHref(element);
			var dcssip = "";
			var dcspro = "";
			var dcsprot = "";
			var sAdditional = "";
			var drex, hrex, prodom;
			var sClipT, sClipST, sClipCat, sCgS, sClipN;
			var sMediaplayerUrl = "http://www.suva.ch/mediaplayer.htm";
			if (sMediaplayerUrl.indexOf("/") > -1) {
			
				sMediaplayerUrl = sMediaplayerUrl.substring(sMediaplayerUrl.lastIndexOf("/"));
			}
			if (
				(element.className.indexOf("pcast") > -1) || 
				(element.className.indexOf("podcast") > -1) || 
				(element.className.indexOf("podcastlarge") > -1)
				) {

				sClipT = "Video";		
				
				if (element.className.indexOf("podcastlarge") > -1) {
				
					sClipST = "Vorschau Standard";
				}
				else if (href.indexOf(sMediaplayerUrl) > -1) {
				
					sClipST = "Vorschau Klein";
				}
				else {
				
					sClipST = "iTunes";
				}
				
				sClipN = title;
				title = document.getElementsByTagName("TITLE")[0].innerHTML;
				href = window.location.href;
				if (getMetaValue("WT.cg_s")) {
				
					sClipCat = getMetaValue("WT.cg_s");
				}
				else if (getMetaValue("DCSext.podcast_source")) {
				
					sClipCat = getMetaValue("DCSext.podcast_source");
				}
				if ( href.indexOf(":") > -1 ) {
					dcspro = href.substring( 0, href.indexOf(":") );
					dcsprot = href.substring( 0, href.indexOf(":") );
				}
				// Remove host-part 
				drex = new RegExp('http[s]?://[^/]+');
				hrex = new RegExp('(http[s]?://[^/]+)(.*)');
				dcssip = href.replace(hrex, '$1');
				dcssip = dcssip.replace(/http[s]?:\/\//, '');
				prodom = dcspro + "://" + dcssip;
				console.log("WT.ti: " + title + ", WT.clip_t: " + sClipT + ", DCSext.clip_st: " + sClipST + ", WT.clip_n: " + sClipN + ", DCSext.clip_cat: " + sClipCat + ", WT.dl: 81");
				dcsMultiTrack("WT.ti", title, "WT.clip_t", sClipT, "DCSext.clip_st", sClipST, "WT.clip_n", sClipN, "DCSext.clip_cat", sClipCat, "WT.dl", "81");
			}
			else if( href && dcsMultiTrack) {
				
				if ( href.indexOf(":") > -1 ) {
					dcspro = href.substring( 0, href.indexOf(":") );
					dcsprot = href.substring( 0, href.indexOf(":") );
				}
				// Remove host-part 
				drex = new RegExp('http[s]?://[^/]+');
				hrex = new RegExp('(http[s]?://[^/]+)(.*)');
				dcssip = href.replace(hrex, '$1');
				dcssip = dcssip.replace(/http[s]?:\/\//, '');
				prodom = dcspro + "://" + dcssip;
				href = href.replace(prodom, '');
				console.log("DCS.dcsuri: " + href + ", WT.ti: " + title + ", DCS.dcssip: " + dcssip);
				// alert("DCS.dcsuri: " + href + ", WT.ti: " + title + ", DCS.dcssip: " + dcssip);
				dcsMultiTrack('DCS.dcsuri', href, 'WT.ti', title, 'DCS.dcssip', dcssip);
			}
			
			
		} catch(e) {
			console.log("a.dcs:click: exception:: "+e);
		}
	},
	
	'a.rssdcs:click' : function(element, event) {
		try {
			while (element.nodeName.toUpperCase() != "A") {
				element = element.parentNode;
			}
			var title = element.readAttribute('title') || '';
			var feedname = "RSS_DE_" + title;
			var href = getHref(element);
			var dcssip = "";
			var dcspro = "";
			var dcsprot = "";
			var url = "";
				
			if( href && dcsMultiTrack) {
				
				if ( href.indexOf(":") > -1 ) {
					dcspro = href.substring( 0, href.indexOf(":") );
					dcsprot = href.substring( 0, href.indexOf(":") );
				}
				// Remove host-part 
				var drex = new RegExp('http[s]?://[^/]+');
				var hrex = new RegExp('(http[s]?://[^/]+)(.*)');
				dcssip = href.replace(hrex, '$1');
				dcssip = dcssip.replace(/http[s]?:\/\//, '');
				var prodom = dcspro + "://" + dcssip;
				href = href.replace(prodom, '');			
				url = window.location.href;
				url = url.substring(url.lastIndexOf("/") + 1, url.lastIndexOf("."));				
				href = "/rss/interessent/" + url + ".xml";
				title = "RSS Interessent - " + title;
				
				console.log("DCS.dcsuri: " + href + ", WT.ti: " + title + ", WT.rss_f: " + feedname + ", WT.rss_ev: s");
				// alert(href + " = " + title + " = " + feedname);
				dcsMultiTrack('DCS.dcsuri', href, 'WT.ti', title, 'WT.rss_f', feedname, 'WT.rss_ev', 's');
			}
		} catch(e) {
			console.log("a.rssdcs:click: exception:: "+e);
		}
	},
	
	'a.back:click': function(element, event) {
		history.back();		
		Event.stop(event);
	},
	
	'textarea.max-length-750:keyup': function(element, event) {
		if (element.value && element.value.length > 750) {
			element.value = element.value.substring(0, 750);
		}
	},
	
	'.hideonloaded:loaded' : function(element, event) {
		element.hide();
	},
	
	'a.showhidehreftarget:click' : function(element, event) {
		var oMyElement = element;

		if(element.tagName.toLowerCase() == 'img' && element.parentNode.tagName.toLowerCase() == 'a'){
			oMyElement = element.parentNode;
		}

		var href = oMyElement.getAttribute('href');
		var iContentId = href.match(/#(\w.+)/)[1];
		var oContentElement = $(iContentId);
		if(oContentElement.style.display == 'none') {
			oContentElement.style.display = 'block';
		} else {
			oContentElement.style.display = 'none';
		}
		Event.stop(event);
	},
	
	'.size3:click': function(element, event) {
		changeTextSize(element, '150%');
		Event.stop(event);
	},
	
	'.size2:click': function(element, event) {
		changeTextSize(element, '125%');
		Event.stop(event);
	},
	
	'.size1:click': function(element, event) {
		changeTextSize(element, '100%');
		Event.stop(event);
	},
	
	'#bwvButton:click': function(element, event) {
		// new Effect.toggle('bwvContent1', 'blind', {duration: 0.2})
		$('bwvContent1').toggle();
		$('directlinks').toggle();
		$('topnav').toggle();
		 Event.stop(event);
	},
	
	'.infoWasWo:click': function(element, event) {
		toggleBox(element.id, false);
		Event.stop(event);
	},
	
	'.infoWasWoCloseFinished:click': function(element, event) {
		toggleBox(element.id, true)
		Event.stop(event);
	}
	
};

function getMetaValue(sName) {

	var aoMeta = document.getElementsByTagName("META");
	for (var iMetaCount = 0; iMetaCount < aoMeta.length; ++iMetaCount) {
	
		var oMeta = aoMeta[iMetaCount];
		if (oMeta.name == sName) {
		
			return oMeta.content;
		}
	}
	return false;
}


// Fallback / Debug
if(!dcsMultiTrack) {
	var dcsMultiTrack = function(v1, href, v2, title, v3, dcssip) {
		// alert("dcsMultiTrack(): " + href + ", " + title + ", " + dcssip);
	}
}

function focusFirstFormField() {

	if ($("col3")) {
		var oForm = $("col3").getElementsByTagName("FORM")[0];
		if ($('lightWindow') && $('lightWindow').style.display == "block") {
		
			oForm = $('lightWindow').getElementsByTagName("FORM")[0];
		}
		if (oForm &&  oForm.id != "message_form") {
		
			for (var iElementCount = 0; iElementCount < oForm.elements.length; ++iElementCount) {
		
				var oCurrentElem = oForm.elements[iElementCount];
				
				if (
					(
					 (
					  (
					   (oCurrentElem.nodeName == "INPUT") && 
					   (
					    (oCurrentElem.type == "text") || 
						(oCurrentElem.type == "password") || 
						(oCurrentElem.type == "radio") || 
						(oCurrentElem.type == "checkbox")
					   )
					  ) || 
					  (oCurrentElem.nodeName == "TEXTAREA")
					 ) && 
					 (oCurrentElem.value == "") &&
					 (oCurrentElem.className.indexOf("nichtvorhanden") == -1)
					) || 
					(
					 (oCurrentElem.nodeName == "SELECT") && 
					 (oCurrentElem.id.indexOf("multiselect") == -1)
					)
				   ) {
				
					oCurrentElem.focus();
					break;
				}
			}
		}
	}
}


function toggleBox(sId, hide) {
	
	var sIdentifier;
		
	if (sId) {
		var iCount = sId.indexOf("_") + 1;
		if(iCount != -1) {
			sIdentifier = sId.substring(iCount, sId.length);
		}
	}
	
	if (sId.indexOf("update") != -1) {
		
		$('infoWasWoBoxUpdate_' + sIdentifier).toggle();
		//$('infoWasWoBoxUpdate_' + sIdentifier).style.zIndex = 9999999999999;

		if (hide) $("icon-update_" + sIdentifier).hide();
	}
	else {
		
		$('infoWasWoBox_' + sIdentifier).toggle();
		if (hide) $("icon_" + sIdentifier).hide();
	}
}


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; 
	}
}

function changeTextSize(element, percent) {
	//w3c = (document.getElementById);
	// body = (w3c)?document.getElementsByTagName('body')[0].style:document.all.tags('body')[0].style;
	// body.fontSize = percent;
	var sName = "fontsize";
	var sPath = "/";
	var sDomain = "www.suva.ch";
	deleteCookie (sName, sPath, sDomain);
	setCookie (sName, percent, 360, sPath, sDomain);
	$(document.body).setStyle({"font-size": percent});
}

function showTopLink(oElement){
	var iTop = 0;
	var iScreenHeight = document.documentElement.clientHeight;
	
	while (oElement)
	{
		iTop += parseInt(oElement.offsetTop);
		oElement = oElement.offsetParent;
	}
	
	if(iTop >= iScreenHeight){
		if ($("toplink")) {
			$("toplink").show();
		}
	}
}

// bakes a cookie

function setCookie (sName, sValue, iExpires, sPath, sDomain, bSecure ) {
	
	// set time in milliseconds
	var dtToday = new Date();
	dtToday.setTime (dtToday.getTime());
	
	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	
	if (iExpires) {
	
		iExpires = iExpires * 1000 * 60 * 60 * 24;
	}
	
	var dtExpiresDate = new Date (dtToday.getTime() + (iExpires));
	
	document.cookie = sName + "=" + escape(sValue) +
	((iExpires) ? ";expires=" + dtExpiresDate.toGMTString() : "" ) + 
	((sPath) ? ";path=" + sPath : "" ) + 
	((sDomain) ? ";domain=" + sDomain : "" ) +
	((bSecure) ? ";secure" : "" );
}

// gets the cookie, if it exists

function getCookie (sName) {
	
	var iStart = document.cookie.indexOf (sName + "=");
	var iLen = iStart + sName.length + 1;
	if ((!iStart) && (sName != document.cookie.substring(0, sName.length)))	{
	
		return null;
	}
	if (iStart == -1) {
	
		return null;
	}
	var iEnd = document.cookie.indexOf (";", iLen);
	if (iEnd == -1) {
	
		iEnd = document.cookie.length;
	}
	return unescape (document.cookie.substring(iLen, iEnd));
}

// deletes a cookie

function deleteCookie (sName, sPath, sDomain) {

	if (getCookie (sName)) {
	
		document.cookie = sName + "=" +
		((sPath) ? ";path=" + sPath : "") +
		((sDomain) ? ";domain=" + sDomain : "" ) +
		";expires=Thu, 01-Jan-1970 00:00:01 GMT";
	}
}


function getHref(element) {
	
	var sHref="";	
	while (element) {
		if (element.tagName.toLowerCase() == 'a' && element.href) {
			sHref = element.href;
			break;
		}
		else {
			element = element.parentNode;
		}
	}
	return sHref;
}


function characterCount(field, count, maxchars) {
	
	if (field.value.length >= maxchars) {
		field.value = field.value.substring(0, maxchars);
	} else {
		count.value = maxchars - field.value.length;
	}
}

// code yanked from the Yahoo media player. Thanks, Yahoo.
if (! ("console" in window) || !("firebug" in console)) {
    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group"
                 , "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
    window.console = {};
    for (var i = 0; i <names.length; ++i) window.console[names[i]] = function() {};
}