﻿// JavaScript Document
function MoveWithKeyboard(e)
{
	var code;
	if (!e) var e = window.event;
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;
    
    if(code == 39)
    {
      gnp();
    }
    if(code == 37)
    {
      gpp();
    }
}
document.onkeyup = MoveWithKeyboard
//sets powered by layer position:



//this function changes text for TextOperation textfield on mouseover.
function showTextOperation(strTitle){
	//document.getElementById('TextOperation').value = strTitle;
	return true;
}

//!for 
function currentOp(){
	return document.big_form.operation.value;
}

//can this html page to be printed?
function canPrint(){
	if (currentOp() == 'tonotepage' || currentOp() == 'contents'){
		return true;
	}else{
		return false;
	}
}

function getThePg(intNum){
	return parseInt(intNum+intPageNr1-1);
}

function isOnHTMLPageNow(){	   
	if (currentOp() == 'sitemap' || currentOp() == 'contents' || currentOp() == 'downloadpdf' || currentOp() == 'search' ||  currentOp() == 'tonotepage'){
		return true;	
	}else{
		return false;
	}
}

var varRequiresSubmit = -1;//false=0, true=1
function requiresSubmit(intNum, strOp){
	if (isOnHTMLPageNow()) {
		//return true;
		varRequiresSubmit = 1;
	} else {// in the AR.img page now
		if (isHTMLPage(intNum)) {// img -> html
			//return true;
			varRequiresSubmit = 1;
		}else {// img -> img
			//return false;
			varRequiresSubmit = 0;
		}
	}
	return false;
}

function isHTMLPage(intNum){
	var retValue = false;
	if(isNotePage(intNum)){
		retValue = true;
	}else if (intNum==intContentsIndex){
		retValue = true;
	}else{
		retValue = false;
	}
	return retValue;
}

//arrNoteNums, arrNotePageNum
function getPageNumForNotenum(notenum){
	var i;	
	//alert(notenum);
	for(i = 0; i < arrNotes.length; i++){
		if(((new String(arrNotes[i][1])).search('^'+notenum+'$'))>=0){			
			//alert('succesful search=arrNotes['+i+'][0]='+arrNotes[i][1]);
			break;
		}
	}
	//alert('intPageNr1='+intPageNr1+',arrNotes['+i+'][0]='+arrNotes[i][0]+', topage: '+(parseInt(arrNotes[i][0])+intPageNr1-1));
	return parseInt(arrNotes[i][0])+intPageNr1-1;
}

function isNotePage(intNum){
	if(arrNoteFiles.length>0){
		for(var i=0;i<arrNoteFiles.length;i++){
			if(arrNoteNum[i]==intNum){
				return true;
				break;
			}
		}
	}else{
		return false;
	}
}


function help(strUrl){
	a=window.open(escape(strUrl),'miniwin','width=550, height=560, toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1');
}



// *****************************************************************************
// ***  jump menu functions ****************************************************

function downloadfile(){
	//alert('downloadfile');
}

function doDownload(){
	parent.text.location = "download.htm";
}


function doSearch(){
	//alert(document.searchform.freesearch.value);	 
	//document.big_form.operation.value='search';
	string=document.searchform.freesearch.value;	
	//alert(document.big_form.operation.value);
	go_page_search="results.html?d=" + encodeURI(string) + "&n=0";
	parent.text.location = go_page_search
	//document.big_form.submit();
}

//strArType_strRepLang_strArYearfolder
function inv_jumpMenu(form_field) {
//	alert(form_field.selectedIndex);
	//if(form_field.selectedIndex==1){
	//	return;
	//}
	//alert(form_field.options[form_field.selectedIndex].value);
	go_index=form_field.options[form_field.selectedIndex].value;
	//alert(go_page);
	if (go_index>-1){
	go_page=lingid[go_index];
	//alert(go_page);
	parent.text.location = go_page;
	}
	//if (go_index==-2){
	//	openpage(1);
	//}
	//parent.text.focus();
	//var intpagenum = form_field.options[form_field.selectedIndex].value;	
	//gotoPg(parseInt(form_field.options[form_field.selectedIndex].value)+intPageNr1-1);		
}

// *****************************************************************************
// ***  browse functions *******************************************************

