var W3CDOM = (document.createElement && document.getElementsByTagName);

var xmlhttp = new XMLHttpRequest();

var mouseOver = new Array();
var mouseOut = new Array();

var z = 0;


/*
document.getElementsByClassName = function(clsName,tag) {
	var retVal = new Array();

	if (tag == null)
		tag="*"; 

	var elements = document.getElementsByTagName(tag);
	for(var i = 0;i < elements.length;i++) {
		var classes = elements[i].className.split(" ");
		for(var j = 0;j < classes.length;j++) {
			if(classes[j] == clsName)
				retVal.push(elements[i]);
		}
	}
	return retVal;
}*/
	

function init() {
	if (!W3CDOM) return;
	pngfix();
	attachjs('menu');
	attachjs('submenu');
	attachjs('scroll');
	//replacelink('navi');
	checkheight();
}

function attachjs(element) {
	var menu = document.getElementById(element);
	var img = menu.getElementsByTagName('img');
	
	for (i=0; i<img.length; i++) {
		if (!img[i].src.match("_over")) {
			img[i].onmouseover = swapon;
			img[i].onmouseout = swapoff;
			
			var suffix = img[i].src.substring(img[i].src.lastIndexOf('.'));
			mouseOut[z] = new Image();
			mouseOut[z].src = img[i].src;
			mouseOver[z] = new Image();
			mouseOver[z].src = img[i].src.substring(0,img[i].src.lastIndexOf('.')) + "_over" + suffix;
			img[i].number = z;
			z++;
		}
	}
}

function swapon() {
	this.src = mouseOver[this.number].src;
}

function swapoff() {
	this.src = mouseOut[this.number].src;
}

function replacelink(element) {
	var rpl = document.getElementById(element);
	var lnks = rpl.getElementsByTagName('a');
	
	for (i=0;i<lnks.length;i++)
		lnks[i].onclick = function () { requestXMLHTTPURL(this.href+'?pp') ; return false;};
}

function requestXMLHTTPURL(uri) {
	var content = document.getElementById('fullcontent');
	xmlhttp.open("GET",uri,true);
	
	content.innerHTML = '';
	
	document.getElementById('content').scrollTop = '0px';
	
	xmlhttp.onreadystatechange = function () {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			content.innerHTML = ''+ xmlhttp.responseText;
			pngfix();
			checkheight();
		}
	}
	xmlhttp.send(null);
}

function flip(obj,nr) {
	/*
	var navi = document.getElementById('navi');
	var tbl = navi.getElementsByTagName('table');
	
	if (obj.src.match("_uit")) {
		obj.src = "gfx/menu_in.gif";
		for (i=0;i<tbl.length;i++)
			if (tbl[i].className.match(nr))
				tbl[i].style.display = 'none';
	} else {
		obj.src = "gfx/menu_uit.gif";
		for (i=0;i<tbl.length;i++)
			if (tbl[i].className.match(nr))
				tbl[i].style.display = 'block';
	}
	*/
	return false;
}

function showimage(nm,doc) {
	var div = document.getElementById(nm);
	var placeholder = document.getElementById('imgframe');
	var docdiv = document.getElementById('download');
	placeholder.style.display = 'block';
	
	if (div.style.visibility != 'visible') {
		if (doc != '')
			docdiv.innerHTML = ''+doc;
		div.style.opacity = 0;
		div.style.filter='alpha(opacity=0)';
		div.style.visibility = 'visible';
		fadein(div,0,1);
	} else
		fadeout(div,10,1);
}

function hideimage(obj) {
	var docdiv = document.getElementById('download');
	docdiv.innerHTML = '<!-- -->';
	fadeout(obj,10,1);
}

function fadein(div,op,dir) {
	op+=dir;
	if (op<=10 && op>=0) {
		div.style.opacity=op/10;
		div.style.filter='alpha(opacity='+op*10+')';
		if (op>0 && op<10)
			setTimeout(function() { fadein(div,op,dir); },25);
	}
}

