/*
	property of Marcel Lucas, marcel.lucas@web.de :P
*/

WorldZ = {
	DISABLE_BANNER: false
};
Toplist = {};
Cookie = {};

WorldZ.initialize = function(){
	//form input elements onClick function
	WorldZ.Inputs.setBehaviour();
	
	//Toggle MenuItems - unfortunately never used
	//WorldZ.Menu.setBehaviour(); 
	
	// activates FlashElement in IE
	WorldZ.activateFlashElement();
	
	if(WorldZ.DISABLE_BANNER)document.getElementById('tpl-page-banner').style.display = 'none';
}

WorldZ.Inputs = {
	setBehaviour: function(){
		var inputs = Globals.getElementsByClassName('login_form');
		for(var i=0; i<inputs.length; i++){
			if(inputs[i].type=='text' || inputs[i].type=='password'){
				inputs[i].onclick = Globals.createDelegate(inputs[i],WorldZ.Inputs.onClick);
				inputs[i].onblur = Globals.createDelegate(inputs[i],WorldZ.Inputs.onBlur);
			}
		}
	},
	
	onClick: function(){
		if(this.value.match(/username|password|message/gi)){
			this.defaultValue = this.value;
			this.value = '';
		}
	},
	
	onBlur: function(){
		if(!this.value)this.value=this.defaultValue;
	}
}

WorldZ.Menu = {
	setBehaviour: function(){
		var elements = Globals.getElementsByClassName('navigation_list autoh');
		for(var i=0; i<elements.length; i++){
			var div = elements[i].getElementsByTagName('div')[0];
			elements[i].onclick = Globals.createDelegate(div,WorldZ.Menu.onClick);
		}
	},
	
	onClick: function(){
		this.style.display = this.style.display!='none' ? 'none':'block' ;
	}
}

WorldZ.activateFlashElement = function(){
	var d = document.getElementsByTagName('object');
	for(i=0; i<d.length; i++){
		d[i].outerHTML = d[i].outerHTML;
	}
}

WorldZ.scroll = function(num){
	i = WorldZ.iterator++;
	j = i//Math.ceil(10*(Math.sin(i/10)+1));
	obj = WorldZ.scrollObj;
	var pos = parseInt(Globals.getStyle(obj).top);
	
	if(WorldZ.scrollup){
		if(pos>num)moveby = -10;
		else WorldZ.scrollDestroy();
	}
	else {
		if(pos<num)moveby = 10;
		else WorldZ.scrollDestroy();
	}
	
	if(WorldZ.scrollInterval){
		obj.style.top = (pos+moveby)+'px';
		d = document.getElementById('tpl-page-content');
		d.style.marginTop = (230+pos+moveby)+'px';
	}
}

WorldZ.scrollupdown = function(obj){
	WorldZ.scrollup = !WorldZ.scrollup;
	WorldZ.scrollObj = obj;
	dir = WorldZ.scrollup ? -170 : -20;
	
	WorldZ.scrollInterval = setInterval('WorldZ.scroll('+dir+')',25);
}

WorldZ.scrollDestroy = function(){
	clearInterval(WorldZ.scrollInterval);
	WorldZ.iterator = 0;
}

WorldZ.scrollup = false;
WorldZ.scrollIntervall = null;
WorldZ.iterator = 0;

Cookie.isAllowed = function(){
	Cookie.set('__enabled__',true);
	bool = Cookie.get('__enabled__')=='true';
	Cookie.destroy('__enabled__');
	return bool;
};

Cookie.get = function(){
	var args = Cookie.get.arguments;
	var cookievararr;
	var cookiestring = document.cookie.split(';');
	
	for(i=0; i<cookiestring.length; i++){
		cookievararr = cookiestring[i].split('=');
		eval("Cookie."+cookievararr[0]+"='"+cookievararr[1]+"'");
	}
	
	return args[0] ? Cookie[args[0]] : true;
}

Cookie.set = function(name, value, expires, path, domain, secure) {
	var today = new Date();
	today.setTime( today.getTime() );
	if(!expires)expires = 0;

	if(expires)expires = expires * 1000 * 60 * 60;
	var expires_date = new Date( today.getTime() + (expires) );

	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

Cookie.destroy = function(){
	var args = Cookie.destroy.arguments;
	if(args.length>0){
		for(i=0; i<args.length; i++)Cookie.set(args[i],false,0.001);
	}
	else {
		Cookie.get();
		for(i in Cookie){
			type = typeof(Cookie[i]);
			if(type=='string' || type=='array'){
				Cookie.set(Cookie[i],Cookie.get(i),0.001);
			}
		}
	}
}

Toplist.picexpand = function(obj){
	anim = new Picanimation(obj);
	anim.toSize(468,68);
}

Toplist.piccollapse = function(obj){
	anim = new Picanimation(obj);
	anim.toSize(429,68);
}

Picanimation = function(obj){
	this.obj = obj;
	this.width = obj.style.width;
	this.height = obj.style.height;
	this.token = null;	
	this.speed = 25;
}

Picanimation.prototype.toSize = function(w,h){
	//this.obj.style.width = w+'px';
	/*self = this;
	
	width = parseInt(this.obj.style.width);
	height = parseInt(this.obj.style.height);
	
	num = w>width ? -2 : 2 ;
	
	this.obj.style.width = (width+num)+'px';
	if(w>width)setTimeout("self.toSize("+w+","+h+")",this.speed);
	//setTimeout();*/
}

