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) {

  var is_confirmed = confirm("Deze foto 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);
}