function fadeout(div,op,dir) {
	op-=dir;
	if (op<=10 && op>=0) {
		div.style.opacity=op/10;
		div.style.filter='alpha(opacity='+op*10+')';
		if (op>0 && op<10)
			setTimeout(function() { fadeout(div,op,dir); },25);
	}
	if (op == 0) {
		div.style.visibility = 'hidden';
		var placeholder = document.getElementById('imgframe');
		placeholder.style.display = 'none';
	}
}

function changecolor(div,col) {
	txt = document.getElementById(div);
	txt.style.color = col;
}

function pngfix() {
	var arVersion = navigator.appVersion.split("MSIE")
	var version = parseFloat(arVersion[1])
	
	if ((version >= 5.5) && (document.body.filters)) 
	{
	   for(var i=0; i<document.images.length; i++)
	   {
	      var img = document.images[i]
	      var imgName = img.src.toUpperCase()
	      if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
	      {
	         var imgID = (img.id) ? "id='" + img.id + "' " : ""
	         var imgClass = (img.className) ? "class='" + img.className + "' " : ""
	         var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
	         var imgStyle = "display:inline-block;" + img.style.cssText 
	         if (img.align == "left") imgStyle = "float:left;" + imgStyle
	         if (img.align == "right") imgStyle = "float:right;" + imgStyle
	         if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
	         var strNewHTML = "<span " + imgID + imgClass + imgTitle
	         + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
	         + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
	         + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
	         img.outerHTML = strNewHTML
	         i = i-1
	      }
	   }
	}
}

var loop;

function checkheight() {
	var maxheight = '326';
	
	var full = document.getElementById('fullcontent');
	var scroll = document.getElementById('scroll');
	
	if (full.offsetHeight > maxheight) {
		scroll.style.visibility = 'visible';
		loop = new TextScroll('loop','content','up','down');
	} else
		scroll.style.visibility = 'hidden';
}

function TextScroll(scrollname, div_name, up_name, down_name) {
	this.div_name = div_name;
	this.name = scrollname;
	this.scrollCursor = 0;
	this.speed = 8;
	this.timeoutID = 0;
	this.div_obj = null;
	this.up_name = up_name;
	this.dn_name = down_name;
	
	{
		if (document.getElementById) {
			div_obj = document.getElementById(this.div_name);
			if (div_obj) {
				this.div_obj = div_obj;
				this.div_obj.style.overflow = 'hidden';
			}
			div_up_obj = document.getElementById(this.up_name);
			div_dn_obj = document.getElementById(this.dn_name);
			if (div_up_obj && div_dn_obj) {
				div_up_obj.onmouseover = function() { eval(scrollname + ".scrollUp();") };
				div_up_obj.onmouseout = function() { eval(scrollname + ".stopScroll();") };
				
				div_dn_obj.onmouseover = function() { eval(scrollname + ".scrollDown();") };
				div_dn_obj.onmouseout = function() { eval(scrollname + ".stopScroll();") };
         }
     }
	}

	this.stopScroll = function() {
		clearTimeout(this.timeoutID);
	}

	this.scrollUp = function() {
		if (this.div_obj) {
			this.scrollCursor = (this.scrollCursor - this.speed) < 0 ? 0 : this.scrollCursor - this.speed;
			this.div_obj.scrollTop = this.scrollCursor;
			this.timeoutID = setTimeout(this.name + ".scrollUp()", 60);
		}
	}

	this.scrollDown = function() {
		if (this.div_obj) {
			this.scrollCursor += this.speed;
			this.div_obj.scrollTop = this.scrollCursor;
			if (this.div_obj.scrollTop == this.scrollCursor)
				this.timeoutID = setTimeout(this.name + ".scrollDown()", 60);
			else
				this.scrollCursor = this.div_obj.scrollTop;
		}
	}

	this.resetScroll = function() {
		if (this.div_obj) {
			this.div_obj.scrollTop = 0;
			this.scrollCursor = 0;
		}
	}
}

function showproperty(elid,pageid) {
	var p = document.getElementById('propertiespage');
	var x = new XMLHttpRequest();
	x.open("GET","property.php?pageid="+pageid+"&pid="+elid,false);
	x.send("");
	p.innerHTML=x.responseText;
}