
function confirmDelete2(r,l) {
 var input_box=confirm(r);
 if (input_box==true)
  {
     window.location=l;
  }
}

function checkInt(Input)
     {
          var control="0123456789-'/";
          var newInput="";

          for(var i=0;i<Input.value.length;i++)
               {
                    var chck=Input.value.charAt(i);

                    if(control.indexOf(chck,0)!=-1)
                         {
                              newInput+=chck;
                         }
               }

          Input.value = newInput;
     }

function checkNum(Input)
     {
          var control="0123456789.-'/";
          var newInput="";

          for(var i=0;i<Input.value.length;i++)
               {
                    var chck=Input.value.charAt(i);

                    if(control.indexOf(chck,0)!=-1)
                         {
                              newInput+=chck;
                         }
               }

          Input.value = newInput;
     }

function getWindowSize(which) {
  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 (which=='width') {
    return myWidth;
  } else {
    return myHeight;
  }
}

function image_show(target) {
}
function checkIntTarget(target,current) {
  obj=document.getElementById(target);
  status=document.getElementById('status');
  sub=document.getElementById('submit_button');

  res=false;

  if (obj!=null) {
    s=obj.value;
    if (s!='-1') res=true;
    if (s==current) res=false;
  }

  if (res==true) {
    obj.value=s;
    status.innerHTML='OK';
    sub.style.display='';
  } else {
    status.innerHTML='Please choose another link - you may not select a category, you must select an actual page.';
    sub.style.display='none';
  }

}

function dowait(target) {
  obj_status = document.getElementById(target);
  if (obj_status!=null) obj_status.innerHTML = '<span class="AJAX_busy">&nbsp;<\/span><span class="AJAX_loading"> Please Wait...<\/span>';
}

function toggle_gallery() {
  var spantext=document.getElementById('tog_gallery');
  if (spantext.innerHTML=='Hide Gallery') {
    hideGallery(1);
  } else {
    showGallery(1);
    hideFiles(0);
    hideTemplates(0);
  }
}

function toggle_files() {
  var spantext=document.getElementById('tog_files');
  if (spantext.innerHTML=='Hide FileManager') {
    hideFiles(1);
  } else {
    showFiles(1);
    hideGallery(0);
    hideTemplates(0);
  }
}
function toggle_templates() {
  var spantext=document.getElementById('tog_templates');
  if (spantext.innerHTML=='Hide Templates') {
    hideTemplates(1);
  } else {
    showTemplates(1);
    hideGallery(0);
    hideFiles(0);
  }
}

function toggle_editor() {
  var editor_wrap=document.getElementById('id_content_html_wrap');
  var spantext=document.getElementById('tog_editor');
  if (editor_wrap.style.display=='none') {
    editor_wrap.style.display='';
    spantext.innerHTML='Hide Editor';
  } else {
    editor_wrap.style.display='none';
    spantext.innerHTML='Show Editor';
  }
}
function image_loaded() {
  // dummy function to handle drag+drop images from gallery
  return true;
}

function showGallery(doframe) {
  var spantext=document.getElementById('tog_gallery');
  spantext.innerHTML='Hide Gallery';
  var iframe=document.getElementById('stock_frame');
  iframe.src="./scripts/gallery/index.php";
  iframe.height="300";
  iframe.style.display='';
  var header=document.getElementById('stock_header');
  header.innerHTML = '<strong>Gallery</strong> : University Images';
  header.style.display='none';
  var footer=document.getElementById('stock_footer');
  footer.innerHTML = 'Click the thumbnail to get a larger version. Drag into the editor to add the picture. <a href="#" class="job_buttons" onclick="toggle_gallery();">Hide Gallery</a> ^ ';
  footer.style.display='';
}

function hideGallery(doframe) {
  var spantext=document.getElementById('tog_gallery');
  spantext.innerHTML='Show Gallery';

  if (doframe==1) {
    var iframe=document.getElementById('stock_frame');
    iframe.height="0";
    iframe.style.display='none';
    var header=document.getElementById('stock_header');
    header.innerHTML = '';
    header.style.display='none';
    var footer=document.getElementById('stock_footer');
    footer.innerHTML = '';
    footer.style.display='none';
  }
}


