var userAgent = window.navigator.userAgent;
var browserVers = parseInt(userAgent.charAt(userAgent.indexOf("/")+1),10);
var mustInitImg = true;
var preloadFlag = false;

function newImage(arg) {
	if (document.images) {
		var rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function initImgID() {var di = document.images; if (mustInitImg && di) { for (var i=0; i<di.length; i++) { if (!di[i].id) di[i].id=di[i].name; } mustInitImg = false;}}

function findElement(n,ly) {
	var d = document;
	if (browserVers < 4) return d[n];
	if ((browserVers >= 6) && (d.getElementById)) {initImgID; return(d.getElementById(n))}; 
	var cd = ly ? ly.document : d;
	var elem = cd[n];
	if (!elem) {
		for (var i=0;i<cd.layers.length;i++) {
			elem = findElement(n,cd.layers[i]);
			if (elem) return elem;
		}
	}
	return elem;
}

function changeImagesArray(array) {
	if (preloadFlag == true) {
		var d = document; var img;
		for (var i=0;i<array.length;i+=2) {
			img = null; var n = array[i];
			if (d.images) {
				if (d.layers) {img = findElement(n,0);}
				else {img = d.images[n];}
			}
			if (!img && d.getElementById) {img = d.getElementById(n);}
			if (!img && d.getElementsByName) {
				var elms = d.getElementsByName(n);
				if (elms) {
					for (j=0;j<elms.length;j++) {
						if (elms[j].src) {img = elms[j]; break;}
					}
				}
			}
			if (img) {img.src = array[i+1];}
		}
	}
}

function changeImages(id, img) {
	changeImagesArray([id,img]);
}

var startList = function() {
if (document.all&&document.getElementById) {
//matches = getElementsByClassName("nav");
matches = $$('li.nav');
for (i=0; i<matches.length; i++) {
node = matches[i];
if (node.nodeName=="LI") {
node.onmouseover=function() {
this.className+=" over";
  }
  node.onmouseout=function() {
  this.className=this.className.replace(" over", "");
   }
   }
  }
 }
}

function maxlength_warning (e, maxlength)
{
	var form_and_field = e.form.id+'-'+e.id;
	var maxlength_id = 'maxlength-'+form_and_field;
	var curlength = e.value.length;
	
	// Get the correct length of the string in the DB for Firefox. Firefox counts newline as 1 character.
	if (e.value.indexOf('\r\n') == -1)
	{
		var nls = e.value.split(/\n/).length-1;
		if (nls > 0)
		{
			curlength += nls;
		}
	}
	
	if (curlength > maxlength - 50 || $(maxlength_id))
	{
		var maxlength_warning = 'Kommentin maksimipituus on '+maxlength+' merkkiä. ';
		var diff = maxlength - curlength;
		if (diff >= 0)
		{
			maxlength_warning += 'Merkkejä voit lisätä vielä '+diff+' kpl.';
		}
		else
		{
			maxlength_warning += 'Merkkejä pitää poistaa '+(-diff)+' kpl.';
		}
		
		if ($(maxlength_id))
		{
			$(maxlength_id).update (maxlength_warning);
		}
		else
		{
			$(e.id).insert ({after: '<div id="'+maxlength_id+'">'+maxlength_warning+'</div>'});
		}
	}
}