
function init() {
 for(var i = 0; i < document.getElementById("menu").getElementsByTagName("li").length; i++) {
  listitem = document.getElementById("menu").getElementsByTagName("li")[i];
  listitem.onmouseover = closesubmenus;
  if(listitem.getElementsByTagName("ul").length) {
   listitem.onmouseover = function() {this.className = "hover"; closesubmenus(); this.getElementsByTagName("ul")[0].style.display = "block";}
   listitem.onmouseout = function() {this.className = "";}
  }
 }
}
window.onload = init;

function closesubmenus() {
 for(var i = 0; i < document.getElementById("menu").getElementsByTagName("ul").length; i++) {
  document.getElementById("menu").getElementsByTagName("ul")[i].style.display = "none";
 }
}

function getfilename(fileobject, textfieldID) {
 filename = fileobject.value;
 if(filename.indexOf("\\") != -1) {filename = filename.substring(filename.lastIndexOf("\\") + 1);}
 if(filename.indexOf("/") != -1) {filename = filename.substring(filename.lastIndexOf("/") + 1);}
 if(filename.indexOf(".") != -1) {filename = filename.substring(0, filename.indexOf("."));}
 input = document.getElementById(textfieldID);
 if(!input.value) {input.value = filename;}
}

current = 0;
busy = 0;

function showphoto(source) {
 if(source == current) {return true;}
 current = source;

 root = source.substring(0, source.lastIndexOf("/"));
 root = root.substring(0, root.lastIndexOf("/"));
 document.getElementById("photo").setAttribute("src", root + "/images/loading.gif");
 if(busy) {clearInterval(interval);}
 busy++;

 image = new Image();
 image.src = source;
 loadphoto(); //prevends flashing loader
 interval = setInterval(loadphoto, 50);
}

function loadphoto() {
 if(image.complete) {
  busy = 0;
  clearInterval(interval);
  updatephoto(image.src);
 }
}

function updatephoto(source) {
 image = new Image();
 image.src = source;
 document.getElementById("photo").setAttribute("src", source);
}

page = 1;
function initthumbscroller(total, cols) {
 pages = total;
 arrow1 = document.getElementById("leftarrow");
 arrow2 = document.getElementById("rightarrow");
 containerobj = document.getElementById("thumbcontainer");
 offset = cols * 67 + 10;
 if(pages > 1) {
  arrow2.style.visibility = "visible";
  arrow2.onclick = nextthumbs;
  arrow1.onclick = prevthumbs;
 }
}

function nextthumbs() {
 try {clearInterval(thumbscroll);} catch(e) {}
 containerobj.scrollLeft = (page - 1) * offset;
 page++;
 thumbscroll = setInterval(scrollthumbs, 30);
 if(page == pages) {arrow2.style.visibility = "hidden";}
 arrow1.style.visibility = "visible";
}

function prevthumbs() {
 try {clearInterval(thumbscroll);} catch(e) {}
 containerobj.scrollLeft = (page - 1) * offset;
 page--;
 thumbscroll = setInterval(scrollthumbs, 30);
 if(page == 1) {arrow1.style.visibility = "hidden";}
 arrow2.style.visibility = "visible";
}

function scrollthumbs() {
 target = (page - 1) * offset;
 current = containerobj.scrollLeft;
 delta = target - current;
 if(delta < 2 && delta >= 0) {
  containerobj.scrollLeft = target;
  clearInterval(thumbscroll);
 } else if(delta > -2 && delta <= 0) {
  containerobj.scrollLeft = target;
  clearInterval(thumbscroll);
 } else {
  containerobj.scrollLeft += Math.round(delta * 0.3);
  //if(delta > 0) {containerobj.scrollLeft += 2;} else {containerobj.scrollLeft -= 2;}
 }
}

