function keyCheck(eventObj, obj, decimals, negative, percentage)
{
	if (obj.disabled==false)
	{
		var keyCode, length2;
		// Check For Browser Type
		if (document.all)
      keyCode = eventObj.keyCode;
		else
      keyCode = eventObj.which;

		var str = obj.value;

    if(decimals == true && (keyCode==44 || keyCode==46) && str.search('.') == false) //komma's naar punten converteren.
		{
			eventObj.keyCode = 46;

			if(str.indexOf(".") > 0)
				return false;
		  else
				return true;
		}

    if(negative == true && keyCode==45 && str.search('-') == -1 && str.length == 0) //komma's naar punten converteren.
		{
			eventObj.keyCode = 45;

			if(str.indexOf("-") > 0)
				return false;
		  else
				return true;
		}

    if(str.indexOf('.') >= 0)
      str2 = str.substr(str.indexOf('.'), (str.length - str.indexOf('.')));
    else
      str2 = '';

    if(percentage)
      length2 = 5;
    else
      length2 = 3;

		if((decimals == true && keyCode == 46) || (negative == true && keyCode==45) || (keyCode<48 || keyCode >58) || str2.length >= length2) // Alleen integers toegestaan. Als punten mogen dan (keyCode != 46) toevoegen
      return false;

		return true;
	}
}


function Update_PostalCode(obj)
{
  var postalcode;
  postalcode = obj.value;

  if(postalcode.length == 6)
  {
    postalcode = postalcode.toUpperCase();
    obj.value = postalcode.substr(0, 4) + " " + postalcode.substr(4, 2);
  }
  else
  {
    obj.value = postalcode.toUpperCase();
  }
}


function Update_Date(obj)
{
  var date;
  date = obj.value;

  myRegExp = /(\d{1})/;


  if(date.length == 1 && date.match(myRegExp) && date != '0')
  {
    obj.value = "0" + date;
  }
}

function Update_Number(obj)
{
  strNumber = obj.value;

  if(strNumber.substring(0, 1) == "0")
    obj.value = strNumber.substring(1, (strNumber.length));
  else
    obj.value = strNumber;
}


function Update_URL(obj)
{
  strURL = obj.value;

  if(strURL.substring(0, 7) == "http://")
    obj.value = strURL.substring(7, (strURL.length));
  else
    obj.value = strURL;
}


var win = null;
function NewWindow(mypage,myname,w,h,scroll)
{
  LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
  TopPosition = (screen.height) ? (screen.height-h)/2 : 0;

  settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',toolbar=yes, resizable='+scroll;
  
  win = window.open(mypage,myname,settings)
  
  if(win.window.focus)
  {
    win.window.focus();
  }
}

function Update_BirthDate(obj)
{
  var birthdate;
  birthdate = obj.value;

  if(birthdate.length == 8)
    obj.value = birthdate.substr(0, 2) + "-" + birthdate.substr(2, 2) + "-" + birthdate.substr(4, 4);
}



    
function ShowHide(pElement, pMode) 
{	
	if(pMode == 'show')
	{
		if(document.getElementById(pElement).value == '-')
			document.getElementById(pElement).value = '';
		document.getElementById(pElement).style.position = 'relative'; 
		document.getElementById(pElement).style.visibility = 'visible'; 
	}
	else
	{
		document.getElementById(pElement).value = '-';
		document.getElementById(pElement).style.position = 'absolute'; 
		document.getElementById(pElement).style.visibility = 'hidden'; 
	}
}

function ShowHideElement(pElement, pImage, pWebLoc) 
{ 
  if(document.getElementById(pElement).style.position == 'absolute')
    document.getElementById(pElement).style.position = 'relative'; 
  else 
    document.getElementById(pElement).style.position = 'absolute'; 
    
  if(document.getElementById(pElement).style.visibility == 'hidden')
    document.getElementById(pElement).style.visibility = 'visible'; 
  else
    document.getElementById(pElement).style.visibility = 'hidden'; 

  if(pImage != "")
  {
    if(document.getElementById(pImage).src == pWebLoc + 'images/plus.gif')
      document.getElementById(pImage).src = pWebLoc + 'images/minus.gif';
    else
      document.getElementById(pImage).src = pWebLoc + 'images/plus.gif';
  }
}

// sort function - ascending (case-insensitive)
function sortFuncAsc(record1, record2)
{
  var value1 = record1.optText.toLowerCase();
  var value2 = record2.optText.toLowerCase();
  
  if(value1 > value2)
    return(1);
  
  if(value1 < value2)
    return(-1);

  return(0);
}

