isOverview = false;

//Sl\u00E5 av og p\u00E5 visning av undermenyer
function openMenu( menu , status )
{
	if( status == "on" )
	{	
		document.getElementById( menu ).style.display='block'
	} else {
    		document.getElementById( menu ).style.display='none'
	}
}

//Funksjon som viser e-post adresse kryptet
function encAdr( lead , dom1 , pre1 , pre2 , pre3 , post1 )
{
	document.write( '<b>' + lead + '</b> ' )
	document.write('<a href=mailTo:' + pre1 + pre2 + pre3 + '@' + post1 + '.' + dom1 + '>');
	document.write( pre1 + pre2 + pre3 + '@' + post1 + '.' + dom1 + '</a>');
}

//Uthev visning bilde
function Hilite( imgId )
{
   var currClass = document.getElementById( imgId ).className;
   document.getElementById( imgId ).className = 'utmOn';
}

//Funksjon for \u00E5 sette cookie
function setCookie( name , value )
{
	var expdate = new Date ();
	//Slett eksisterende
	expdate.setTime( 24 * 60 * 60 * 1000 );
	document.cookie = name + "=; EXPIRES=" + expdate.toGMTString() ; 
	//Sett ny verdi
	var expdate = new Date ();
	expdate.setTime ( expdate.getTime() + ( 24 * 60 * 60 * 1000 * 31 ));
	strcookie = name + "=" + escape( value ) + "; EXPIRES=" + expdate.toGMTString()+ "; path=/";
	document.cookie = strcookie;
}

//Funksjon for \u00E5 velge engelske sider
function useLang( lang )
{
	setCookie( "utopiaLanguage" , lang );
	window.location.reload();
}

//Gjenopprett visning bilde
function Restore( imgId )
{
   var currClass = document.getElementById( imgId ).className;
   document.getElementById( imgId ).className = 'utm' ;
}

//Bytt koordinatvisning
function switchCoSys( sys )
{
	var posRow;
	var showRow;
	var hideRow;
	if ( sys == "1" )
	{
		showRow = "latLonPos"
		hideRow = "utmPos";
		coSys = "0" ;
		document.getElementById( 'posFormat' ).innerHTML = "<a href='#' onclick=\"switchCoSys('0');return false;\">vis UTM</a>" ;
	} else {
		showRow = "utmPos"
		hideRow = "latLonPos";
		coSys = "1" ;		
		document.getElementById( 'posFormat' ).innerHTML = "<a href='#' onclick=\"switchCoSys('1');return false;\">vis grader</a>" ;
	}
	for ( var i = 1 ; i <= 2 ; i++ )
	{
		posRow = document.getElementById( showRow +  i );
		posRow.style.display = '';
		posRow = document.getElementById( hideRow +  i );
		posRow.style.display = 'none';
	}
}

//Flytt ledetekst brukernavn og passord inn i tilh\u00F8rende felt
function initLogin() {
  if ( !document.getElementById ) return;
  var labels, id, field;
  //Sett fokus og vis/skjul login etiketter
  labels = document.getElementsByTagName( 'label' );
  for ( var i = 0; i < labels.length; i++ ) {
    if ( labels[i].className == 'login' ) {
      id = labels[i].htmlFor || labels[i].getAttribute( 'for' );
      if (!id || !(field = document.getElementById(id))) {
        continue;
      } 
      //Endre CSS klasse
      labels[i].className = 'loginOn';
      //Skjul etikett hvis standardverdi er satt
      if (field.value !== '') {
        hideLabel(field.getAttribute( 'id' ), true);
      }
      //Legg til funksjoner for \u00E5 vise og skjule etiketter
      field.onfocus = function () {
        hideLabel(this.getAttribute( 'id' ), true);
      };
      field.onblur = function () {
        if (this.value === '') {
          hideLabel(this.getAttribute( 'id' ), false);
        }
      };

      //SAFARI l\u00F8sning
      labels[i].onclick = function () {
        var id, field;
        id = this.getAttribute( 'for' );
        if (id && (field = document.getElementById(id))) {
          field.focus();
        }
      };
    }
  }
};

//Brukes av forrige skript til skjule opprinnelig ledetekst
function hideLabel( field_id , hide ) {
  var field_for;
  var labels = document.getElementsByTagName( 'label' );
  for ( var i = 0; i < labels.length; i++ ) {
    field_for = labels[i].htmlFor || labels[i].getAttribute( 'for' );
    if (field_for == field_id) {
      labels[i].style.display = (hide) ? "none" : "block" ;
      return true;
    }
  }
}

//Returnerer base href for side
function getPath() 
{
	var strUrl = null;
	if( document.getElementsByTagName )
		{ var elems = document.getElementsByTagName( 'base' );
	if( elems.length ) {
	strUrl = elems[ 0 ].href;
	return strUrl;
	}
	}
}

//Slette dokument
function deleteDoc( urlId )
{
	if ( confirm( '\u00D8nsker du \u00E5 slette valgt dokument?' ) ) getServerData( "webAdmin" , "GET" , "deletePage?OpenAgent&" + urlId , true );
}


//AJAX kode