function initcms() {
 document.getElementById("cmstoolbar").style.display = "none";
 cmsobj = document.getElementById("cms");

 cmsobj.contentWindow.document.designMode = "on";
 if(cmsobj.contentWindow.document.readyState != "complete" && navigator.appName == "Microsoft Internet Explorer") {cmsobj.contentWindow.document.onreadystatechange = initcms; return true;}

 cssurl = document.getElementsByTagName("link")[0].href;
 cssurl = cssurl.replace("style", "cmsstyle");
 stylesheet = cmsobj.contentWindow.document.createElement("link");
 stylesheet.rel = "stylesheet";
 stylesheet.href = cssurl;
 cmsobj.contentWindow.document.getElementsByTagName("head")[0].appendChild(stylesheet);

 cmsobj.style.display = "none";
}

mode = 2;

function togglemode(newmode) {
 if(newmode == mode) {return true;}
 if(mode == 1) {
  html = cmsobj.contentWindow.document.body.innerHTML;
  document.getElementById("cmscode").value = html;
  cmsobj.style.display = "none";
  document.getElementById("cmstoolbar").style.display = "none";
  document.getElementById("cmslinkbar").style.display = "none";
  document.getElementById("cmsimagebar").style.display = "none";
  document.getElementById("cmstablebar").style.display = "none";
  document.getElementById("cmscode").style.display = "block";
  mode = 2;
  document.getElementById("tab1").className = "tab-active";
  document.getElementById("tab2").className = "tab";
 } else {
  html = document.getElementById("cmscode").value;
  cmsobj.contentWindow.document.body.innerHTML = html;
  cmsobj.style.display = "block";
  document.getElementById("cmstoolbar").style.display = "block";
  document.getElementById("cmscode").style.display = "none";
  mode = 1;
  document.getElementById("tab1").className = "tab";
  document.getElementById("tab2").className = "tab-active";
 }
}

function docommand(command) {
 cmsobj.contentWindow.focus();
 if(command == "heading") {cmsobj.contentWindow.document.execCommand('formatblock', false, '<H1>');}
 else {cmsobj.contentWindow.document.execCommand(command, false, null);}
}

function toggleimagebar() {
 document.getElementById("cmslinkbar").style.display = "none";
 document.getElementById("cmstablebar").style.display = "none";
 if(document.getElementById("cmsimagebar").style.display == "block") {
  document.getElementById("cmsimagebar").style.display = "none";
 } else {
  document.getElementById("cmsimagebar").style.display = "block";
 }
}

function insertimage(source) {
 cmsobj.contentWindow.focus();
 cmsobj.contentWindow.document.execCommand('insertimage', false, source);
 toggleimagebar();
}

function togglelinkbar() {
 document.getElementById("cmstablebar").style.display = "none";
 document.getElementById("cmsimagebar").style.display = "none";
 if(document.getElementById("cmslinkbar").style.display == "block") {
  document.getElementById("cmslinkbar").style.display = "none";
 } else {
  document.getElementById("cmslinkbar").style.display = "block";
 }
}

function insertlink() {
 url = document.getElementById("url").value;
 cmsobj.contentWindow.document.execCommand('createlink', false, url);
 togglelinkbar();
}

function toggletablebar() {
 document.getElementById("cmslinkbar").style.display = "none";
 document.getElementById("cmsimagebar").style.display = "none";
 if(document.getElementById("cmstablebar").style.display == "block") {
  document.getElementById("cmstablebar").style.display = "none";
 } else {
  document.getElementById("cmstablebar").style.display = "block";
 }
}

function inserttable() {
 cols = Math.floor(parseInt(document.getElementById("cols").value));
 if(cols <= 0) {cols = 3;}
 rows = Math.floor(parseInt(document.getElementById("rows").value));
 if(rows <= 0) {rows = 3;}
 style = document.getElementById("style").checked;
 if(!style) {code = "<table cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">";}
 else {code = "<table cellspacing=\"1\" cellpadding=\"3\" width=\"100%\" class=\"formatted\">";}
 rowcontent = "";
 for(var i = 0; i < cols; i++) {rowcontent += "<td></td>";}
 for(var i = 0; i < rows; i++) {code += "<tr>" + rowcontent + "</tr>";}
 code += "</table>";
 cmsobj.contentWindow.focus();
 if(navigator.appName == "Microsoft Internet Explorer") {
  cmsobj.contentWindow.document.selection.createRange().pasteHTML(code); 
 } else {
  cmsobj.contentWindow.document.execCommand('inserthtml', false, code);
 }
}