// sort function - descending (case-insensitive)
function sortFuncDesc(record1, record2)
{
  var value1 = record1.optText.toLowerCase();
  var value2 = record2.optText.toLowerCase();

  if(value1 > value2)
    return(-1);
  
  if(value1 < value2)
    return(1);

  return(0);
}

function sortSelect(selectToSort, ascendingOrder)
{
  var selected;

  if(arguments.length == 1)
    ascendingOrder = true;    // default to ascending sort

  // copy options into an array
  var myOptions = [];

  for(var loop = 0; loop < selectToSort.options.length; loop++)
  {
    if(selectToSort.options[loop].selected == true)
      selected = selectToSort.options[loop].value;

    myOptions[loop] = {optText:selectToSort.options[loop].text, optValue:selectToSort.options[loop].value};
  }

  // sort array
  if (ascendingOrder)
  {
    myOptions.sort(sortFuncAsc);
  }
  else
  {
    myOptions.sort(sortFuncDesc);
  }

  // copy sorted options from array back to select box
  selectToSort.options.length = 0;


  var selectedIndex2;
  
  for(var loop = 0; loop < myOptions.length; loop++) 
  {
    if(selected == myOptions[loop].optValue)
      selectedIndex2 = loop;

    selectToSort.options[loop] = new Option(myOptions[loop].optText, myOptions[loop].optValue, false);

    selectToSort.selectedIndex = selectedIndex2;
  }
}

function SubmitOnce() 
{ 
  return false; 
}

var isNN = (navigator.appName.indexOf("Netscape") !=-1);

function AutoTab(input,len, e, blnPrevious, blnNext) 
{						
  //automatisch naar volgende velden te aan.
  var keyCode = (isNN) ? e.which : e.keyCode; 				//bepaal property voor uitlezen van keycode (ASCII nummer voor ingetoetst karakter)
  var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46]; 	//definieer filter (array) voor speciale tekens 
  
  //als de lengte van veld groter is dan len en de string geen verboden karakters bevat dan
  if(keyCode == 8 && input.value.length == 0 && blnPrevious == true)
  {
    var inputBox = input.form[(GetIndex(input)-1) % input.form.length];
    
    if (inputBox.createTextRange) 
    {
      var oRange = inputBox.createTextRange();
      oRange.moveStart("character", inputBox.value.length-1);
      oRange.moveEnd("character", inputBox.value.length);

      oRange.select();
    }
    else
      inputBox.setSelectionRange(inputBox.value.length-1, inputBox.value.length);
            
    inputBox.focus();	//zet focus naar volgende veld
  }
  else if(blnNext == true)
  {
    if(input.value.length >= len && !ContainsElement(filter,keyCode)) 
    {	
      input.value = input.value.slice(0, len);			//extract first item from array
      input.form[(GetIndex(input)+1) % input.form.length].select();
      input.form[(GetIndex(input)+1) % input.form.length].focus();	//zet focus naar volgende veld
    };
  }

  function ContainsElement(arr, ele)
  {		//als ele (keycode) voorkomt in array dan true
    var found = false, index = 0;
    while(!found && index < arr.length) 
    {
      if(arr[index] == ele) 
      {
        found = true;	
      } 
      else 
      {
        index++;
      };
    };
    
    return found;
  };

  function GetIndex(input) 
  {
    var index = -1, i = 0, found = false;
    
    while (i < input.form.length && index == -1) 
    {
      if (input.form[i] == input) 
      {
        index = i;
      } 
      else 
      {
        i++;
      };
    };
    
    return index;
  };

  return true;
};

// het activeren van het "even wachten" voor het premiebereken scherm
function showmessage(id, toonmelding, w, h)
{
  for (var i=0;i < document.aspnetForm.elements.length; i++) 
  {        	
    if (document.aspnetForm.elements[i].tagName=='SELECT')
    {
      //document.aspnetForm.elements[i].disabled='true';//document.aspnetForm.elements[i].style.width='0px';
	    document.aspnetForm.elements[i].style.display = 'none';
    }
  }

  var LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
  var TopPosition = (screen.height) ? (screen.height-h)/2 : 0;

	var obj1 = document.getElementById(id);
	obj1.style.display = '';
	obj1.style.left = LeftPosition;
	obj1.style.top = TopPosition;
	
	if(toonmelding != "")
	{
	  //om de juiste specifieke message te tonen vul de div met de wachtschermwaarde
	  id2 = "messagetonen";	
	  var obj2 = document.getElementById(id2);

	  obj2.innerHTML = toonmelding;
	  obj2.style.display = '';
    //document.images['animgif2'].src=preload.src; 
  }
}

