//controle of oa alles geladen is
var StartOk  = false;

//googlemaps
var mijngmap = null;
var GMapsOk = false;

//fotowissel home
var CurrentOpacity=100;
var Teken=-1;
var StartNr=1;
var Opacityoffset=2;
var PreloadImgLst = new Array();

//fotoalbum, url wordt via functie startscripts gecorrigeerd
//var GB_ROOT_DIR = '/vmbo/design/greybox/';
var GB_ROOT_DIR = '/design/greybox/';

//hoofdmenu
var TimerMenu = null;
var CurMenuSelected = -1;
var CurMenuAktief = -1;

function PrintVenster(waarheen){
        PrevVenster = window.open(waarheen,'Detail','toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizeable=yes,width=630,height=450');
        PrevVenster.focus();
}


function SchakelMenu(ObjNr, aktief){
  if(StartOk){//pas aktiveren als alles geladen is

    var HuidigeHoofdObj=document.getElementById('hoofdmenu'+ObjNr);
    var HuidigeObj=document.getElementById('uitklap'+ObjNr);

    if(CurMenuSelected>0 && ObjNr!=CurMenuSelected)
    {
      document.getElementById('uitklap'+CurMenuSelected).className='nietaktief';
      if(CurMenuSelected!=CurMenuAktief) document.getElementById('hoofdmenu'+CurMenuSelected).className='';
      clearTimeout(TimerMenu);

    }

    if(aktief){
      if(HuidigeObj.className!='aktief') HuidigeObj.className='aktief';
      HuidigeHoofdObj.className='aktief';
      CurMenuSelected=ObjNr;
      clearTimeout(TimerMenu);

    } else {

      if(HuidigeObj.className=='aktief'){
        clearTimeout(TimerMenu);
        HuidigeObj.className='nietaktief';
        if(ObjNr!=CurMenuAktief) HuidigeHoofdObj.className='nietaktief';

      }

    }

  }
}


function HideUitklap(ObjNr)
{
  if(CurMenuSelected>0)
  {
    document.getElementById('uitklap'+CurMenuSelected).className='nietaktief';
    clearTimeout(TimerMenu);

    if(CurMenuAktief!=CurMenuSelected)
      document.getElementById('hoofdmenu'+CurMenuSelected).className='';

    CurMenuSelected=-1;
  }

}


function DoUitklap(ObjNr, aktief){
  if(StartOk){//pas aktiveren als alles geladen is

	if(aktief){
	  SchakelMenu(ObjNr, aktief);
    } else {
		TimerMenu = setTimeout("SchakelMenu('"+ObjNr+"',"+aktief+");",1000);
    }

  }
}


function StartZoeken(VormObj, defaulttxt){
  ZoekTerm=VormObj.words.value;

  if(ZoekTerm==defaulttxt) ZoekTerm='';

  if(ZoekTerm.length)
  {
    return true;
  }
  else
  {
    return false;
  }

}


function maximizeWindow(WindowObj)
{
  if(parseInt(navigator.appVersion)>3)
  {
    if(navigator.appName=="Netscape")
    {
      if(WindowObj.screenX>0 || WindowObj.screenY>0) WindowObj.moveTo(0,0);
      if(WindowObj.outerWidth < screen.availWidth) WindowObj.outerWidth=screen.availWidth;
      if(WindowObj.outerHeight < screen.availHeight) WindowObj.outerHeight=screen.availHeight;
    }
    else
    {
      WindowObj.moveTo(-4,-4);
      WindowObj.resizeTo(screen.availWidth+8,screen.availHeight+8);
    }
  }
}


function trim(value) {
	value = value.replace(/^\s+/,'');
	value = value.replace(/\s+$/,'');
	return value;
}


function Coord2Num(CoordIn){

	var CoordOut=0;

	//speciale karakters eruit filtere
	var MijnRExp = /&#\d*;/g;
	var ChkMijnPos=CoordIn.replace(MijnRExp," ");

	//alle niet numerieke karakters verwijderen
	var MijnRExp = /([^0-9/.])/g;
	var ChkMijnPos=trim(CoordIn.replace(MijnRExp," "));

	var PosParts=ChkMijnPos.split(" ");
	var ChkIndex=0;
	for(p=0;p<PosParts.length;p++){
		var ChkStr = trim(PosParts[p]);
		if(ChkStr!=''){
			if(ChkIndex==0) CoordOut+=1*ChkStr;
			if(ChkIndex==1) CoordOut+=ChkStr/60;
			if(ChkIndex==2) CoordOut+=ChkStr/3600;
			ChkIndex++;
		}
	}

	return CoordOut;
}