function showFiles(doframe) {
  var spantext=document.getElementById('tog_files');
  spantext.innerHTML='Hide FileManager';

  if (doframe==1) {
    var iframe=document.getElementById('stock_frame');
    iframe.src="./scripts/files/files.php";
    iframe.height="300";
    iframe.style.display='';
    var header=document.getElementById('stock_header');
    header.innerHTML = '<strong>Files</strong> : University Documents &raquo; Website Documents';
    header.style.display='none';
    var footer=document.getElementById('stock_footer');
    footer.innerHTML = 'Choose a file then drag the link in the orange box into the editor. <a href="#" class="job_buttons" onclick="toggle_files();">Hide Files</a> ^ ';
    footer.style.display='';
  }
}

function hideFiles(doframe) {
  var spantext=document.getElementById('tog_files');
  spantext.innerHTML='Show FileManager';

  if (doframe==1) {
    var iframe=document.getElementById('stock_frame');
    iframe.height="0";
    iframe.style.display='none';
    var header=document.getElementById('stock_header');
    header.innerHTML = '';
    header.style.display='none';
    var footer=document.getElementById('stock_footer');
    footer.innerHTML = '';
    footer.style.display='none';
  }
}


function showTemplates() {
  var spantext=document.getElementById('tog_templates');
  spantext.innerHTML='Hide Templates';

  var iframe=document.getElementById('stock_frame');
  iframe.src="./html/admin_page_content_editor_templates.inc.php";
  iframe.height="300";
  iframe.style.display='';
  var header=document.getElementById('stock_header');
  header.innerHTML = '<strong>Templates</strong> ';
  header.style.display='none';
  var footer=document.getElementById('stock_footer');
  footer.innerHTML = 'Select the template you want and click "Use this template". <a href="#" class="job_buttons" onclick="toggle_templates();">Hide Templates</a> ^ ';
  footer.style.display='';
}

function hideTemplates(doframe) {
  var spantext=document.getElementById('tog_templates');
  spantext.innerHTML='Show Templates';

  if (doframe==1) {
    var iframe=document.getElementById('stock_frame');
    iframe.height="0";
    iframe.style.display='none';
    var header=document.getElementById('stock_header');
    header.innerHTML = '';
    header.style.display='none';
    var footer=document.getElementById('stock_footer');
    footer.innerHTML = '';
    footer.style.display='none';
  }
}



function hide(obj) {
  var theObj=document.getElementById(obj);
  if (theObj != null)  {
    theObj.className='section_hidden';
  }
}
function show(obj) {
  var theObj=document.getElementById(obj);
  if (theObj != null)  {
    theObj.className='section_shown';
  }
}
function toggle(obj) {
 var theObj=document.getElementById(obj);
  if (theObj != null)  {
    if (theObj.className=='section_shown') {
      hide(obj);
    } else {
      show(obj);
    }
  }
}


function addEvent(obj, evType, fn){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    return false;
  }
}

/* ---------------------------------------------------------------------- */
/*
Function to handle horizontal list display
*/
function startList() {
  if (document.all&&document.getElementById) {
    navRoot = document.getElementById("nav_menu");
    for (i=0; i<navRoot.childNodes.length; i++) {
      node = navRoot.childNodes[i];
      if (node.nodeName=="LI") {
        node.onmouseover=function() {
          this.className+=" over";
        }
        node.onmouseout=function() {
          this.className=this.className.replace(" over", "");
        }
      }
    }
  }
}

// addEvent(window, "load", startList);
// don't run on window.load - run immediately after horizontal list is generated.

/* ---------------------------------------------------------------------- */
/*
Converts an unordered list to an explorer-style tree, with clickable icons

http://www.kryogenix.org/code/browser/aqlists/
*/

// addEvent(window, "load", makeTreesC);
// don't run on window.load - run immediately after tree list is generated.

