/*********************************************** 
* Common javascript stuff © System Profes Oy (www.systemprofes.fi)
* Author: Antti Tuppurainen 
* Created: 18.11.2003
***********************************************/
function PopupPic(sPicURL) {
	window.open("image.i?"+sPicURL, "", "resizable=1,HEIGHT=200,WIDTH=200");
}

/*********************************************** 
* Cancel function with confirmation stuff © System Profes Oy (www.systemprofes.fi)
* Author: Antti Tuppurainen 
* Created: 28.04.2004
***********************************************/
function peruuta(){
	var vahvistus = confirm("Oletko varma, että tahdot peruuttaa ja menettää kaiken tallentamattoman tiedon?\nVastaamalla 'kyllä' siirryt memon etusivulle");
	if (vahvistus == true) {
		document.location.href="memo.i";
	}
}
/***********************************************
* Switch Content script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use. Last updated Oct 21st, 2003.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
var enablepersist="on" //Enable saving state of content structure using session cookies? (on/off)
var collapseprevious="no" //Collapse previously open content when opening present? (yes/no)

if (document.getElementById){
	document.write('<style type="text/css">')
	document.write('.switchcontent{display:block;}')
	document.write('</style>')
}

function getElementbyClass(classname){
ccollect=new Array()
var inc=0
var alltags=document.all? document.all : document.getElementsByTagName("*")
	for (i=0; i<alltags.length; i++){
		if (alltags[i].className==classname)
		ccollect[inc++]=alltags[i]
	}
}

function contractcontent(omit){
var inc=0
while (ccollect[inc]){
	if (ccollect[inc].id!=omit)
		ccollect[inc].style.display="none"
	inc++
	}
}

function expandcontent(cid){
if (typeof ccollect!="undefined"){
	if (collapseprevious=="yes")
	contractcontent(cid)
	document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none"
	}
}

function revivecontent(){
contractcontent("omitnothing")
selectedItem=getselectedItem()
selectedComponents=selectedItem.split("|")
	for (i=0; i<selectedComponents.length-1; i++)
		document.getElementById(selectedComponents[i]).style.display="block"
}

function get_cookie(Name) { 
var search = Name + "="
var returnvalue = "";
	if (document.cookie.length > 0) {
		offset = document.cookie.indexOf(search)
		if (offset != -1) { 
		offset += search.length
		end = document.cookie.indexOf(";", offset);
			if (end == -1) end = document.cookie.length;
			returnvalue=unescape(document.cookie.substring(offset, end))
			}
		}
	return returnvalue;
}

function getselectedItem(){
	if (get_cookie(window.location.pathname) != ""){
		selectedItem=get_cookie(window.location.pathname)
		return selectedItem
	} else {
		return ""
	}
}

function saveswitchstate(){
var inc=0, selectedItem=""
	while (ccollect[inc]){
		if (ccollect[inc].style.display=="block")
		selectedItem+=ccollect[inc].id+"|"
		inc++
		}
	document.cookie=window.location.pathname+"="+selectedItem
}

function do_onload(){
getElementbyClass("switchcontent")
	if (enablepersist=="on" && typeof ccollect!="undefined")
	revivecontent()
}

if (window.addEventListener)
	window.addEventListener("load", do_onload, false)
	else if (window.attachEvent)
		window.attachEvent("onload", do_onload)
		else if (document.getElementById)
		window.onload=do_onload
	if (enablepersist=="on" && document.getElementById)
window.onunload=saveswitchstate

/*********************************************** 
*
/**********************************************/
function debugDOMUpwards(e) {
	if (e != null && e.parentNode != null) {
		var ee = e.parentNode;
		alert ("debugDOMUPwards: "+ee+" | "+ee.tagName);
		debugDOMUpwards(ee);
	}
}

/*********************************************** 
* Toggle Checkboxes and change the style of a row
* Author: Antti Tuppurainen © System Profes Oy (www.systemprofes.fi)
* Created: 24.11.2003
*
* Form name and id should be "sorttable"
* input type checkbox name should be allways "mID"
***********************************************/
function Toggle(e, formObj, fieldName){
	if (e.checked){
	    Highlight(e);
        formObj.toggleAll.checked = AllChecked(formObj, fieldName);
	} else {
	    Unhighlight(e);
	    formObj.toggleAll.checked = false;
	}
}

function ToggleAll(e, fieldName){
	//Sijoitetaan parametri muuttujaan "tableName"
	var tableName = e;
	if (tableName.checked) {
	    CheckAll(tableName, fieldName);
		//alert("debug checkAll " +tableName);
	} else {
	    ClearAll(tableName, fieldName);
		//alert("debug clearAll " +tableName);
	}
}

