function submitForm(f, into)
 {
  var fe = document.getElementById(f);
  var fl = fe.elements.length;

  var bwrId = "";
  var q = "/?";
  for(var c=0;c<fl;c++)
   {
    var fn = fe.elements[c].name;
    var fv = fe.elements[c].value;
    var ft = fe.elements[c].type;
    var sk = false;
    if( (ft=="checkbox") | (ft=="radio") )
     {
      sk = !fe.elements[c].checked;
     }
    else if( (ft=="select-one") & (fv=="") )
     {
      var si = fe.elements[c].selectedIndex;
      fv     = eval("fe.elements[c].options[si].text;");
     }

    if(fn=="bwr_id")
     bwrId = fv;

    if(fv!="" & !sk)
     {
      if(q!="/?")
       q += "&";
      q = q +fn+"="+encodeURI(fv);
     }
   }

  return loadUrl(q, into, true);
 }

function customImageHandler(bwrId,imgId,ow,oh,what)
 {
  if(!mayStart)
   return;

  setToolTip('');
  var mw   = 740;
  var mh   = 740;
  var tm   = 50;

  var cbh  = getElementHeightStr('cbh');
  var e    = document.getElementById('i'+bwrId);
  var t    = getElementYPos(e) - 40;

  if(ow>mw)
   {
    var s = ow / mw;

    ow = ow / s;
    oh = oh / s;
   }

  if(oh + 200 > cbh)
   {
    var s = (oh + 300)/ cbh;
    ow = ow / s;
    oh = oh / s;
   }

  if(t+oh>cbh-60)
    t = cbh-60-oh;

  if(t<tm)
   t=tm;

  ow = parseInt(ow);
  oh = parseInt(oh);

  if(what==null)
    what="d";

  buildLoader(parseInt(t+oh/2.02));

  buildWindow('', 0, t, ow+10, oh+30, t+330, true, '', 'f:buildImage("'+imgId+'",'+ow+','+oh+',"'+what+'");', ow, false);
 }

var loaderBuild = false;
var lCan        = false;
function buildLoader(y)
 {
  var xd = (getWindowWidth() / 2) - (60 / 2);
  if(!loaderBuild)
   {
    loaderBuild = true;
    addToDocument('<div id="dkll" style="visibility:hidden;position:absolute;z-index:2000;top:'+y+'px;left:'+xd+'px;" class="dk_loaderb"></div>');
   }
  setLayerPos("dkll", xd-4, y);
  lCan = false;
  window.setTimeout("showLoader()", 800); // 800
 }

function showLoader()
 {
  if(!lCan)
   showLayer("dkll");
 }

function buildImage(bwrId,w,h,what)
 {
  var imgUrl;
  if(what=='p')
   imgUrl = "/files/post/";
  else
   imgUrl = "/files/dynamic/";

  imgUrl = imgUrl+bwrId+"_"+w+"_"+h+".jpg";
  writeLayer('dwc', '<div style="cursor:pointer;"><img onclick="imgClick();" onload="imgLoad();" src="'+imgUrl+'" width="'+w+'" height="'+h+'"></div>');
 }

function imgClick()
 {
  closeWindow();
 }

function imgLoad()
 {
  lCan = true;
  hideLayer("dkll");
 }

function updateSearch(f, up)
 {
  eval("document."+f+".cmd.value='update';");
  eval("var fl = document."+f+".elements.length;");

  var bwrId = "";
  var q = "/?";
  for(var c=0;c<fl;c++)
   {
    eval("var fn = document."+f+".elements["+c+"].name;");
    eval("var fv = document."+f+".elements["+c+"].value;");

    if(fn=="bwr_id")
     bwrId = fv;

    if(fv!="")
     {
      if(q!="/?")
       q += "&";

      q = q +fn+"="+fv;
     }
   }

  setBackground("win_background"+bwrId, up);
  loadUrl(q, "search_attributes"+bwrId, true);
 }

function resetSearch(f)
 {
  eval("var bwrId = document."+f+".bwr_id.value;");
  eval("var q     = document."+f+".q.value;");
  eval("var pid   = document."+f+".pid.value;");
  loadUrl("/?bwr_id="+bwrId+"&cmd=reset&q="+q+"&pid="+pid, "search_attributes"+bwrId, true);
 }

function setBackground(id, url)
 {
  if(winTitle=="Dampkring Advanced Search")
   return;
   
  newImage = "url("+url+")";
  document.getElementById(id).style.backgroundImage = newImage;
 }

var firstWin   = true;
var loadItemId = "";
var loadCmd    = "";
var innerWidth = 0;
var itemSrv    = false;
var windowOpen = false;
var winTitle   = "";

