// Written 2005-2010 by Frank Blechschmitt, FBIS
// All Rights reserved.
//

function s2d_display_time(id) {
    var date = new Date();
    var hour = date.getHours();
    var minute = date.getMinutes();
	var second = date.getSeconds();
	
	var a = document.getElementsByName(id);
	for(var i=0; i<a.length; i++) {
		if(a[i].nodeName == 'DIV') {
			a[i].innerHTML = (hour < 10 ? '0' : '') + hour + ":" + (minute < 10 ? '0' : '') + minute + ":" + (second < 10 ? '0' : '') + second;
		}
	}
	var myId = id;
	setTimeout(function() { s2d_display_time(myId) }, 1000);
}

function s2d_display_date(id) {
	var date = new Date();
    var day = date.getDate();
    var month = date.getMonth() + 1;
    var year = date.getFullYear();
	var a = document.getElementsByName(id);
	for(var i=0; i<a.length; i++) {
		if(a[i].nodeName == 'DIV') {
			a[i].innerHTML = day + "." + month + "." + year;
		}
	}
}

function s2d_antispam_decode(text) {
	var dtxt=''; var txtc=0; var txtl=text.length;
	for(var i=0; i<txtl; i+=2) {
		txtc=parseInt(text.substr(i,2),16);
		dtxt+=String.fromCharCode(txtc);
	}
	return dtxt;
}
function OpenWindow(url, title, win_width, win_height) {
	var x,y;
	
	if(win_width==0) {
		win_width = 800;
	}
	if(win_height==0) {
		win_height = 600;
	}
	x = (screen.width / 2) - (win_width / 2);
	y = (screen.height / 2) - (win_height / 2);

	window.open(url,title,'resizable,width='+win_width+',height='+win_height+',top='+y+',left='+x+',toolbar=no,status=no');
}
function OpenWindowWithScrollbar(url, title, win_width, win_height) {
	var x,y;
	
	if(win_width==0) {
		win_width = 800;
	}
	if(win_height==0) {
		win_height = 600;
	}
	x = (screen.width / 2) - (win_width / 2);
	y = (screen.height / 2) - (win_height / 2);

	myWindow = window.open(url,title,"resizable,width="+win_width+",height="+win_height+",top="+y+",left="+x+",toolbars=no,scrollbars=yes,status=no");
}

function s2d_vertical_ticker(container, messages) {
	this.container = container;
	this.messages = messages;
	this.speed = 5;
	this.pause = 0;
	this.runstate = true;
	var myObject = this;
	this.init = function() {
		this.paint();
		setInterval(function() { myObject.scroll(); }, 50);
	}
	this.paint = function() {
		var viewport = document.getElementById(this.container);
		if(this.messages.length > 0 && viewport != null) {
			var element = document.createElement('div');
			with(element) {
				setAttribute('id', 's2d_vticker');
				setAttribute('name', 's2d_vticker');
				setAttribute('class', 's2d_vticker');
				innerHTML = this.messages[0];
			}
			with(element.style) {
				position = 'absolute';
				top = viewport.offsetHeight+'px';
			}
			viewport.appendChild(element);
			this.messages.shift();
		}
	}
	this.scroll = function() {
		var viewport = document.getElementById(this.container);
		var elements = document.getElementsByName('s2d_vticker');
		if(elements.length == 0) { 
			this.paint(); 
		} else {
			if(this.runstate) {
				for(i=0;i<elements.length;i++) {
					var element = elements[i];
					with(element) {	
						if((offsetTop + offsetHeight >= viewport.offsetHeight && offsetTop < viewport.offsetHeight) && offsetTop + offsetHeight -this.speed < viewport.offsetHeight) { this.paint(); }
						if(offsetTop <= this.speed && offsetTop > 0) { if(this.pause > 0) { this.run(false); setTimeout(function() { myObject.run(true); }, this.pause); } }
						if(offsetTop + offsetHeight > 0) { style.top = (parseInt(style.top) - this.speed)+'px'; } else { viewport.removeChild(element); }
					}
				}
			}
		}
	}	
	this.run = function(state) {
		this.runstate = state;
	}
}

function s2d_horizontal_ticker(container, messages) {
	this.container = container;
	this.messages = messages;
	this.speed = 5;
	this.pause = 0;
	this.runstate = true;
	var myObject = this;
	this.init = function() {
		this.paint();
		setInterval(function() { myObject.scroll(); }, 50);
	}
	this.paint = function() {
		var viewport = document.getElementById(this.container);
		if(this.messages.length > 0 && viewport != null) {
			var element = document.createElement('nobr');
			with(element) {
				setAttribute('id', 's2d_hticker');
				setAttribute('name', 's2d_hticker');
				setAttribute('class', 's2d_hticker');
				innerHTML = this.messages[0];
			}
			with(element.style) {
				position = 'absolute';
				left = viewport.offsetWidth+'px';
			}
			viewport.appendChild(element);
			this.messages.shift();
		}
	}
	this.scroll = function() {
		var viewport = document.getElementById(this.container);
		var elements = document.getElementsByName('s2d_hticker');
		if(elements.length == 0) { 
			this.paint(); 
		} else {
			if(this.runstate) {
				for(i=0;i<elements.length;i++) {
					var element = elements[i];
					with(element) {	
						if((offsetLeft + offsetWidth >= viewport.offsetWidth && offsetLeft < viewport.offsetWidth) && offsetLeft + offsetWidth -this.speed < viewport.offsetWidth) { this.paint(); }
						if(offsetLeft <= this.speed && offsetLeft > 0) { if(this.pause > 0) { this.run(false); setTimeout(function() { myObject.run(true); }, this.pause); } }
						if(offsetLeft + offsetWidth > 0) { style.left = (parseInt(style.left) - this.speed)+'px'; } else { viewport.removeChild(element); }
					}
				}
			}
		}
	}
	this.run = function(state) {
		this.runstate = state;
	}
}