function Check(e){
	e.checked = true;
	Highlight(e);
}
	
function Clear(e){
	e.checked = false;
	Unhighlight(e);
}

function CheckAll(tableName, fieldName){
	var ml = tableName;
	//alert (ml);
	var len = tableName.elements.length;
	for (var i = 0; i < len; i++) {
	    var e = tableName.elements[i];
	    if (e.name == fieldName) {
		Check(e);
	    }
	}
	tableName.toggleAll.checked = true;
}

function ClearAll(tableName, fieldName){
	var ml = tableName;
	//alert(tableName);
	var len = tableName.elements.length;
	for (var i = 0; i < len; i++) {
	    var e = tableName.elements[i];
	    if (e.name == fieldName) {
		Clear(e);
	    }
	}
	tableName.toggleAll.checked = false;
}

function Highlight(e) {
var r = null;
	if (e.parentNode && e.parentNode.parentNode) {
		r = e.parentNode.parentNode;
	}	
	else if (e.parentElement && e.parentElement.parentElement) {
		r = e.parentElement.parentElement;
	}
	if (r) {
		if (r.className == "row") {
			r.className = "rows";
		}// else if (r.className == "alternateRow") {
		//	r.className = "alternateRows";
		//}
	}
}

function Unhighlight(e){
var r = null;
	if (e.parentNode && e.parentNode.parentNode) {
		r = e.parentNode.parentNode;
	}	
	else if (e.parentElement && e.parentElement.parentElement) {
		r = e.parentElement.parentElement;
	}
	if (r) {
		if (r.className == "rows") {
		r.className = "row";
		}// else if (r.className == "alternateRows") {
		//	r.className = "alternateRow";
		//}
	}
}

function AllChecked(formObj, fieldName){
	len = formObj.elements.length;
	for(var i = 0 ; i < len ; i++) {
	    if (formObj.elements[i].name == fieldName && !formObj.elements[i].checked) {
		return false;
	    }
	}
	return true;
}
/*********************************************** 
* Common javascript stuff generated by macromedia dreamweaver MX 2004
* Author: Antti Tuppurainen © System Profes Oy (www.systemprofes.fi)
* Created: 02.12.2003
***********************************************/
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);


function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_jumpMenu(targ,selObj,restore){ 
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  	if (restore) selObj.selectedIndex=0;
}

function MM_jumpMenuGo(selName,targ,restore){ 
  	var selObj = MM_findObj(selName);
	if (selObj) MM_jumpMenu(targ,selObj,restore);
}

function MM_setTextOfLayer(objName,x,newText) { //v4.01
  if ((obj=MM_findObj(objName))!=null) with (obj)
    if (document.layers) {document.write(unescape(newText)); document.close();}
    else innerHTML = unescape(newText);
}
/*********************************************** 
* Count for words and charachters in textarea
* Author: Antti Tuppurainen © System Profes Oy (www.systemprofes.fi)
* Created: 08.12.2003
***********************************************/
/* Example:  
 <textarea name="name" 
	onkeydown="wordCounter(this.form.name,this.form.remLen,100);" 
	onKeyUp="wordCounter(this.form.name,this.form.remLen,100);">
  </textarea>
  Words remaining: <input type=box readonly name=remLen size=3 value=100>
*/
function wordCounter(field, countfield, maxlimit) {
wordcounter=0;
for (x=0;x<field.value.length;x++) {
      if (field.value.charAt(x) == " " && field.value.charAt(x-1) != " "){
      		wordcounter++
      	}  // Counts the spaces while ignoring double spaces, usually one in between each word.
      	if (wordcounter > 250) {
      		field.value = field.value.substring(0, x);
      	} else {countfield.value = maxlimit - wordcounter;}
      }
}

function textCounter(field, countfield, maxlimit) {
  if (field.value.length > maxlimit)
      {
      	field.value = field.value.substring(0, maxlimit);
      } else {
      	countfield.value = maxlimit - field.value.length;
      }
}

/*********************************************** 
* Make more form elements to one form
* Author: Antti Tuppurainen © System Profes Oy (www.systemprofes.fi)
* Created: 08.12.2003
***********************************************/
var formcounter = 0;

function moreFields()
{
	formcounter++;
	var newFields = document.getElementById('readroot').cloneNode(true);
	newFields.id = '';
	newFields.style.display = 'block';
	var newField = newFields.childNodes;
	for (var i=0;i<newField.length;i++)
	{
		var theName = newField[i].name
		if (theName)
			newField[i].name = theName;
	}
	var insertHere = document.getElementById('writeroot');
	insertHere.parentNode.insertBefore(newFields,insertHere);
}

function init()
{
	moreFields();
}