function buildWindowR(e, title, x, w, h, service, item, cmd, iw, scroll, p, comp)
 {
  var t    = getElementYPos(e) + 54;
  var yStart = t + 330;
  return buildWindow(title, x, t, w, h, yStart, service, item, cmd, iw, scroll, p, comp);
 }

var useTitle = true;
function buildWindow(title, x, y, w, h, yStart, service, item, cmd, iw, scroll, p, comp)
 {
  clearMO();

  if(!p)
   p=0;

  useTitle = true;
  winTitle = title;

  if(winTitle=="none")
   useTitle=false;

  try
   {
    if(!createHTTPObject())
     return true;

    if(wCoverBuild)
     getStyle('dwi').display='none';

    loadItemId = item;
    loadCmd    = cmd;
    innerWidth = iw;
    itemSrv    = service;

    var s = "auto";
    if(!scroll)
     s = "hidden";

    hideGlow();

    if(firstWin)
     {
      firstWin   = false;
      addToDocument('<div id="dw"  style="z-index:2;border:1px solid #f0f0f0;background-color:#ffffff;position:absolute;left:0px;top:0px;"></div>');
      addToDocument('<div id="dwh" class="xsdot_win_header" style="z-index:3;position:absolute;left:0px;top:-100px;"></div>');
      addToDocument('<div id="dwc" style="z-index:3;overflow:'+s+';position:absolute;left:0px;top:-100px;"></div>');
     }
    else
     {
      getStyle('dwc').overflow = s;
      try
       {
        // safari scroller bug
        var dc = document.getElementById('dwc');
        document.body.removeChild(dc);
        addToDocument('<div id="dwc" style="z-index:3;overflow:'+s+';position:absolute;left:0px;top:-100px;"></div>');
       }
      catch(e){}

     }

    windowOpen = false;

    document.getElementById('dwc').innerHTML='<div class="load_ani" id="ani_load" style="float:left;width:100px;height:20px;"></div>';

    if(useTitle)
     document.getElementById('dwh').innerHTML='<div id="win_header" class="xsdot_win_title">'+title+'</div><div class="xsdot_window_close"><a href="javascript:closeWindow();"><img src="/empty.gif" width="20" height="18"></a></div>';

    setLayerPos('dwh', -1000,-1000);
    setLayerPos('dwc', -1000,-1000);

    var ww = getWindowWidth();
    var wh = getWindowHeight();

    var ys = yStart;
    var yd = y;

    var xCom = 4;

    if(comp!=null)
     xCom = comp;

    var xs = ww / 2 + xCom + 10
    var xd = (ww / 2) - (w / 2) + xCom;

    var ws = 16;
    var hs = 16;

    xd=xd-5;
    yd=yd-40;
    h=h+4;

    windowGrow(xs, ys, ws, hs, xd, yd, w, h, p)
    return false;
   }
  catch(e)
   {
    return true;
   }
 }

function closeWindow()
 {
  clearBMO();
  clearMO();

  skipPanels=false;
  if(windowOpen)
   {
    document.getElementById('dw').innerHTML='';
    setLayerPos("dw", -1000, -1000);
    setLayerWidth("dw",  1);
    setLayerHeight("dw", 1);

    document.getElementById('dwh').innerHTML='';
    setLayerPos("dwh", -1000, -1000);
    setLayerWidth("dwh",  1);
//    setLayerHeight("dwh", 1);

    setLayerPos("dwc", -1000, -1000);
    setLayerWidth("dwc",  1);
    setLayerHeight("dwc", 1);
   }
  if(wCoverBuild)
   getStyle('dwi').display='none';
  hideGlow();
  windowOpen = false;
 }