function isPageAvailable(intNum){
	if (intNum < 1 || intNum > arrReportImages.length-1){
		return false;
	}else{
		return true;
	}
}

function setZoomControls(){
	if((document.big_form.operation.value).indexOf('picPage')>=0){
		//we can zoom here:		
		document.getElementById('font_zoom').className='menu';
		document.getElementById("mainPage").innerHTML='<img src="pages/'+arrReportImages[intPageNumber]+'" alt="" class="main" id="page1">';
		document.getElementById('img_zoom').src='images/zoom_in.gif';
		document.getElementById('img_zoom').title='zoom in';
		zoom_over='images/zoom_in_r.gif';
		zoom_out='images/zoom_in.gif'; 	 		
	}else{//set zoom disabled style:
		document.getElementById('font_zoom').className='zoom_hidden';  
	}
}

//!main goto
function gotoPg(intNum){
	if(isNaN(parseInt(intNum)) || intNum < 1 || intNum > (arrReportImages.length)){
		return;
	}
	intPageNumber = intNum;
	document.big_form.pageno.value=intPageNumber;
	
	if (arrReportImages[intNum].indexOf('.asp')>0) {	
		document.big_form.operation.value='aspPage';
		document.big_form.submit();
	}else{
		//alert(document.big_form.operation.value);
		document.big_form.operation.value='picPage';
		document.getElementById("mainPage").innerHTML='<img src="pages/'+arrReportImages[intPageNumber]+'" alt="" class="main" id="page1">';
		if ((intPageNumber-intPageNr1+1)>0){
			document.gotoPgform.pgnum.value = intPageNumber-intPageNr1+1;
			document.gotoPgformDown.pgnum.value = intPageNumber-intPageNr1+1;
		}else{
			document.gotoPgform.pgnum.value = '';
			document.gotoPgformDown.pgnum.value = '';
		}
		window.scrollTo(0,0);
	}
	setZoomControls();
	handleComboTitle(intNum);
	document.getElementById("footer").style.visibility='hidden';
	setTimeout("setFooter()", 3000);
	document.getElementById('print').className='black';
}



var arrCombo;
function handleComboTitle(intNum){
	
	if(arrCombo==null){
		arrCombo=document.getElementById('chapter').options;//omista see vaid 1 kord	
	}		
	var i=0;
		for(i = 0; i<arrCombo.length; i++){
			if(!isNaN(arrCombo[i].value)){//is numeric, not '#'
				if(parseInt(arrCombo[i].value)<=intNum-intPageNr1+1){
				}else{
					break;
				}
			}
		}
		
		if(i==2){//error handler for '______' case
			i=i-1;
		}
				
		if(intNum-intPageNr1+1 <= parseInt(arrCombo[0].value) ){
			i=1;
		}
		document.getElementById('chapter').selectedIndex=i-1;					
}





// ***  utils ******************************************************************
//print this page
function print_page() {
	previous_zoom=curzoom;
	setzoom(80);
	parent['text'].document.title=frame_title(curpage);
	parent['text'].focus();
	parent['text'].print();
	setzoom(previous_zoom);
}


var firstpage = 1;
var lastpage = 104;
var lastpage_frame = lastpage;
var curpage = 1;
var curzoom = 100;
var myPageCount = 0;
var myPageArray = readMyPageArray();

// if frame_page=true different numbering from real page numbers will be used
var frame_page=true;
// page number where numbering will begin with 1
var pn_startpage=3;
var compenPage=-2;
var compenPageArr=1;;

// it can be determined separately, which value is shown in the menubars for the last page
// default is the total number of pages minus (pn_startpage-1)
// in most cases, the value SHOULD NOT be manually changed
// var lastpage_frame=90;

// utility function numbering pages according to start page specified in pn_startpage; previous pages will be numbered 0, -1, -2 etc.
var pagearray=new Array();
for (var i=firstpage; i<=lastpage; i++){
	pagearray[i]=i-pn_startpage+1;
	//pagearray[i]=(i-pn_startpage)*2; // in case of double pages
}
// it is possible to give any string or number value to each page separately. String value that starts with a number
// is not allowed e.g. "123 Page" - this will be automatically converted to "123". But "Page 123" and "P3" are allowed.
pagearray[1]="I";
pagearray[2]="II";