function StartGoogleMap(StrCoord,Kmlbestand_Url)
{

  XYcoord=StrCoord.split(",");
  if(XYcoord.length == 2)
  {
    if(GBrowserIsCompatible())
    {

      XYcoord[0]=Coord2Num(XYcoord[0]);
      XYcoord[1]=Coord2Num(XYcoord[1]);

      GMapsOk = true;

      var mijngmap = new GMap2(document.getElementById("mijngmap"));

      var CenterCoor = new GLatLng(1*XYcoord[0],1*XYcoord[1]);

      mijngmap.addControl(new GSmallMapControl());
      mijngmap.addControl(new GMapTypeControl());
      mijngmap.addMapType(G_PHYSICAL_MAP);//terrain map aan navigatie toevoegen
      mijngmap.setCenter(CenterCoor,13);
      mijngmap.setMapType(G_NORMAL_MAP);//terrain map aktief zetten
      mijngmap.setZoom(15);

      mijngmap.enableScrollWheelZoom();

      if(Kmlbestand_Url)
      {
        var mijnlokaties = new GGeoXml(Kmlbestand_Url);
        mijngmap.addOverlay(mijnlokaties);
      }
      else
      {
        var marker = new GMarker(CenterCoor);
        mijngmap.addOverlay(marker);
      }

    }
  }

}


function NieuwVenster(waarheen)
{
  DetailVenster = window.open(waarheen,'Detail','toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizeable=yes,width=800,height=600');
  DetailVenster.focus();
}


function VideoVenster(waarheen)
{
  DetailVenster = window.open(waarheen,'Detail','toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizeable=no,width=350,height=400');
  DetailVenster.focus();
}


function NaarWebsite(waarheen)
{
  DetailVenster = window.open(waarheen,'_blank');
  DetailVenster.focus();
}


function GaNaar(naarurl)
{
  document.location.href=naarurl;
}


/// controleer opacity afhandeling voor browser
function ChkOpacityType(ObjectNaam){

	var browsertype;

	holderobject=document.getElementById(ObjectNaam);

	if(typeof holderobject.style.MozOpacity != 'undefined'){
		browsertype = 'moz';
	} else if(typeof holderobject.style.KhtmlOpacity != 'undefined'){
		browsertype = 'khtml';
	} else if(typeof holderobject.filters == 'object'){
		browsertype = (holderobject.filters.length > 0 && typeof holderobject.filters.alpha == 'object' && typeof holderobject.filters.alpha.opacity == 'number') ? 'ie' : 'none';
	} else if(typeof holderobject.style.opacity != 'undefined'){
		browsertype = 'w3c';
	} else {
		browsertype = 'none';
	}

	return browsertype;
}


function ZetAlpha(ObjectNaam,percentage){

	obj=document.getElementById(ObjectNaam);

	if(percentage > 0){

		alpha=percentage/100;

		var type = typeof chkbrowser == 'undefined' ? ChkOpacityType(ObjectNaam) : chkbrowser;

		switch(type){

			case 'ie' :	if (typeof obj.filters == 'object' && obj.filters.alpha){
						obj.filters.alpha.opacity = percentage;
					}  else {
						 obj.style.filter='alpha('+percentage+')';
					}
					break;

			case 'khtml' :	obj.style.KhtmlOpacity = alpha;
					break;

			case 'moz' :	obj.style.MozOpacity = (alpha >= 0.99 ? 0.99 : alpha);//Max opacity to prevent flicker in firefox
					break;

			case 'none' :	break;

			default : 	obj.style.opacity = (alpha >= 0.99 ? 0.99 : alpha);//Max opacity to prevent flicker in firefox

		}
		obj.style.display = '';
	} else {
		obj.style.display = 'none';
	}
}

function lightup(){

	holderobject=document.getElementById('eerstetranspic');

	var type = typeof chkbrowser == 'undefined' ? ChkOpacityType('eerstetranspic') : chkbrowser;

	if(type!='none'){//alleen wisselen als opacity ondersteund wordt

		imageobject=document.getElementById('eerstepic');
		secimageobject=document.getElementById('tweedepic');

		CurrentOpacity+=Teken*Opacityoffset;

		SwitchPlaatje=false;
		if(CurrentOpacity <= 0 || CurrentOpacity >= 100){
			Teken*=-1;
			CurrentOpacity+=Opacityoffset*Teken;
			SwitchPlaatje=true;
		}

		ZetAlpha('eerstetranspic',CurrentOpacity);

		if(SwitchPlaatje && Plaatjes.length>2){
			StartNr++;

			if(StartNr>=Plaatjes.length) StartNr=0;
			//bij gelijke plaatjes maar volgende
			if(secimageobject.src==imageobject.src) StartNr++;

			if(Teken>0){
				imageobject.src=Plaatjes[StartNr];
			} else {
				secimageobject.src=Plaatjes[StartNr];
			}
		}

		setTimeout('lightup()',150);
	}

}