function windowGrow(xc, yc, wc, hc, xd, yd, wd, hd, p)
 {
  var doneA = false;
  var doneB = false;
  var doneC = false;
  var doneD = false;

  if(xc>xd)
   xc = (xc-2) - ((xc - xd) / 3.2);
  else
   doneA = true;

  if(wc<wd)
    wc = (wc+2) + ((wd - wc) / 3.2);
  else
   doneB = true;

  if(hc<hd)
    hc = (hc+2) + ((hd - hc) / 3.2);
  else
   doneC = true;

  if(yc>yd)
   yc = (yc-2) - ((yc - yd) / 3.2);
  else
   doneD = true;

  xc = parseInt(xc);
  yc = parseInt(yc);

  if(doneA & doneB & doneC & doneD)
   {
    setLayerPos("dw", xd, yd);
    setLayerWidth("dw",  wd);
    setLayerHeight("dw", hd);

    setLayerPos("dwc", xd+6, yd+30+p);
    setLayerWidth("dwc",  wd-10);
    setLayerHeight("dwc", hd-30 - (2*p));

    if(useTitle)
     {
      setLayerPos("dwh", xd+1, yd);
      setLayerWidth("dwh",  wd);
     }

    if(ie5 | ie6)
     createCover(xd,yd,wd,hd);

    setGlowEx(document.getElementById('dw'), true);

    windowOpen = true;
    if(loadCmd.indexOf("f:")==0)
     {
      var f = loadCmd.substring(2, loadCmd.length);
      eval(f);
     }
    else
     {
      window.setTimeout("loadItem('"+loadItemId+"', 'dwc', '"+loadCmd+"', "+itemSrv+");", 60);
     }
   }
  else
   { 
    setLayerPos("dw", xc, yc);
    setLayerWidth("dw",  wc);
    setLayerHeight("dw", hc);
    window.setTimeout('windowGrow('+xc+', '+yc+', '+wc+', '+hc+', '+xd+', '+yd+', '+wd+', '+hd+', '+p+');', 10);
   }
 }

var wCoverBuild = false;
function createCover(x,y,w,h)
 {
  if(!wCoverBuild)
   {
    addToDocument('<iframe id="dwi" frameborder="0" style="z-index:1;border:0px; position:absolute;width:'+w+'px;height:'+h+'px;left:'+x+'px;top:'+y+'px;" src="/empty.gif"></iframe>');
    wCoverBuild = true;
   }
  else
   {  
    setLayerPos("dwi", x, y);
    setLayerWidth("dwi",  w);
    setLayerHeight("dwi", h);
    getStyle('dwi').display='';
   }
 }

function st()
 {
  scrollTo(0,0);
 }

function pushUrl(url, service)
 {
  try
   {
    var http = createHTTPObject();
    if(http) 
     {
      if(service)
       url += "&service=1";

      url += "&ajax=1";
      http.open("GET", url, true);
      http.onreadystatechange = function() { pushUrlDone(); };
      http.send(null);
      return false;
     }
    else
     {
      return true;
     }
   }
  catch(e)
   {
    return true;
   }
 }

function pushUrlDone() {}

function loadUrl(url, into, service, hg)
 {
  clearMO();
  clearBMO();

  try
   {
    var t = document.getElementById(into);
    if(t==null)
      return true;
   }
  catch(e)
   {
    return true;
   }

  buildLoader(300);

  try
   {
    if(hg)
     hideGlow();

    var http = createHTTPObject();
    if(http) 
     {
      if(service)
       url += "&service=1";

      url += "&ajax=1";
      http.open("GET", url, true);
      http.onreadystatechange = function() { loadUrlDone(http, into); };
      http.send(null);
      return false;
     }
    else
     {
      return true;
     }
   }
  catch(e)
   {
    return true;
   }
 }

function loadItem(bwrId, into, params, service, hg)
 {
  if(hg)
    hideGlow();

  var http = createHTTPObject();
  if (http) 
   {
    var url = "/?bwr_id="+bwrId+"&ajax=1";
    if(service)
     url += "&service=1";

    if(params!="")
     url = url + "&" + params;

    http.open("GET", url, true);
    http.onreadystatechange = function() { loadItemDone(http, into); };
    http.send(null);
   }
 }

function loadItemDone(http, into)
 {
  if(http.readyState==4)
   {
    try
     {
      document.getElementById(into).innerHTML = "<div style='oomargin:auto;width:"+innerWidth+"px;background-color:#ffffff;'>"+http.responseText+"</div>";
      window.setTimeout("focusi();", 600);
      window.setTimeout("focusi();", 601);
     }
    catch(e){}
   }
 }

function loadUrlDone(http, into)
 {
  if(http.readyState==4)
   {
    try
     {
      setToolTip('');
      document.getElementById(into).innerHTML = http.responseText;

      if(loaderBuild)
       {
        lCan = true;
        hideLayer("dkll");
       }

      window.setTimeout("focusi();", 600);
     }
    catch(e){}
   }
 }

function focusi()
 {
  try
   {
    var o = document.getElementById("focus_this");
    o.focus();
   }
  catch(e){}
 }

function createHTTPObject()
 {
  var result;
  try 
   {
    result = new XMLHttpRequest();
   } 
  catch (error) 
   {
    try 
     {
      result = new ActiveXObject("Microsoft.XMLHTTP");
     } 
    catch (error) 
     {
      return false;
     }
   }
  return result;
 }