// end of page numbering

var dp = 'img/dp.gif';
var ep = 'img/ep.gif';
var df = 'img/df.gif';
var ef = 'img/ef.gif';
var dn = 'img/dn.gif';
var en = 'img/en.gif';
var dl = 'img/dl.gif';
var el = 'img/el.gif';
var pd = 'img/pd.gif';
var pl = 'img/pl.gif';
var md = 'img/md.gif';
var ms = 'img/ms.gif';
var icons=new Array(12);

var zoom_in_over='images/zoom_in_r.gif';
var zoom_in_out='images/zoom_in.gif';
var zoom_out_over='images/zoom_out_r.gif';						  		
var zoom_out_out='images/zoom_out.gif';

									
function preloadIcons()
{
icons[0] = new Image(); icons[0].src = dp;
icons[1] = new Image(); icons[1].src = ep;
icons[2] = new Image(); icons[2].src = df;
icons[3] = new Image(); icons[3].src = ef;
icons[4] = new Image(); icons[4].src = dn;
icons[5] = new Image(); icons[5].src = en;
icons[6] = new Image(); icons[6].src = dl;
icons[7] = new Image(); icons[7].src = el;
icons[8] = new Image(); icons[8].src = pd;
icons[9] = new Image(); icons[9].src = pl;
icons[10] = new Image(); icons[10].src = md;
icons[11] = new Image(); icons[11].src = ms;
};

function frame_title(str) {
	var p_title="Fiskars Vuosikertomus 2008 - Sivu " + checkno(str);
	return p_title;
}

function pagerefresh()
{
parent.text.refresh();
parent.text.focus();
}
function setzoom(zoom)
{
// disabled if download or search
if (!zoomdisabled){
if(curzoom != zoom)
{
curzoom = zoom;
zoombutrefresh();
pagerefresh();
}
} // zoom disabled end if
}
function zoombutrefresh()
{
if(curzoom!=100)
{
document.zi.src=zoom_out_out;
}
else
{
document.zi.src=zoom_in_out;
}
}

function zoombut_over(){
if (curzoom==100)	
document.images['zi'].src=zoom_in_over;
else
document.images['zi'].src=zoom_out_over;
}

function zoombut_out(){
if (curzoom==100)	
document.images['zi'].src=zoom_in_out;
else
document.images['zi'].src=zoom_out_out;
}


function navbutrefresh()
{
} // empty function

function setcurpage(pagenum){
	if(curpage!=pagenum){
		curpage = pagenum;
		showComboValue(pagenum)
		if (frame_page==true){
			pagenum=pagearray[pagenum];
		}
		document.getElementById('pgnum').value=pagenum;
		document.getElementById('pgnum1').value=pagenum;
		navbutrefresh();
	}
}

function setfirstpage(pagenum){
		showComboValue(pagenum)
		if (frame_page==true){
			pagenum=pagearray[pagenum];
		}
		document.getElementById('pgnum').value=pagenum;
		document.getElementById('pgnum1').value=pagenum;
		navbutrefresh();
}

function gfp()
{
openpage(firstpage);
}
function glp()
{
openpage(lastpage);
}
function gpp()
{
var pagenum = curpage - 1;
if(pagenum < firstpage)
return;
openpage(pagenum);
}
function gnp()
{
var pagenum = curpage + 1;
if(pagenum > lastpage)
return;
openpage(pagenum);
}

function in_array(needle, haystack) {
	var n = haystack.length;
	for (var i=0; i<n; i++) {
		if (typeof(haystack[i])=="string" && isNaN(parseInt(needle))){
			haystack1=String(haystack[i]).toLowerCase();
			needle1=String(needle).toLowerCase();
			if (haystack1==needle1) {
				return i;
			}
		}
		else {
			if (haystack[i]==needle) {
				return i;
			}
		}
	}
	return false;
}
function openpage_fr(pagenum){
	if (frame_page==true){

		var otsi=in_array(pagenum, pagearray);
		if (!otsi===false){
			//alert(pagenum);
			//alert(otsi);
			pagenum=otsi;
			openpage(pagenum)
		}
	}
	else {
		openpage(parseInt(pagenum));
	}
}