function onPreload(aImages, nImages){
	if(nImages == Plaatjes.length){

		if(Plaatjes.length>1) lightup();

		return;
	}
}


//Image preload routines staan hieronder
function ImagePreloader(images, callback)
{

  this.callback = callback;// store the callback

  this.nLoaded = 0;
  this.nProcessed = 0;
  this.aImages = new Array;

  this.nImages = images.length;

  for(var i=0; i < images.length; i++){// for each image, call preload()
    this.preload(images[i]);
  }

}

ImagePreloader.prototype.preload = function(image)
{

  // create new Image object and add to array
  //var oImage = new Image;
  var oImage = document.createElement("img"); // met new Image() werkt 't zeker niet!

  this.aImages.push(oImage);

  // set up event handlers for the Image object
  oImage.onload = ImagePreloader.prototype.onload;
  oImage.onerror = ImagePreloader.prototype.onerror;
  oImage.onabort = ImagePreloader.prototype.onabort;

  // assign pointer back to this.
  oImage.oImagePreloader = this;
  oImage.bLoaded = false;

  // assign the .src property of the Image object
  oImage.src = image;
}

ImagePreloader.prototype.onComplete = function()
{
  this.nProcessed++;

  if(this.nProcessed == this.nImages)
    this.callback(this.aImages, this.nLoaded);

}

ImagePreloader.prototype.onload = function()
{
  this.bLoaded = true;
  this.oImagePreloader.nLoaded++;
  this.oImagePreloader.onComplete();
}

ImagePreloader.prototype.onerror = function()
{
  this.bError = true;
  this.oImagePreloader.onComplete();
}

ImagePreloader.prototype.onabort = function()
{
  this.bAbort = true;
  this.oImagePreloader.onComplete();
}


function ChkHoogteScherm()
{

  ContentObj=document.getElementById('contentvlak');

  OmhObj=document.getElementById('omhullende');
	//parent = body
	OuderObj=OmhObj.parentNode;

	var Hoogte=ContentObj.clientHeight+45;

	if(Hoogte > OuderObj.clientHeight)
    OmhObj.style.height=Hoogte+'px';

}


//event handler functies
function addAnEvent(el, evname, func)
{
  if(el.attachEvent)
  { // IE
    el.attachEvent("on" + evname, func);
  }
  else if(el.addEventListener)
  { // Gecko / W3C
    el.addEventListener(evname, func, true);
  }
  else
  {
    el["on" + evname] = func;
  }
}


function stopEvent(event)
{
	if(event.preventDefault)
  {
		event.preventDefault();
		event.stopPropagation();
	}
	else
	{
    event.returnValue=false;
		event.cancelBubble=true;
	}
}


function StartScripts(webroot,HoofdMenuAktief,ishome)
{  
  //initialisatie van enkele parameters
  StartOk = true;
  
  GMapsOk = false;

  //if(!ishome) ChkHoogteScherm();
  

  //fotoalbum
  //GB_ROOT_DIR=webroot+'design/greybox/';

  //fotowissel home
  CurrentOpacity=100;
  Teken=-1;
  StartNr=1;
  Opacityoffset=2;

  //hoofdnavigatie
  CurMenuAktief   = 1*HoofdMenuAktief;
  CurMenuSelected = -1;
  TimerMenu       = null;
    
  PlaceFooter();

	window.onscroll = PlaceFooter;
	
	

}



function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }

  return [ scrOfX, scrOfY ];
}


function PlaceFooter(){

	ChkFooter=document.getElementById('footer');

	var scrolpos = getScrollXY();
	var ScrollY = scrolpos[1];
	if(ScrollY <= 0) ScrollY =0;

//	if(IsFotoAlbumAktief) document.getElementById('showfotoalbum').style.top = ScrollY+'px';

	if(ScrollY>0){
		ChkFooter.style.bottom = '-'+ScrollY+'px';
	} else {
		ChkFooter.style.bottom = '0px';
	}

}

