function getSelection(ta) { 

  var bits = [ta.value,'','','']; 
    
  if(document.selection) { 
	
    var vs = '#$%^%$#';
    var tr=document.selection.createRange()
    if(tr.parentElement()!=ta) return null;
    bits[2] = tr.text;
    tr.text = vs;
    fb = ta.value.split(vs);
    tr.moveStart('character',-vs.length);
    tr.text = bits[2];
    bits[1] = fb[0];
    bits[3] = fb[1];
    
  } else { 
	
	if (ta.selectionStart == ta.selectionEnd) return null;
      
	bits=(new RegExp('([\x00-\xff]{'+ta.selectionStart+'})([\x00-\xff]{'+(ta.selectionEnd - ta.selectionStart)+'})([\x00-\xff]*)')).exec(ta.value);
    
  }
     
  return bits;
  
}

function matchPTags(str) { 

  str = ' ' + str + ' ';
  ot = str.split(/\[[vet|cursief].*?\]/i);
  ct = str.split(/\[\/[vet|cursief].*?\]/i);
  
  return ot.length==ct.length;

}

function addPTag(ta,pTag, link) { 

  bits = getSelection(ta);
  if(bits) { 
  
    if(!matchPTags(bits[2])) { 
	
	  alert('\t\tInvalid Selection\nSelection contains unmatched opening or closing tags.');
      return;
    
	}
	
	if (pTag == 'url') {
	
	  ta.value = bits[1] + '[url=' + link + ']' + bits[2] + '[/url]' + bits[3];
	
	} else {
    
	  ta.value = bits[1] + '[' + pTag + ']' + bits[2] + '[/' + pTag + ']' + bits[3];
	  
	}
	
  }

}

function urlbox(ta) {

  bits = getSelection(ta);
  if(bits) { 
  
    var waarde = prompt ("URL van de link:", "http://");
  
    if (waarde != null && waarde != 'http://' && waarde != '') {
  
      addPTag(document.getElementById('beschrijving'),'url', waarde);
	
    }
	
  }

}

function confirmDelete(deUrl, soort) {

  if (soort == "foto") {
	  
    var is_confirmed = confirm("Weet u zeker dat u de aangevinkte foto('s) wilt verwijderen?");
	
  } else if (soort == "fotomap") {
	  
    var is_confirmed = confirm("Weet u zeker dat u de aangevinkte fotomappen wilt verwijderen?");
	
  } else if (soort == "nieuwsbericht") {
	  
    var is_confirmed = confirm("Weet u zeker dat u de aangevinkte nieuwsbericht(en) wilt verwijderen?");
	
  } else if (soort == "gebruiker") {
	  
    var is_confirmed = confirm("Weet u zeker dat u de aangevinkte gebruiker(s) wilt verwijderen?");
	
  } else if (soort == "blacklistwoord") {
	  
    var is_confirmed = confirm("Weet u zeker dat u de aangevinkte blacklistwoord(en) wilt verwijderen?");
	
  }
  
  if (is_confirmed) {
        location.href = deUrl;
    }
  
}

function popUp(url, width, height) {
	day = new Date();
	id = day.getTime();
	self.open(url, id, 'scrollbars=no, status=0, menu=0, toolbar=0, resizable=no, copyhistory=0, width=' + width + ', height=' + height);
}

function selectAll(knop, formObj) {
  
  
  if (knop.checked == true) { 
  
    isInverse = 0;
	
  } else {
  
    isInverse = 1;
	
  }
  
  for (var i=0;i < formObj.length;i++) {
    
    fldObj = formObj.elements[i];
    if (fldObj.type == 'checkbox')  { 
      
      if(isInverse)
        fldObj.checked = (fldObj.checked) ? false : true;
      
      else 
        fldObj.checked = true; 

    }
	
  } 
  
  if (isInverse == 0) { 
  
    return true;
	
  } else {
	  
    return false;
	
  }

}

function insertSmiley(text) {
	
  var txtarea = document.gastenboek.bericht;
  
  if (txtarea.createTextRange && txtarea.caretPos) {
  
    var caretPos = txtarea.caretPos;
    caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
    txtarea.focus();
  
  } else {
  
    txtarea.value  += text;
    txtarea.focus();
  
  }
  
}

function checkCapsLock( e ) {
	var myKeyCode = 0;
	var myShiftKey = false;
	var myMsg='LET OP !! De capslock toets staat aan.\n\nOm te voorkomen dat u wachtwoord verkeerd ingetypt, kunt u deze het beste uit zetten.';

	// Internet Explorer 4+
	if ( document.all ) {
		myKeyCode=e.keyCode;
		myShiftKey=e.shiftKey;

	// Netscape 4
	} else if ( document.layers ) {
		myKeyCode=e.which;
		myShiftKey=( myKeyCode == 16 ) ? true : false;

	// Netscape 6
	} else if ( document.getElementById ) {
		myKeyCode=e.which;
		myShiftKey=( myKeyCode == 16 ) ? true : false;

	}

	// Upper case letters are seen without depressing the Shift key, therefore Caps Lock is on
	if ( ( myKeyCode >= 65 && myKeyCode <= 90 ) && !myShiftKey ) {
		alert( myMsg );

	// Lower case letters are seen while depressing the Shift key, therefore Caps Lock is on
	} else if ( ( myKeyCode >= 97 && myKeyCode <= 122 ) && myShiftKey ) {
		alert( myMsg );

	}
}