function checkno(pagenum){
	if (pagenum==lastpage_frame){
		return parseInt(pagenum-2)
	}
	else if (frame_page==true){
		return pagenum=pagearray[pagenum];
	}
	else {
		return parseInt(pagenum-1)
	}
}

function openpage(pagenum)
{
var strzero = "";
var strnumb = "";
if (!(pagenum<firstpage || pagenum>lastpage) && typeof pagenum=="number" && !isNaN(pagenum)){
strnumb = strnumb + pagenum;
for (var i=1; i<=4-strnumb.length; i++)
strzero = strzero + "0";
parent.text.location = 'AR_FIN_2008' + strzero + pagenum + '.htm';
parent.text.focus();
}
showComboValue(pagenum)
}

function showComboValue(pagenum){
	var snum=lingid[0].indexOf(".");		
	for(var i=pagenum; i> 0; i--){
		for(var j=0; j< lingid.length; j++){
			if (lingid[j].substr(snum-3,3) == i) {
			document.getElementById("chapter").value=j;
			return;
			}
		}
	} 
}

function open_notes(pagenum,flag)
{
var strzero = "";
var strnumb = "";
if (!(pagenum<firstpage || pagenum>lastpage) && typeof pagenum=="number" && !isNaN(pagenum)){
strnumb = strnumb + pagenum;
for (var i=1; i<=4-strnumb.length; i++)
strzero = strzero + "0";
parent.text.location = 'AR_FIN_2008' + strzero + pagenum + '.htm#' + flag;
parent.text.focus();
}
}
function zin(zoomin,zoomout)
{
if(curzoom<200)
{
setzoom(200);
document.getElementById('img_zoom').title=zoomout;
}
else
{
setzoom(100)
document.getElementById('img_zoom').title=zoomin;
}
}

function _zoommenu(selObj)
{
setzoom(selObj.options[selObj.selectedIndex].value);
}

function addPage()
{
if (!zoomdisabled){	
var pagenum = curpage;
var array_flag=true;
for (i=0; i<myPageArray.length; i++){
	if (pagenum==myPageArray[i]){
		array_flag=false;
		document.getElementById("message2Text").style.visibility="visible";
		setTimeout('hideMessageText2()',1300);
		break;
	}
}
if (array_flag){
	myPageArray.push(pagenum);
	changePageCount("new");
	var cookiecontent="ListCookieAR_FIN_2008p="+myPageArray.join(",");
	document.cookie=cookiecontent;
	creatPageContent();
	document.getElementById("message1Text").style.visibility="visible";
	setTimeout('hideMessageText1()',1300);
}
}
}

function removePage(pagenum)
{
for (i=0; i<myPageArray.length; i++){
	if (pagenum==myPageArray[i]){
		myPageArray.splice(i,1);
		changePageCount("remove");
		var cookiecontent="ListCookieAR_FIN_2008p="+myPageArray.join(",");
		document.cookie=cookiecontent;
		creatPageContent();
		document.getElementById("message3Text").style.visibility="visible";
		setTimeout('hideMessageText3()',1300);
		break;
	}
}
}

function hideMessageText1(){
	document.getElementById("message1Text").style.visibility="hidden";
}
function hideMessageText2(){
	document.getElementById("message2Text").style.visibility="hidden";
}
function hideMessageText3(){
	document.getElementById("message3Text").style.visibility="hidden";
}
function hideMessageText4(){
	document.getElementById("message4Text").style.visibility="hidden";
}

function changePageCount(muut){	
	if (muut=="new"){
		var pagecount=myPageCount+1;
	}
	else if (muut=="remove"){
		var pagecount=myPageCount-1;
	}
	else {
		var pagecount=muut;
	}
	if (pagecount>0){
		var hoidja=document.getElementById("viewPage");
		var oldElem=document.getElementById("myPageCount");
		var newElem=document.createElement("span");
		newElem.setAttribute("id", "myPageCount");
		var nimi="(" + pagecount + ")";
		var textElem = document.createTextNode(nimi); 
		newElem.appendChild(textElem);
		hoidja.replaceChild(newElem, oldElem);
		myPageCount=pagecount;
	}
	else if (pagecount==0){
		var hoidja=document.getElementById("viewPage");
		var oldElem=document.getElementById("myPageCount");
		var newElem=document.createElement("span");
		newElem.setAttribute("id", "myPageCount");
		var nimi="";
		var textElem = document.createTextNode(nimi); 
		newElem.appendChild(textElem);
		hoidja.replaceChild(newElem, oldElem);
		myPageCount=pagecount;
	}
	
//var hoidja=document.getElementById("viewPage");
//h_nimi="My pages (" + myPageCount + ")";
//hoidja.innerHTML = h_nimi; 
}