function makeTreesC() {
  // We don't actually need createElement, but we do
  // need good DOM support, so this is a good check.
  if (!document.createElement) return;

  uls = document.getElementsByTagName("ul");
  for (uli=0;uli<uls.length;uli++) {
    ul = uls[uli];
    if (ul.nodeName == "UL" && (ul.className == "nav" || ul.className == "navcollapsedtree")) {
      processULELC(ul);
    }
  }
}

function processULELC(ul) {
  if (!ul.childNodes || ul.childNodes.length == 0) return;
  // Iterate LIs
  for (var itemi=0;itemi<ul.childNodes.length;itemi++) {
    var item = ul.childNodes[itemi];
    if (item.nodeName == "LI") {
      // Iterate things in this LI
      var a;
      var subul;
      subul = "";
      for (var sitemi=0;sitemi<item.childNodes.length;sitemi++) {
        var sitem = item.childNodes[sitemi];
        switch (sitem.nodeName) {
          case "A": a = sitem; break;
          case "UL": subul = sitem;
          processULELC(subul);
          break;
        }
      }
      if (subul) {
        associateELC(a,subul);
      } else {
        if (a.parentNode.className !='navcurrent') {
        a.parentNode.className = "navbullet";
        }
      }
    }
  }
}

function associateELC(a,ul) {
  if (a.parentNode.className.indexOf('navopen') == -1)
  a.parentNode.className = 'navclosed';
  a.onclick = function () {

    this.parentNode.className = (this.parentNode.className=='navopen') ? "navclosed" : "navopen";
    return false;
  }
}


function makeTreesD() {
  // We don't actually need createElement, but we do
  // need good DOM support, so this is a good check.
  if (!document.createElement) return;

  uls = document.getElementsByTagName("ul");
  for (uli=0;uli<uls.length;uli++) {
    ul = uls[uli];
    if (ul.nodeName == "UL" && (ul.className == "nav" || ul.className == "navcollapsedtree")) {
      processULELC_link(ul);
    }
  }
}

function processULELC_link(ul) {
  if (!ul.childNodes || ul.childNodes.length == 0) return;
  // Iterate LIs
  for (var itemi=0;itemi<ul.childNodes.length;itemi++) {
    var item = ul.childNodes[itemi];
    if (item.nodeName == "LI") {
      // Iterate things in this LI
      var a;
      var subul;
      subul = "";
      for (var sitemi=0;sitemi<item.childNodes.length;sitemi++) {
        var sitem = item.childNodes[sitemi];
        switch (sitem.nodeName) {
          case "A": a = sitem; break;
          case "UL": subul = sitem;
          processULELC_link(subul);
          break;
        }
      }
      if (subul) {
        associateELC_link(a,subul);
      } else {
        if (a.parentNode.className !='navcurrent') {
        a.parentNode.className = "navbullet";
        }
      }
    }
  }
}

function associateELC_link(a,ul) {
  if (a.parentNode.className.indexOf('navopen') == -1)
  a.parentNode.className = 'navclosed';
  a.onclick = function () {

    this.parentNode.className = (this.parentNode.className=='navopen') ? "navclosed" : "navopen";
    return true;
  }
}



/* ---------------------------------------------------------------------- */
/*
Converts an unordered list to an explorer-style tree, with clickable icons

http://www.kryogenix.org/code/browser/aqlists/
*/

// addEvent(window, "load", makeTreesC);
// don't run on window.load - run immediately after tree list is generated.

function makeTreesC2() {
  // We don't actually need createElement, but we do
  // need good DOM support, so this is a good check.
  if (!document.createElement) return;

  uls = document.getElementsByTagName("ul");
  for (uli=0;uli<uls.length;uli++) {
    ul = uls[uli];
    if (ul.nodeName == "UL" && (ul.className == "nav" || ul.className == "navcollapsedtree")) {
      processULELC2(ul);
    }
  }
}

