/*******************************************************************************
  Készítette/author: Telegdi Péter

  A kód felhasználása, vagy másolása, csak a szerző engedélyével megengedett!
  Copyright 2007-2011. All rights reserved.

  HTML-ből küldhető ajax parancsok:
  <ajax:reload>

  2010-01-20 update: "image" -> showHint() function

*******************************************************************************/

var xmlHttp = new Array();
var globalID;
var arSourceURL = new Array();
var arTargetID = new Array();
var arParameter = new Array();
var arStatus = new Array();

function pause(millisecondi)
{
  var now = new Date();
  var exitTime = now.getTime() + millisecondi;

  while(true)
  {
    now = new Date();
    if(now.getTime() > exitTime) return;
  }
}

function ElementsSender(objElements)
{
  var sElemek = '';
  for(i=0;i<objElements.length;i++)
    sElemek += '&'+objElements[i].name+"="+objElements[i].value;

  return sElemek;
}

function box_open(sSourceURL, newObjectID, sParam)
{
  var oSeged = document.getElementById(newObjectID);
  if (oSeged==null)
  {
    var aElement = document.createElement("DIV");
    document.getElementById('main').appendChild(aElement);
    aElement.id = newObjectID;
    aElement.innerHTML = "";
    aElement.style.top = "0px"; //50px
    aElement.style.width = "310px"; //310px
    //aElement.style.width = document.body.clientWidth+"px";
    //aElement.style.height = document.body.clientHeight+"px";
    //alert( document.body.clientWidth );
  }
  else
  {
    oSeged.innerHTML = "<br /><center><img src='img/loading.gif' border='0'><center><br />";
  }
  newHint(sSourceURL, newObjectID, sParam);
}

function newHint(sSourceURL,TargetID,sParam)
{
  /**/
  //document.getElementById(TargetID).innerHTML="<br /><center><img src='img/loading.gif' border='0'><center><br />";
  /**/
  var ns = TargetID.split('_');
  var oImg = document.getElementById("loadimg_"+ns[1]);
  if (oImg!=null)
  {
    oImg.src="img/loading.gif";
  }
  /**/
  var theID = TargetID;
  if (arStatus[ theID ] != "loading" && arStatus[ theID ] != "open")
  {
    arSourceURL[ theID ] = sSourceURL;
    arTargetID[ theID ] = TargetID;
    arParameter[ theID ] = sParam;
    arStatus[ theID ] = "open";

    showHint(sSourceURL,TargetID,sParam,theID);
  }

}

function showHint(sSourceURL,TargetID,sParam,xmlID)
{

  if (arStatus[ TargetID ] == "open")
  {
    if (sParam.length==0)
    {
      document.getElementById(oID).innerHTML="";
      return
    }

    xmlHttp[xmlID]=GetXmlHttpObject();
    if (xmlHttp[xmlID]==null)
    {
      alert ("Browser does not support HTTP Request");
      return
    }

    var url="com.php";
    url = arSourceURL[ TargetID ]+"?"+arParameter[ TargetID ];
    arStatus[ TargetID ] = "loading";
    xmlHttp[xmlID].onreadystatechange = function() {
      if (xmlHttp[xmlID].readyState==4 || xmlHttp[xmlID].readyState=="complete")
      {
          if (TargetID.indexOf("note")>=0)
            document.getElementById(TargetID).value = xmlHttp[xmlID].responseText;
          else if (TargetID.indexOf("image")>=0)
            document.getElementById(TargetID).src = "gfx/ajax_"+xmlHttp[xmlID].responseText+".png";
          else
            document.getElementById(TargetID).innerHTML = xmlHttp[xmlID].responseText;

          //ajax commands from html code!!
          if (xmlHttp[xmlID].responseText.indexOf("<ajax:reload>")>=0)
            window.location.href = window.location.pathname; //refresh

          arStatus[ TargetID ] = "close";

          var ns = TargetID.split('_');
          var oImg = document.getElementById("loadimg_"+ns[1]);
          if (oImg!=null)
          {
            oImg.src="img/spacer.gif";
          }
      }
    }

    xmlHttp[xmlID].open("GET",url,true);
    xmlHttp[xmlID].send(null);
  }

}

function GetXmlHttpObject()
{
  var objXMLHttp=null;
  if (window.XMLHttpRequest)
  {
    objXMLHttp=new XMLHttpRequest();
  }
  else if (window.ActiveXObject)
  {
    objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  return objXMLHttp;
}

function boxshower(BoxID,ClassID)
{
  document.getElementById(BoxID+'_box').className="box"+ClassID;
  createCookie('box_'+BoxID,'show');
}

function boxhider(BoxID,ClassID)
{
	  document.getElementById(BoxID+'_box').className="box"+ClassID+"_hide";
	  createCookie('box_'+BoxID,'hide');
}

function boxcloser(BoxID,ClassID)
{
	  document.getElementById(BoxID+'_boxborder').className="close";
	  document.getElementById(BoxID+'_box').className="box"+ClassID+"_close";
	  document.getElementById(BoxID+'_title').className="title"+ClassID+"_close";
	  createCookie('box_'+BoxID,'close');
	  GrayScreenOff();
}

function toggle(BoxID,ClassID)
{
  if (document.getElementById(BoxID+'_box').className=="box"+ClassID+"_hide")
    boxshower(BoxID,ClassID);
  else
    boxhider(BoxID,ClassID);
}

function down(BoxID,ClassID)
{

  alert('A jelenlegi beta verzióban nem elérhető ez a mozgatás.\nA dobozt mozgatni a kék ikonra kattintva, a szerkesztő menüben lehet!');

/*

  var mydiv = document.getElementById(BoxID+'_boxborder');
  var aElement = document.getElementById('segedboxid');
  aElement.style.zIndex = 1;
  aElement.style.visibility = "visible";
  aElement.style.left = mydiv.style.left;
  aElement.style.top = mydiv.style.top;
  aElement.style.width = mydiv.style.width;
  aElement.style.height = mydiv.style.height;
  var tempH = (mydiv.offsetHeight - 4);
  aElement.innerHTML = "<img src='img/spacer.gif' alt='' width='100%' height='"+tempH+"'>";

  if (readCookie('moveid')==0)
  {
    mydiv.style.zIndex = "99";
    createCookie('moveid',BoxID);
  }
  document.getElementById(BoxID+'_boxborder').style.cursor = "move";
*/
}
function up(BoxID,ClassID)
{
  document.getElementById('segedboxid').style.visibility = "hidden";

  var mydiv = document.getElementById(BoxID+'_boxborder');
  createCookie('moveid',0);
  mydiv.className="box";
  mydiv.style.zIndex = 1;
  //mydiv.style.height = "auto";
  document.getElementById(BoxID+'_boxborder').style.cursor = "default";
  //rendez();
  //saveAllPos();

  /**/
  var mydiv = document.getElementById(BoxID+'_boxborder');
  var aElement = document.getElementById('segedboxid');
  mydiv.style.left = aElement.style.left;
  mydiv.style.top = aElement.style.top;
  /**/

  //offsetHeight
  //offsetLeft
  //offsetTop
}

function createCookie(name,value) {
  days = '30';
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
 createCookie(name,"",-1);
}

function box_content(oID,sContent) {
 oElem = document.getElementById(oID);
 if (oElem!=null)
   oElem.innerHTML = sContent;
}
