var LIZloadcontentcurdiv = new Object();
var LIZloadcontentprevdiv = new Object();
var LIZloadcontentalldiv = new Object();

function loadcontent(id, tpl, param, preload)
{
  if (param == undefined) { param = new Object(); }
  var newid = LIZloadcontentnewid(id, tpl, param);
  if (LIZloadcontentalldiv[newid])
  {
    if (! preload) LIZloadcontentview(id, newid);
  }
  else
  {
    //if (! preload && LIZloadcontentcurdiv[id]) LIZloadcontentview(id, id, true);
    param['view'] = tpl+'.ajx';
    param['LIZOBJECT'] = id;
    var olddiv = document.getElementById(id);
    var newdiv = olddiv.cloneNode(false);
    LIZloadcontentalldiv[newid] = newdiv;
    newdiv.id = newid;
    olddiv.parentNode.insertBefore(newdiv, olddiv);
    newdiv.style.display = 'none';

    AjaxRequest.get(
      {
        'url':'index.php',
        'parameters': param,
        'onSuccess':function(req){
					var xmldoc = req.responseXML;
					var node_content = xmldoc.getElementsByTagName('content')[0]; 	  
					newdiv.innerHTML = node_content.firstChild.data;
  
          if (!LIZloadcontentcurdiv[id])
          {
            LIZloadcontentcurdiv[id] = olddiv;
            LIZloadcontentalldiv[id] = olddiv;
          }
  
          if (! preload) LIZloadcontentview(id, newid);
        }
      }
    );
  }
}

function loadcontentdirect(id, tpl, param)
{
  if (param == undefined) { param = new Object(); }
    param['view'] = tpl+'.ajx';
    param['LIZOBJECT'] = id;
    var div = document.getElementById(id);
    AjaxRequest.get(
      {
        'url':'index.php',
        'parameters': param,
        'onSuccess':function(req){
					var xmldoc = req.responseXML;
					var node_content = xmldoc.getElementsByTagName('content')[0];
					div.innerHTML = node_content.firstChild.data;
			          }
      }
    );
}

function loadcontentshort(id, tpl)
{
    var div = document.getElementById(id);
    AjaxRequest.get(
      {
        'url':'/c/'+tpl+'.xml',
        'onSuccess':function(req){
					var xmldoc = req.responseXML;
					var node_content = xmldoc.getElementsByTagName('page')[0];
					div.innerHTML = node_content.firstChild.data;
			          }
      }
    );
}

function loadcontentpost(id, tpl, theform)
{
  var oldaction = theform.action;
  var oldmethod = theform.method
  theform.action = '/index.php?view='+tpl+'.ajx';
  theform.method  = 'POST';
  var div = document.getElementById(id);
  var status = AjaxRequest.submit(
    theform,
    {
      'onSuccess':function(req){
                                theform.action = oldaction;
                                theform.method  = oldmethod;
  				var xmldoc = req.responseXML;
				if (!xmldoc) alert(req.responseText);
  				var node_content = xmldoc.getElementsByTagName('content')[0];
     				div.innerHTML = node_content.firstChild.data;
      }
    }
  );
  return status;
}



function loadcontentback(id)
{
  var olddiv = LIZloadcontentcurdiv[id];
  var newdiv = LIZloadcontentprevdiv[id];

  if (olddiv != newdiv)
  {
    newdiv.style.display = olddiv.style.display;
    olddiv.style.display = 'none';
    LIZloadcontentprevdiv[id] = LIZloadcontentcurdiv[id];
    LIZloadcontentcurdiv[id] = newdiv;
  }
}

function LIZloadcontentview(id, newid)
{
  var olddiv = LIZloadcontentcurdiv[id];
  var newdiv = LIZloadcontentalldiv[newid];

  if (olddiv != newdiv)
  {
    newdiv.style.display = olddiv.style.display;
    olddiv.style.display = 'none';
    LIZloadcontentprevdiv[id] = olddiv;
    LIZloadcontentcurdiv[id] = newdiv;
  }
}


function LIZloadcontentnewid(id, tpl, param)
{
  var newid = id+'-'+tpl+'-';

  for (var i in param)
  {
    if (i != 'LIZOBJECT') newid += encodeURIComponent(i) + "=" + encodeURIComponent(param[i]);
  }

  return newid;
}