// het tonen of verbergen van een element
function hidemessage(id)
{
	var obj1 = document.getElementById(id);
	
	obj1.style.display = 'none';
  
  for (var i=0;i < document.aspnetForm.elements.length; i++) 
  {        	
    if (document.aspnetForm.elements[i].tagName=='SELECT')
    {
      document.aspnetForm.elements[i].disabled='';//document.aspnetForm.elements[i].style.width='0px';
	    document.aspnetForm.elements[i].style.display = '';
    }
  }
}

// het tonen of verbergen van een element
function showElement(id)
{
	var obj1 = document.getElementById(id);
	
	if (obj1.style.display == 'none')
		obj1.style.display = '';
	else
		obj1.style.display = 'none';
}

// set mousepointer on wait
function setPointer(tonenbutton) 
{
  if (document.aspnetForm.elements)
  {
    for (var i=0;i < document.aspnetForm.elements.length; i++) 
    {
      if(tonenbutton == 'disable')
      {
        document.aspnetForm.elements[i].style.cursor = 'wait';
      
        if (document.aspnetForm.elements[i].tagName=='INPUT' && (document.aspnetForm.elements[i].type=='text'||document.aspnetForm.elements[i].type=='radio'||document.aspnetForm.elements[i].type=='checkbox' ))
          document.aspnetForm.elements[i].disabled='true';

        if (document.aspnetForm.elements[i].tagName=='SELECT')
          document.aspnetForm.elements[i].disabled='true';
      }
      else
      {
        document.aspnetForm.elements[i].style.cursor = 'auto';
        
        if (document.aspnetForm.elements[i].tagName=='INPUT' && (document.aspnetForm.elements[i].type=='text'||document.aspnetForm.elements[i].type=='radio'||document.aspnetForm.elements[i].type=='checkbox' ))
          document.aspnetForm.elements[i].disabled='';
        
        if (document.aspnetForm.elements[i].tagName=='SELECT')
          document.aspnetForm.elements[i].disabled='';
      }
    }
  }
}

function CheckOnce(obj)
{
  obj.checked = true;
}

function GetXMLValue(pXmlNode, pElement)
{
  var strText;
  
  var element = pXmlNode.getElementsByTagName(pElement);
        
  for (var count = 0; count < element.length; count++)
  {
    strText = (element[count].textContent || element[count].innerText || element[count].text);
  }
  
  return strText;
}

function GetXMLValue2(pDOMDocument, pXPath)
{
  var strText = "";
  
	var node = pDOMDocument.documentElement.selectSingleNode(pXPath);

	if(node != null)
    strText = node.text;
        
  return strText;
}


var hasInnerText =
(document.getElementsByTagName("body")[0].innerText != undefined) ? true : false;

function changeTextById(elementId,changeVal){
    if(!hasInnerText){
        elementId.textContent = changeVal;
    }else{
        elementId.innerText = changeVal;
    }
}


function mask(eventObj, str, textbox, loc, delim)
{
  var locs = loc.split(',');
  
	var keyCode, length2;
	// Check For Browser Type
	if (document.all)
    keyCode = eventObj.keyCode;
	else
    keyCode = eventObj.which;

  //substract uitfilteren	
  if(keyCode != 189 && keyCode != 109) 
  {
    if(keyCode != 8 && keyCode != 37 && keyCode != 39) //backspace, pijltje naar links en naar rechts gewoon toestaan.
	  {
      for (var i = 0; i <= locs.length; i++)
      {
	      for (var k = 0; k <= str.length; k++)
	      {
	        if (k == locs[i])
	        {
	          if (str.substring(k, k+1) != delim)
	          {
	            str = str.substring(0,k) + delim + str.substring(k,str.length)
	          }
	        }
	      }
      }
    }
   
    textbox.value = str;
  }
  else
  {
    var addItem = false;
    
    for (var i = 0; i <= locs.length; i++)
    {
      if (str.length -1 == locs[i])
      {
        addItem = true;
      }
	  }
	  
	  if(addItem == true)
      textbox.value = str;	  
	  else
      textbox.value = str.substring(0,str.length -1);
  }
}



function ShowMessageIfValid(obj, message, width, height)
{
  if(typeof(Page_ClientValidate) == 'function') 
  {
    if (Page_ClientValidate() == false) 
    { return false; }
  }

  obj.disabled = true;
  showmessage('divMessage', message, width, height);
}