function readMyPageArray(){
var cookiename="ListCookieAR_FIN_2008p=";
if (document.cookie){
	var cookiecontent=document.cookie;
	//alert(cookiecontent)
	var startChar=cookiecontent.indexOf("ListCookieAR_FIN_2008p=");
	if (startChar>-1){
	var endChar=cookiecontent.indexOf(";");
	if (endChar<0){
		endChar=cookiecontent.length;
	}
	//alert(startChar);
	//alert(endChar);
	var newcontent=cookiecontent.substring(parseInt(startChar)+cookiename.length,endChar);
	//alert(newcontent);
	var newArray=newcontent.split(",");
	//alert(newArray)
	myPageCount=newArray.length;
	//changePageCount(myPageCount);
	}
	else {
		var newArray=new Array();
		myPageCount=0;
	}
}
else {
	var newArray=new Array();
	myPageCount=0;
}
return newArray;	
}

function viewPage(){
	var contentElem=document.getElementById("myPageContent");
	contentElem.style.display="block";
	creatPageContent();
}

function getComboValue(pagenum){
	var snum=lingid[0].indexOf(".");		
	for(var i=pagenum; i> 0; i--){
		var new_i1=""+(parseInt(i)+1000)
		var new_i=new_i1.substring(1,4);
		for(var j=lingid.length-1; j>-1; j--){
			var num=lingid[j].substr(snum-3,3)
			if (num==new_i) {
			var elem_name="chapter"+j; 
			var page_name=document.getElementById(elem_name).innerHTML; 
			var otsi=/&nbsp;/g;
			page_name=page_name.replace(otsi,"");
			return page_name;
			}
		}
	} 
}
	
function creatPageContent(){	
	var contentElem=document.getElementById("myPageContent");
	if (myPageArray.length>0){
       var contentText="<div class='padding10'><span class='myReportHeading'>Oma raportti</span><br><br>Olet tallentanut henkilkohtaisen raporttisi seuraavat sivut:</div>";
   }else {
       var contentText='<div class="padding10"><span class="myReportHeading">Oma raportti</span><br><br>Et ole vielä tallentanut yhtään sivua.<br>Voit tallentaa nykyisen sivun valitsemalla "Tallenna tämä sivu"</div>';
   }
   var sortArray=myPageArray.sort(doCompare);
   //var rowNumbr=Math.ceil(sortArray.length/2);
   contentText+="<table border='0' cellpadding='4' cellspacing='0' align='center' width='550' class='myPageTable'>";
   for (i=0; i<sortArray.length; i++){
       var page_no=checkno(sortArray[i]);		
       contentText+="<tr><td valign='middle' align='left' width='70'><a href='javascript: openpage("+sortArray[i]+")' class='href'>Sivu "+page_no+ "</a></td>";
       var pageName=getComboValue(sortArray[i]);
       contentText+="<td valign='middle' align='left' width='330'><a href='javascript: openpage("+sortArray[i]+")' class='href_black'>"+pageName+"</a></td>";
       contentText+="<td valign='middle' align='left' width='50'><a href='javascript: removePage("+sortArray[i]+")' class='black_link'>Poista</a></td></tr>";
   }
   contentText+="</table>";
   if (myPageArray.length>0){
       contentText+="<div align='right' class='padding10'><a href='javascript: downloadMyPage()' class='href'>Lataa tallennetut sivut</a><br>";
       contentText+="<a href='javascript: printMyPage()' class='href'>Tulosta tallennetut sivut</a><br><br>";
       contentText+="| <a href='javascript: closeMyPages()' class='black_link'>Sulje valintaikkuna</a> |</div>";
   }else {
       contentText+="<div align='right' class='padding10'>| <a href='javascript: closeMyPages()' class='black_link'>Sulje valintaikkuna</a> |</div>";
   }
	//alert(rowNumbr);
	contentElem.innerHTML=contentText;
	
}

