function showSelectGallery() {
  pop_out('nl-select-gallery.html', 500, 500);
}
function showSelectPicture() {
  pop_out('nl-select-picture.html', 500, 900);
}
function getCaretPos(element) {
 //This function from http://blog.vishalon.net/index.php/javascript-getting-and-setting-caret-position-in-textarea/
 var CaretPos = 0;
 // IE Support
 if (document.selection) {
  element.focus();
	var Sel = document.selection.createRange();
	Sel.moveStart ('character', -element.value.length);
	CaretPos = Sel.text.length;
	
 }
 // Firefox support
 else if (element.selectionStart || element.selectionStart == '0') {
  CaretPos = element.selectionStart;
 }
 return (CaretPos);
}
function getCaretPosition (el) {
 var CaretPos = 0
 
 if (el.type != 'text' && el.type != 'textarea') {
  return;
 }
 
 el.focus();
 if (el.selectionStart) {
  CaretPos = el.selectionStart;
 } else if (document.selection) { // IE
  var selectionRange = document.selection.createRange();
  selectionRange.moveStart ('word', -el.value.length);
  CaretPos = selectionRange.text.length - 243; /* The number representes some startvalue of some kind, found by trial-and-error */
 } else {
  CaretPos = el.value.length;
 }
 return CaretPos;
}
function setCaretPosition(el, pos) {
 //http://blog.vishalon.net/index.php/javascript-getting-and-setting-caret-position-in-textarea/
 if(el.setSelectionRange) {
  el.focus();
  el.setSelectionRange(pos,pos);
 } else if (el.createTextRange) {
  var range = el.createTextRange();
  range.collapse(true);
  range.moveEnd('character', pos);
  range.moveStart('character', pos);
  range.select();
 }
 el.focus();
}
function fillIn(string) {
 var caretPos = getCaretPosition(document.getElementById('body'));
 var text = document.getElementById('body').value;
 var start = text.substring(0, caretPos);
 var end = text.substring(caretPos);
 
 document.getElementById('body').value = start + string + end;
 setCaretPosition(document.getElementById('body'), (start.length + string.length));
}
function pop_out(url, height, width) {
  if (typeof height == "undefined") {
    height = 300;
  }
  if (typeof width == "undefined") {
    width = 400;
  }

  var left = (screen.width - width)/2;
  var top = (screen.height - height)/2;
  popper = window.open(url,'popper','resizable=yes, scrollbars=yes, height='+height+', width='+width+', left='+left+', top='+top);
  if (window.focus) {popper.focus()}
  return true;
}
function selectedPageType() {
 if (document.getElementById('type')) {
  if (document.getElementById('type').value == 'static') {
   document.getElementById('linkedTo').disabled = true;
   document.getElementById('body').disabled = false;
  } else if (document.getElementById('type').value == 'devider') {
   document.getElementById('linkedTo').disabled = true;
   document.getElementById('body').disabled = true;
  } else if (document.getElementById('type').value == 'linked') {
   document.getElementById('linkedTo').disabled = false;
   document.getElementById('body').disabled = true;
  }
 }
 if (document.getElementById('body').disabled) {
  document.getElementById('body').style.backgroundColor = '#CCC';
 } else {
  document.getElementById('body').style.backgroundColor = '#FFF';
 }
}