/**
 * ############################################################
 * ##       Project:    Uithoornse Kinderopvang              ##
 * ##       File:       clientscript/functions.js            ##
 * ##       Date:       30-01-2008                           ##
 * ## ------------------------------------------------------ ##
 * ## JavaScript functies/snippets                           ##
 * ## ------------------------------------------------------ ## 
 * ############################################################
 * ############################################################
 * ##     Author:       Chris Blokland                       ##
 * ##     In opdracht:  Uithoornse kinderopvang              ##
 * ##     Copyright:    dtpXpress / SixSenses                ##
 * ############################################################        
 */

// Browser herkennen
var userAgent = navigator.userAgent.toLowerCase();
var is_opera  = (userAgent.indexOf('opera') != -1);
var is_saf    = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == 'Apple Computer, Inc.'));
var is_webtv  = (userAgent.indexOf('webtv') != -1);
var is_ie     = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv));
var tr_mouseovers=new Array();

if( is_ie )
{
  pointer = 'hand';
} else{
  pointer = 'pointer';
}

// laad document naar url gaan
function go_url( url )
{    
  window.location.href = url;  
}


var filter_init = new Array();
var filter_values = new Array();

function filter_list( txt_filter, lst, container_prefix )
{
  
  
  if( typeof( lst ) == 'string' )
  {
    lst_name = lst;
    lst   = document.getElementById( lst );
  }
 
  if( !lst )
  {
   alert( "Kan geen woordfilter toepassen op '"+lst_name+"' omdat deze niet bestaat!\nlst: "+lst );
   return; 
  }    
  
  if( txt_filter.value != '' )
  {
        
    // Controleer of alles is geinitialiseerd, zoniet dan even alle waardes eerst opslaan in array filter_values
    if( filter_init[container_prefix] != true )
    {
      // Nieuwe dimensie in de array aanmaken
      filter_values[container_prefix]   = new Array();
            
      // Alle waardes opslaan
      for( var i=0; i<lst.options.length; i++ )
      {
        // nog een 3de dimensie voor data opslag alleen, dit is het diepste niveau/level/dimensie whatever you name it
        filter_values[container_prefix][i]    = new Array(); 
        
        // array invullen
        filter_values[container_prefix][i]['text']  = lst.options[i].text;
        filter_values[container_prefix][i]['value'] = lst.options[i].value;
      } // end for i
      
      filter_init[container_prefix] = true;
    } // einde controle of dit is geinitialiseerd        
    
    
    // Lijst legen
    lst.options.length = 0;
    
    // Nu zoeken naar resultaten
    for( var i=0; i<filter_values[container_prefix].length; i++ )
    {
            
      // Invoer van user opslaan in var
      var inpt = trim(txt_filter.value.toLowerCase());
            
      // Gegevens die aanwezig zijn
      var cond = trim(filter_values[container_prefix][i]['text'].toLowerCase() );                  
      var cond = cond.substring( 0, inpt.length );                  
      
      // Vergelijk waardes met mekaar
      if(  trim(cond) == trim(inpt) )
      {
        
        // Voeg item toe aan list
        addOption( lst, filter_values[container_prefix][i]['text'], filter_values[container_prefix][i]['value'] );
      }            
    } // end for i
    
  
  // Er is niks ingevult, lijst weer vulle met alle opties die erin stonden
  } else {
        
    // Lijst legen
    lst.options.length = 0;
    
    // lijst weer vullen met alle oude items
    for( var i=0; i<filter_values[container_prefix].length; i++ )
    {
      addOption( lst, filter_values[container_prefix][i]['text'], filter_values[container_prefix][i]['value'] );      
    } // end for i
    
  } // end if  
}

function addOption(selectbox,text,value )
{
  var optn = document.createElement("OPTION");
  optn.text = text;
  optn.value = value;
  selectbox.options.add(optn);
}

// Spaties aan begin van string verwijderen
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Spaties aan einde van string verwijderen
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Verwijder aan beide zijden de spaties van de string
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}

function findPos(obj) 
{
  if( typeof( obj ) == 'string' )
  {
    obj     = document.getElementById(obj);
    
  }
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}	
	return [curleft,curtop];
}
	

function getWindowSize( return_what ) {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  
  if( return_what == 'w' )
  {
    return myWidth;
  } else {
    return myHeight;
  }  
}