function processULELC2(ul) {
  if (!ul.childNodes || ul.childNodes.length == 0) return;
  // Iterate LIs
  for (var itemi=0;itemi<ul.childNodes.length;itemi++) {
    var item = ul.childNodes[itemi];
    if (item.nodeName == "LI") {
      // Iterate things in this LI
      var a;
      var subul;
      subul = "";
      for (var sitemi=0;sitemi<item.childNodes.length;sitemi++) {
        var sitem = item.childNodes[sitemi];
        switch (sitem.nodeName) {
          case "A": a = sitem; break;
          case "UL": subul = sitem;
          processULELC2(subul);
          break;
        }
      }
      if (subul) {
        associateELC2(a,subul);
      } else {
        if (a.parentNode.className !='navcurrent') {
        a.parentNode.className = "navbullet";
        }
      }
    }
  }
}

function associateELC2(a,ul) {
  if (a.parentNode.className.indexOf('navopen') == -1)
  a.parentNode.className = 'navclosed';
  a.onclick = function () {

    this.parentNode.className = (this.parentNode.className=='navopen') ? "navclosed" : "navopen";

    return true;
  }
}

function show_fileinfo(location) {

        vWinFile = window.open(location, "FileInformation", "width=450,height=250,status=no,resizable=no,top=100,left=100");
        vWinFile.opener = self;
        ggWinFile = vWinFile;
        return false;
}

function tr_toggle(id) {
   var img = document.getElementById('h_img_'+id);
   var tr = document.getElementById('h_tr_'+id);
   var div = document.getElementById('h_div_'+id);

   if (tr.style.display=='none') {
     div.style.opacity='0';
     tr.style.display='';
     tr.style.height='0px';
     img.src="./gfx/icon_minus.gif";
   } else {
     tr.style.display='none';
     img.src="./gfx/icon_plus.gif";
   }

}

function log_toggle(id) {
   var img = document.getElementById('h_img_'+id);
   var log = document.getElementById(id);
   if (log.style.display=='none') {
     log.style.display='';
     img.src="./gfx/icon_minus.gif";
   } else {
     log.style.display='none';
     img.src="./gfx/icon_plus.gif";
   }

}

function doConfirm(message,location) {
 var input_box=confirm(message);
 if (input_box==true)
  {
     window.location=location;
  }
}

function doConfirmAnim(message,location,anim) {
 var input_box=confirm(message);
 if (input_box==true)
  {
    anim.animate();
    window.location=location;
  }
}

function checkAlphaNum(Input)
     {
          var control="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'/";
          var newInput="";

          for(var i=0;i<Input.value.length;i++)
               {
                    var chck=Input.value.charAt(i);

                    if(control.indexOf(chck,0)!=-1)
                         {
                              newInput+=chck;
                         }
               }

          Input.value = newInput;
     }

function checkAlphaNumSpace(Input)
     {
          var control=" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'/";
          var newInput="";

          for(var i=0;i<Input.value.length;i++)
               {
                    var chck=Input.value.charAt(i);

                    if(control.indexOf(chck,0)!=-1)
                         {
                              newInput+=chck;
                         }
               }

          Input.value = newInput;
     }
function checkAlphaNumSpaceSym(Input)
     {
          var control=" _-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'/";
          var newInput="";

          for(var i=0;i<Input.value.length;i++)
               {
                    var chck=Input.value.charAt(i);

                    if(control.indexOf(chck,0)!=-1)
                         {
                              newInput+=chck;
                         }
               }

          Input.value = newInput;
     }


function getNum(input) {
  var control="0123456789.-";
  var newInput="";
  for(var i=0;i<input.length;i++) {
    var chck=input.charAt(i);
    if(control.indexOf(chck,0)!=-1) {
      newInput+=chck;
    }
  }
  return newInput*1;
}

function setMaxWidth_script(elem_id) {
  var myWidth = document.documentElement.clientWidth;
  var elem = document.getElementById(elem_id);
  if (getNum(elem.style.width)<(myWidth-240)) {
    elem.style.width=(myWidth-240)+"px";
  }
}

function dotabwait() {
 return true;
}function dotabwait2() {
 return true;
}