function closeMyPages(){
	document.getElementById("myPageContent").style.display="none";
}

function doCompare(a,b){
	return a-b;
}
function downloadMyPage(){
	if (myPageCount>0){
	var sortArray=myPageArray.sort(doCompare);
	var txtPage=sortArray.join(",");
	document.form1.txtPageNr.value=txtPage;
	document.form1.txtPrint.value="false";
	document.form1.submit();
	}
	else {
		document.getElementById("message4Text").style.visibility="visible";
		setTimeout('hideMessageText4()',1300);
	}
}
function printMyPage(){
	if (myPageCount>0){
	var sortArray=myPageArray.sort(doCompare);
	var txtPage=sortArray.join(",");
	document.form1.txtPageNr.value=txtPage;
	document.form1.txtPrint.value="true";
	document.form1.submit();
	}
	else {
		document.getElementById("message4Text").style.visibility="visible";
		setTimeout('hideMessageText4()',1300);
	}
}
function gup(name)
{
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var tmpURL = window.location.href;
  var results = regex.exec( tmpURL );
  if( results == null )
    return "";
  else
    return results[1];
}


var lingid=new Array(
'AR_FIN_20080003.htm',
'AR_FIN_20080004.htm',
'AR_FIN_20080007.htm',
'AR_FIN_20080008.htm',
'AR_FIN_20080010.htm',
'AR_FIN_20080012.htm',
'AR_FIN_20080013.htm',
'AR_FIN_20080014.htm',
'AR_FIN_20080016.htm',
'AR_FIN_20080018.htm',
'AR_FIN_20080020.htm',
'AR_FIN_20080023.htm',
'AR_FIN_20080023.htm',
'AR_FIN_20080024.htm',
'AR_FIN_20080025.htm',
'AR_FIN_20080027.htm',
'AR_FIN_20080029.htm',
'AR_FIN_20080030.htm',
'AR_FIN_20080031.htm',
'AR_FIN_20080032.htm',
'AR_FIN_20080034.htm',
'AR_FIN_20080036.htm',
'AR_FIN_20080039.htm',
'AR_FIN_20080040.htm',
'AR_FIN_20080048.htm',
'AR_FIN_20080048.htm',
'AR_FIN_20080049.htm',
'AR_FIN_20080050.htm',
'AR_FIN_20080051.htm',
'AR_FIN_20080052.htm',
'AR_FIN_20080052.htm',
'AR_FIN_20080056.htm',
'AR_FIN_20080058.htm',
'AR_FIN_20080058.htm',
'AR_FIN_20080059.htm',
'AR_FIN_20080061.htm',
'AR_FIN_20080065.htm',
'AR_FIN_20080066.htm',
'AR_FIN_20080070.htm',
'AR_FIN_20080074.htm',
'AR_FIN_20080075.htm',
'AR_FIN_20080077.htm',
'AR_FIN_20080080.htm',
'AR_FIN_20080081.htm',
'AR_FIN_20080082.htm',
'AR_FIN_20080085.htm',
'AR_FIN_20080085.htm',
'AR_FIN_20080086.htm',
'AR_FIN_20080088.htm',
'AR_FIN_20080089.htm',
'AR_FIN_20080090.htm',
'AR_FIN_20080091.htm',
'AR_FIN_20080098.htm',
'AR_FIN_20080099.htm',
'AR_FIN_20080100.htm',
'AR_FIN_20080101.htm',
'AR_FIN_20080103.htm',
'AR_FIN_20080001.htm')

page_url=window.location.href;

email_content_compile="?subject="+escape("Fiskars Vuosikertomus 2008 ")+"&body="+escape("Link to Fiskars Vuosikertomus 2008:\n") + page_url;
email_content_compile=email_content_compile.replace("/\'/","&#39;");
email_content="<A href='mailto:"+email_content_compile+"' class='black'>";
//-->
// eof