//Aktiverer og skjuler faner i plassmeny
function selPlaceTab( currTab , tabs )
{
	if ( Number( tabs ) == 0 ) { tabs = 4 }; 
	if( orgPlaceCont == "" )
	{
		orgPlaceCont = document.getElementById( "desc" ).innerHTML;
	}
	var tabHeadId;
 	for( x = 1 ; x <= tabs ; x++ )
	{
		tabHeadId = "pTab" + x;
		if( parseInt( currTab ) == x )
		{
	     	document.getElementById( tabHeadId ).className = "active";	
		} else {
		     document.getElementById( tabHeadId ).className = "";
		}
	}

	switch( currTab )
	{
		case '2':
			getServerData( "desc" , "GET" , "getImages?OpenAgent&" + docId , true );
			break;
		case '3':
			getServerData( "desc" , "GET" , "getRoutesByPos?OpenAgent&" + docId , true );
			break;
		case '4':
			getServerData( "desc" , "GET" , "getArticles?OpenAgent&" + docId , true );
			break;
		default:
			document.getElementById( "desc" ).innerHTML = orgPlaceCont;
			break;
	}
}

//Starte s\u00F8k ved enter i s\u00F8keboks
function enterSearch ( event , sText )
{
	var cCode
	if( event && event.which )
	{
		cCode = event.which 
	} else {
		cCode = event.keyCode
	}
	if( cCode == 13 )
	{
	    window.location = getPath() + "searchForm?ReadForm&" + sText;
	    return false
	} else {
	return true
	}
}

//Funksjon for sette ventebilde
function loadStatus( status )
{
	if ( status == '1' )
	{

	} else {
		document.getElementById( "waitOverlay" ).style.display = 'none';
		document.getElementById( "waitContainer" ).style.display = 'none';
	}
}

//Returnerer sider via Ajax til Webadministrator
function getPages( p )
{ 
	getServerData( "webAdmin" , "GET" , getPath() + "/getPages?OpenAgent&" + p , true );
};

//Funksjon for plotte rute p\u00E5 kart via Ajax
function plotRoute( walkId )
{ 
	getServerData( "routePlot" , "GET" , getPath() + "/drawRoute?OpenAgent&" + walkId , true );
}

//Funksjon som starter plotting av ruter p\u00E5 webatlas
function waPlotRoute( rId , rType )
{
	routeType = rType;
	isOverview = true;
	pos = getServerData( "" , "GET" , getPath() + "/routeAtlas/" + rId , true ) ;
}

//Funksjon som utf\u00F8rer plotting av ruter basert p\u00E5 Ajax data
function plotCurrRoute( track )
{
	var currPos = new Array;
	var currTrack;
	var utm33;
	var x1;
	var x2;
	var y1;
	var y2;
	switch( routeType )
	{
		case "1" :
  			currTrack = new PolyLine([], {'rgba': "rgba( 204, 51, 51, 1 )" ,'lineWidth':3});
  			break;
		default:
 			currTrack = new PolyLine([], {'rgba': "rgba( 0, 153, 102, 1 )" ,'lineWidth':3});
	}
	for( x = 0 ; x < track.length ; x++ )
	{
		currPos = track[ x ].split( "|" )
		utm33 = map.decimalDegreesToUTM( new Coordinate( currPos[ 0 ] , currPos[ 1 ] ));
		if ( x1 == null | x1 > utm33.x ) x1 = utm33.x;
		if ( x2 == null | x2 < utm33.x ) x2 = utm33.x;
		if ( y1 == null | y1 > utm33.y ) y1 = utm33.y;
		if ( y2 == null | y2 < utm33.y ) y2 = utm33.y;
		currTrack.addPoint( utm33 );
	};
	map.getDrawCanvas().addPolyLine( currTrack );
	map.zoomOnBoundingBox( {'x1' : x1, 'y1' : y1, 'x2' : x2, 'y2' : y2}, true);
}

//Funksjon som fjerner alle ruter fra webatlas kartet
function waPlotClear()
{
     map.getDrawCanvas().clear();
}

//Last inn dynamisk bildevisning
var globalImg;
function dynPop( img )
{
	globalImg = img;
	LazyLoad.load( "popBox.js" , callPop );
}
function callPop()
{
	Pop( globalImg , 50 , 'PopBoxImageLarge' );
}

//Felles funksjoner for Ajax kall til server
function getServerData( fName , httpMethod , url , asynchronous )
{
	xmlhttp = null;
	// Mozilla, etc.
	if ( window.XMLHttpRequest )
	{
		xmlhttp=new XMLHttpRequest();
	}
	// IE
	else if ( window.ActiveXObject )
	{
	xmlhttp=new ActiveXObject( "Microsoft.XMLHTTP" )
	}
	if ( xmlhttp != null )
  	{
		xmlhttp.onreadystatechange = state_Change;
		xmlhttp.open( httpMethod , url ,  asynchronous );
		xmlhttp.send( null );
	} else {
		alert( "Beklager, Internett leseren din stter ikke Ajax, som denne siden er avhengig av for fungere." )
	}

	function state_Change()
	{
		// Sjekk om fullf\u00F8rt
		if ( xmlhttp.readyState == 4 )
		{
			// hvis "OK"
			if ( xmlhttp.status == 200 )
			{
				if ( isOverview == true )
				{
					plotCurrRoute( xmlhttp.responseText.split( ";" )) ;
				} else {
					document.getElementById( fName ).innerHTML = xmlhttp.responseText ;
				}
			} else {
				document.getElementById( fName ).innerHTML = "Beklager programfeil, med feilkode " + xmlhttp.status;
			}
		}
	}
}