// Loading pages into scrollable area
var CurrentURL;
function load(url) 
{
  CurrentURL = url;
  if (!url) return;
  scY = 0;
  if (document.layers)
  {
    document.layers.scrollable.document.layers.scrollable2.load(url,document.layers.scrollable.clip.width);
    document.layers.scrollable.document.layers.scrollable2.moveTo(0, 0);
  }
  else if (document.all) document.all.scrollable.src = url;
  else 
  {
    document.getElementById("scrollable").src = "";
    document.getElementById("scrollable").src = url;
  }
}

// Forms in the scrollable area may be accessed as "var myForm = FormInScrollArea('myformname'); myForm.elements[]....."
function FormInScrollArea(name) 
{
  if (!name) name = 0;
  return document.layers 
    ? document.layers.scrollable.document.layers.scrollable2.document.forms[name]
    : (document.all ? document.frames.scrollable.document.forms[name] : document.getElementById("scrollable").contentDocument.forms[name]);
}

var Step = 10;  // Scrolling speed.


var scY = 0;
var Fix = 0;
function Scroll(dir,fix)
{
  if (fix != null) Fix = fix;
  scY += dir == "up" ? -Step : Step;
  scY = Math.min(Math.max(0,scY), document.layers 
    ? (document.layers.scrollable.document.layers.scrollable2.clip.height > document.layers.scrollable.clip.height ? document.layers.scrollable.document.layers.scrollable2.clip.height - document.layers.scrollable.clip.height + 10 : 0)
    : (document.all ? Math.abs(document.frames.scrollable.document.body.scrollHeight - document.frames.scrollable.document.body.offsetHeight) + 10
    : document.getElementById("scrollable").contentDocument.body.offsetHeight - document.getElementById("scrollable").offsetHeight + 10));
  if (document.layers) document.layers.scrollable.document.layers.scrollable2.moveTo(0, -scY);
  else if (document.all) document.frames.scrollable.document.body.scrollTop = scY;
  else 
  {
    if (document.getElementById("scrollable").contentDocument.body.style.position != "absolute") document.getElementById("scrollable").contentDocument.body.style.position = "absolute";
    document.getElementById("scrollable").contentDocument.body.style.top = -scY;
  }
  if (Fix) setTimeout("Scroll('" + dir + "')", 20);
  return false;
}
function ScrollStop() {Fix = 0; return false;}

function resize()
{
  if (!document.layers) return;
  document.cookie = "Progate=" +  escape(CurrentURL);
  window.history.go(0);
}
if (document.layers && document.cookie.indexOf("Progate=") >= 0)
{
  CurrentURL = document.cookie.substring(document.cookie.indexOf("Progate=") + 8);
  CurrentURL = unescape(CurrentURL.indexOf(";") < 0 ? CurrentURL : CurrentURL.substring(0, CurrentURL.indexOf(";")));
  if (CurrentURL) InitialURL = CurrentURL;
  document.cookie = "Progate=";
}

function submitScroll(f)  // Submit form in scrollable area. 
{
  if (!document.layers) return true;
  var url = f.action;
  for (var i = 0; i < f.elements.length; i++)
  {
    var e = f.elements[i];
    if (!e.name) continue;
    if(e.type != "radio" || e.checked)url += (url.indexOf("?") < 0 ? "?" : "&") + escape(e.name) + "=";
    if (e.checked){url += escape(e.value ? e.value : "on");}
    else if (e.value != null && e.type != "radio"){ url += escape(e.value);}
    else if (e.options && e.type != "radio") url += escape(e.options[e.selectedIndex].value ? e.options[e.selectedIndex].value : e.options[e.selectedIndex].text);
  }

  load(url);
  return false;
}

