function create_element(type, parent)
{
 var element = null;
 if (document.createElementNS)
  element = document.createElementNS("http://www.w3.org/1999/xhtml", type);
 else
  element = document.createElement(type);
 if (typeof parent != "undefined")
  parent.appendChild(element);
 return element;
};

function play_video(url, element_id)
{
 var flashvars = {st: "uppod/style.txt", file: url};
 var params = {bgcolor: "#ffffff", allowFullScreen: "true", allowScriptAccess: "always"};
 var attributes = {/*id: "uppod", name: "uppod"*/};
 swfobject.embedSWF("uppod/uppod.swf", element_id, "500", "375", "9.0.0", "swfobject/expressInstall.swf", flashvars, params, attributes);
}

function replace_element(element, html)
{
 if (element.outerHTML)
  element.outerHTML = html;
 else
 {
  var range = document.createRange();
  range.setStartBefore(element);
  var fragment = range.createContextualFragment(html);
  element.parentNode.replaceChild(fragment, element);
 }
}

function add_video_player()
{
 var i = 0;
 while (i < document.links.length)
  if (typeof document.links[i].href == "string" && (/\.flv$/).test(document.links[i].href))
  {
   var id = "uppod" + Math.round(Math.random() * 1000000000);
   var url = document.links[i].href;
   replace_element(document.links[i], "<table align=\"center\" border=\"0\"><tr><td><div id=\"" + id + "\">Video</div></td></tr></table>");
   play_video(url, id);
  } else i++;
}

function add_search_links()
{
 var i = 0;
 while (i < document.links.length)
  if (document.links[i].href && document.links[i].href.lastIndexOf("#") == document.links[i].href.length - 1)
   document.links[i].href = "index.php?mode=search&find=" + url_encode(document.links[i].innerText || document.links[i].textContent);
  else i++;
}

function play(url)
{
 var element = create_element("embed", document.body);
 element.hidden = "true";
 element.autostart = "true";
 element.src = url;
 setTimeout(function() { replace_element(element, ""); }, 5000);
}

function show_delayed(element)
{
 delay(element.id, function () { show(element); }, 100);
}

function hide_delayed(element)
{
 delay(element.id, function () { hide(element); }, 100);
}

function scrollx(element, step)
{
 var s = parseInt(element.scrollLeft);
 var m = parseInt(element.scrollWidth) - parseInt(element.clientWidth);
 s += step;
 if (s < 0) s = 0; else
 if (s > m) s = m;
 element.scrollLeft = s;
 return false;
}

function scrolly(element, step)
{
 var s = parseInt(element.scrollTop);
 var m = parseInt(element.scrollHeigth) - parseInt(element.clientHeight);
 s += step;
 if (s < 0) s = 0; else
 if (s > m) s = m;
 element.scrollTop = s;
 return false;
}

var scrolltimer = false;

function startscroll(element, stepx, stepy)
{
 if (scrolltimer) clearInterval(scrolltimer);
 var time = new Date();
 time = time.getTime();
 scrolltimer = setInterval(function() {
  var t = new Date();
  var d = (t.getTime() - time) / 25;
  if (stepx) scrollx(element, Math.round(stepx * d));
  if (stepy) scrolly(element, Math.round(stepy * d));
  time = t.getTime();
 }, 25);
 return false;
}

function stopscroll()
{
 if (scrolltimer)
 {
  clearInterval(scrolltimer);
  scrolltimer = null;
 }
 return false;
}

function init()
{
 add_video_player();
 add_search_links();
}