// indulaskent letrehozzuk a XMLHttpRequest objektumot

var xmlHttp = createXmlHttpRequestObject();


//
//
//       AJAX fuggvenyek konyvtara
//
//

// letrehozza az XMLHttpRequest peldanyt
function createXmlHttpRequestObject() 
{
  // ez lesz a  XMLHttpRequest objektum
  var xmlHttp;
  // IE6 vagy régebbi browserekben nem, mashol igen
  try
  {
    // megkiserli letrehozni az XMLHttpRequest objektumot
    xmlHttp = new XMLHttpRequest();
  }
  catch(e) // az elozo hibara futott
  {
    // feltesszuk, hogy IE6 vagy regebbi
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
                                    "MSXML2.XMLHTTP.5.0",
                                    "MSXML2.XMLHTTP.4.0",
                                    "MSXML2.XMLHTTP.3.0",
                                    "MSXML2.XMLHTTP",
                                    "Microsoft.XMLHTTP");
    // minden prog it-t kiprobal, mig egy mukodot talal
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try 
      { 
        // megkiserli letrehozni az XMLHttpRequest objektumot
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {}
    }
  }
  // visszater a letrehozott objektummal, vagy egy hibauzenettel
  if (!xmlHttp)
    alert("Hiba történt a XMLHttpRequest objektum létrehozása során.");
  else 
    return xmlHttp;
}

// a file beolvasása a szerverrol
function process(value, frameName, divName)
{
  // csak akkor megy, ha a xmlHttp nem ervenytelen
  if (xmlHttp)
  {
    // megprobal csatlakozni a szerverhez
    try
    {
      // kialakitja a parameter stringet - oldalt vagy cikket kerunk
      var params = (isNaN(value))? "oldal=" + value:"_cid=" + value;
      // initiate the asynchronous HTTP request
      xmlHttp.open("GET", "create_text.php?" + params, true);
      xmlHttp.onreadystatechange = function(){
        handleRequestStateChange(frameName, divName);
      }
      xmlHttp.send(null);
    }
    // sikertelenseg eseten hiba kiirasa
    catch (e)
    {
      alert("Nem tudok a szerverhez kapcsolódni:\n" + e.toString());
    }
  }
}

// akkor kerul meghivasra, mikor a HTTP keres allapota valtozik
function handleRequestStateChange(frameName, divName) 
{
  // ha a readyState 4, készen vagyunk a válasz olvasására
  if (xmlHttp.readyState == 4) 
  {
    // Csak akkot megy tovább, ha a HTTP status "OK"
    if (xmlHttp.status == 200) 
    {
      try
      {
        // feldolgozzuk a választ
        handleServerResponse(frameName, divName);
      }
      catch(e)
      {
        // hibauzenet kijelzese
        alert("Hiba a válasz olvasásakor: " + e.toString());
      }
    } 
    else
    {
      // status uzenet kijelzese
      alert("Probléma adódott az adatok vételénél:\n" + 
            xmlHttp.statusText);
    }
  }
}

// handles the response received from the server
function handleServerResponse(frameName, divName)
{ 
  var TextResponse = xmlHttp.responseText;
  contentDiv = eval(frameName).document.getElementById(divName);
  contentDiv.innerHTML = TextResponse;  
  eval(frameName).scrollInit(35);
    
}
// fuggvenyek a modellek kivalasztasahoz

// elkuldjuk a modell azonositojat
function modell_kosar (image, azonosito)
{
 // csak akkor megy, ha a xmlHttp nem ervenytelen
  if (xmlHttp)
  {
    //lecsereljuk a feliratot az animalt gifre
    //contentDiv = document.getElementById('megjegyez');
    image.src = "images/kivalasztas_toltes.gif"
    
    // megprobal csatlakozni a szerverhez
    try
    {
      // kialakitja a parameter stringet - oldalt vagy cikket kerunk
      // initiate the asynchronous HTTP request
      xmlHttp.open("GET", "set_model.php?azonosito=" + azonosito, true);//?azonosito=" + azonosito,
      xmlHttp.onreadystatechange = function(){
        keres_teljesitve (image);
      }
      xmlHttp.send(null);
    }
    // sikertelenseg eseten hiba kiirasa
    catch (e)
    {
      alert("Nem tudok a szerverhez kapcsolódni:\n" + e.toString());
      image.src = "images/kivalasztas.gif"
    }
  }
}
// akkor kerul meghivasra, mikor a HTTP keres allapota valtozik
function keres_teljesitve(image) 
{
  // ha a readyState 4, készen vagyunk a válasz olvasására
  if (xmlHttp.readyState == 4) 
  {
    // Csak akkot megy tovább, ha a HTTP status "OK"
    if (xmlHttp.status == 200) 
    {
      try
      {
        // feldolgozzuk a választ
        modell_kosar_allapot (image);
      }
      catch(e)
      {
        // hibauzenet kijelzese
        alert("Hiba a válasz olvasásakor: " + xmlHttp.responseText);
      }
    } 
    else
    {
      // status uzenet kijelzese
      alert("Probléma adódott az adatok vételénél:\n" + 
            xmlHttp.statusText);
    }
  }
}

function modell_kosar_allapot (image) {
  var TextResponse = xmlHttp.responseText;
  if (TextResponse.charAt(0)== '1') {
    image.src = "images/kivalasztas_no_over.gif";
  } else if (TextResponse.charAt(0)== '0') {
    image.src = "images/kivalasztas_over.gif";
    
  }
  //alert (TextResponse.substr(2));
}
