function Functions() {
	var self = this;
	var imageobject;
	var opacity;
	var oid;
	var divid;
	var urlname;
	var also = false;
	var cntval;
	var fobj;
	var cat_id;
	this.menu = false;
	this.unixtimeonparty = false;
	this.beforeparty = false;
	this.lang = false;

	this.init = function() {
		var elms = document.getElementById('footer').getElementsByTagName('img');
		for (i = 0;i<elms.length;i++) {
			if (elms[i].getAttribute('logo')) {
				self.changeopacity(elms[i],50);
			}
		}
		self.lang = self.lang - 1;
		var lang = Number(!self.lang);
		var elms = document.getElementById('page').getElementsByTagName('div');
		for (i = 0; i<elms.length; i++) {
			if (elms[i].className && elms[i].className == 'languages') {
				elms[i].getElementsByTagName('a')[lang].className = 'active';
			}
		}
	}
	this.countclock = function() {
		if (document.getElementById('page')) {
			var lang = Number(!self.lang);
			var elms = document.getElementById('page').getElementsByTagName('div');
			for (i = 0; i<elms.length; i++) {
				if (elms[i].className && elms[i].className == 'languages') {
					elms[i].getElementsByTagName('a')[lang].className = 'active';
				}
			}
		}
		var utime = time();
		var result = self.unixtimeonparty - utime;
		if (result > 0) {
			self.beforeparty = self.createtime(result);
			if (document.getElementById('beforeparty')) {
				document.getElementById('beforeparty').innerHTML = self.beforeparty;
			}
			setTimeout('func.countclock();',1000);
		}
	}
	this.createtime = function(seconds) {
		if (seconds) {
			var m = Math.floor(seconds/60);
			var s = Math.floor(seconds%60);
			var h = Math.floor(m/60);
			var d = Math.floor(h/24);
			d = Math.floor(d%24);
			m = Math.floor(m%60);
			h = Math.floor(h%24);
			m = m.toString();
			s = s.toString();
			h = h.toString();
			d = d.toString();
			if (m.length == 1) { m = '0'+m; }
			if (s.length == 1) { s = '0'+s; }
			if (d.length == 1) { d = '0'+d; }
			if (h.length == 1) { h = '0'+h; }
			return '<span class="big">'+d+'</span> days , <span class="big">'+h+'</span> h. <span class="big">'+m+'`'+s+'``</span>';
		}
		return '00:00';
	}
	this.changepage = function(cat_id,fobj) {
		var elms = document.getElementById('menu-cnt').getElementsByTagName('a');
		for (i = 0;i < elms.length; i++) {
			if (elms[i].className) { elms[i].className = ''; }
		}
		fobj.className = 'active';
		self.writeindiv('page','index.php?mod=page&cat_id='+cat_id);
	}
	this.changesub = function(cat_id,fobj) {
		var elms = document.getElementById('subs').getElementsByTagName('a');
		for (i = 0;i < elms.length; i++) {
			if (elms[i].className) { elms[i].className = ''; }
		}
		fobj.className = 'active';
		self.writeindiv('page','index.php?mod=page&cat_id='+cat_id);
	}
	this.changeopacity = function(imageobject, opacity) {
		if (imageobject) {
			if (navigator.appName.indexOf("Netscape")!=-1&&parseInt(navigator.appVersion)>=5) {
				imageobject.style.MozOpacity=opacity/100;
			}
			else if (navigator.appName.indexOf("Microsoft")!=-1&&parseInt(navigator.appVersion)>=4) {
				imageobject.style.filter = 'alpha(opacity='+opacity+')';
			}
			imageobject.style.opacity = opacity/100;
		}
	}
	this.writeindiv = function(divid,urlname,also) {
		var xmlhttp=CreateHttpRequestObject();
		var url = urlname;
		xmlhttp.onreadystatechange=function() {
			if (xmlhttp.readyState==4) {
				var content = xmlhttp.responseText;
				if(content) {
					if (also == 'also') {
						document.getElementById(divid).innerHTML += content;
					}
					else {
						document.getElementById(divid).innerHTML = content;
					}
				}
			}
		}
		xmlhttp.open('GET', url, true);
		xmlhttp.send(null);
	}

	this.findPosX = function(fobj) {
		var curleft = 0;
		if(fobj.offsetParent)
		while(1) {
			curleft += fobj.offsetLeft;
			if(!fobj.offsetParent)
			break;
			fobj = fobj.offsetParent;
		}
		else if(fobj.x)
		curleft += fobj.x;
		return curleft;
	}
	this.findPosY = function(fobj) {
		var curtop = 0;
		if(fobj.offsetParent)
		while(1) {
			  curtop += fobj.offsetTop;
			  if(!fobj.offsetParent)
			  break;
			  fobj = fobj.offsetParent;
		}
		else if(fobj.y)
		curtop += fobj.y;
		return curtop;
	}
}
function CreateHttpRequestObject()
{
	var http_request=false;

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) http_request.overrideMimeType('text/xml');
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
			}			
		catch (e) {
		try {
			http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
		catch (e) {}
		}
	}

	return http_request;
}
var func = new Functions();
