// odoslanie receptu na email
function CallPHPSendEmail(phpscript, div, recipe_id, email) {
  var url = null;

  httpObject = getHTTPObject();
  //alert('httpObject: ' + httpObject);
  if (httpObject != null) {
    url = phpscript + '?' + 'recipe' + '=' + recipe_id;
    url += '&' + 'email' + '=' + email;
    //alert('url: ' + url);
    httpObject.open("GET", url, true);

    // original
    httpObject.send(url);

    //httpObject.setRequestHeader("Method", "GET " + url + " HTTP/1.1");
    //httpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    //httpObject.onreadystatechange = ChangeSetOutput;
    httpObject.onreadystatechange = function() {
      //alert('function: ' + httpObject.status);
      var divID     = "sendemail_result";
      var objDiv    = document.getElementById(divID);

      //alert('objDiv: ' + objDiv);

      if(httpObject.readyState == 4) {
        objDiv.innerHTML = httpObject.responseText;
      }
    }
  }
}

function SendEmail(recipe_id) {
  phpscript = 'http://www.webrecepty.sk/ajax_send_email.php';
  divID     = "sendemail_result";

  var objemail    = document.getElementById('email');
  email = objemail.value;

  if ( !checkEmail(email) ) {
    return;
  }
  CallPHPSendEmail(phpscript, divID, recipe_id, email);
}

// vy vyhladavacom formulari zmenim kategoriu
function ChangeCategory(form, category) {
  //alert('ChangeCategory: ' + category);
  phpscript = 'http://www.webrecepty.sk/ajax_change_category.php';
  divID     = "ingredlist";
  objname   = 'category';
  objvalue  = category;

  AjaxChangeCategory(phpscript, form, divID, objname, objvalue);
}

function SearchChangeCategory(category) {
  // TODO: upratat
  //var phpscript = 'http://localhost/localhost/www.webrecepty.sk/web/web/ajax_change_category.php';
  //alert('ChangeCategory: ' + category);
  phpscript = 'http://www.webrecepty.sk/ajax_change_category.php';
  divID     = "ingredlist";
  objname   = 'category';
  objvalue  = category;

  CallPHPSearchChangeCategory(phpscript, divID, objname, objvalue);
}

// pri pridavani zmenim kategoriu
function AddChangeCategory(category) {
  //alert('AddChangeCategory');
  // TODO: upratat
  //var phpscript = 'http://localhost/localhost/www.webrecepty.sk/web/web/ajax_change_category.php';
  phpscript = 'http://www.webrecepty.sk/ajax_change_category.php';
  divID     = "ingredlist";
  objname   = 'category';
  objvalue  = category;

  CallPHPAddChangeCategory(phpscript, divID, objname, objvalue);
}


// pridanie ingrediencie
var XMLHttpRequestObject = createXMLHttpRequestObject();
function createXMLHttpRequestObject() {
  var XMLHttpRequestObject = false;
  try {
    XMLHttpRequestObject = new XMLHttpRequest();
  }
  catch(e) {
    var aryXmlHttp = new Array(
    "MSXML2.XMLHTTP",
    "Microsoft.XMLHTTP",
    "MSXML2.XMLHTTP.6.0",
    "MSXML2.XMLHTTP.5.0",
    "MSXML2.XMLHTTP.4.0",
    "MSXML2.XMLHTTP.3.0");
    for (var i=0; i<aryXmlHttp.length && !XMLHttpRequestObject; i++) {
      try {
        XMLHttpRequestObject = new ActiveXObject(aryXmlHttp[i]);
      }
      catch(e){document.write("createXMLHttpRequestObject: XMLHttpRequestObject Error");}
    }
  }

  if (!XMLHttpRequestObject) {
    alert("Error: failed to create the XMLHttpRequest object.");
  }
  else {
    return XMLHttpRequestObject;
  }
}

function sendFormData(phpscript, objname, objvalue, divID, ifLoading, ingredgroup) {
  //alert('idForm: ' + idForm);
  //alert('phpscript: ' + phpscript);
  //alert('divID: ' + divID);
  ////alert('ifLoading: ' + ifLoading);

  // nazov objektu
  //var objname = object.name;
  //alert('objname: ' + objname);
  //var objvalue = object.value;
  //alert('objvalue: ' + objvalue);

  var postData = '';
  var strReplaceTemp;

  if(XMLHttpRequestObject) {
    XMLHttpRequestObject.open("POST", phpscript);
    XMLHttpRequestObject.setRequestHeader("Method", "POST " + phpscript + " HTTP/1.1");
    XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    XMLHttpRequestObject.onreadystatechange = function() {
      if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
        // request uspesne skoncil
        try {
          var obsah = XMLHttpRequestObject.responseText;
          //alert('obsah: ' + obsah);
          var objDiv = document.getElementById(divID);
          objDiv.innerHTML = obsah;
        }
        catch(e){document.write("sendFormData: getElementById(divID) Error");}
      }
      else {
        if(ifLoading) {
          try {
            var objDiv = document.getElementById(divID);
            objDiv.innerHTML = "<img src=loading.gif>";
          }
          catch(e){document.write("sendFormData->ifLoading: getElementById(divID) Error");}
        }
      }
    }

    /*
    for(i=0; i<document.getElementById(idForm).elements.length - 1; i++)
    {
    ////alert('i: ' + i);
    strReplaceTemp = document.getElementById(idForm).elements[i].name.replace(/\[\]/i, "");
    postData += "&aryFormData["+strReplaceTemp+"][]="+document.getElementById(idForm).elements[i].value;
    }
    */

    postData += "&"+objname+"="+objvalue+"&ingredgroup="+ingredgroup;
    //alert('postData: ' + postData);
    try {
      XMLHttpRequestObject.send(postData);
    }
    catch(e){document.write("sendFormData: XMLHttpRequestObject.send Error");}
  }
}

function AddIngredient(form, ingredient) {
  //window.alert('AddIngredient: ' + ingredient);
  //window.alert('form: ' + form);

  //window.alert('current_div: ' + current_div);

  if ( form == 'search' ) {
    var group = 1;
  }
  else {
    var obj = document.getElementById('ingredgroup');
    var group = obj.value;
  }

  //window.alert('skupina: ' + group);

  //_form = document.form.;
  //window.alert('maxingred: ' + maxingred);
  if ( form == 'search' ) {
    var obj = document.getElementById('maxingred');
    var maxingred = obj.value;
    //    window.alert('maxingred: ' + maxingred);

    var obj = document.getElementById('curringred');
    var curringred = parseInt(obj.value);
    //    window.alert('curringred: ' + curringred);

    if ( curringred >= maxingred ) {
      window.alert('maximalny pocet infrediencii je ' + maxingred);
      return;
    }
  }

  var divID = 'ingred';
  var parent = document.getElementById('ingred');
  //  window.alert('parent: ' + parent);

  // pridam novy div
  var divID = 'div';
  var newDiv = document.createElement('div');
  var DivId = 'id-' + group + '-' + ingredient;
  //  window.alert('DivId: ' + DivId);

  newDiv.id = DivId;
  newDiv.innerHTML = '';
  parent.appendChild(newDiv);

  divID     = DivId;
  objname   = 'ingredient_id';
  objvalue  = ingredient;

  if ( form == 'add' ) {
    phpscript = 'http://www.webrecepty.sk/ajax_add_ingredient_add.php';
    // tu budem volat sendFormData pre vyhladavanie?
  }
  else {
    phpscript = 'http://www.webrecepty.sk/ajax_add_ingredient_search.php';
  }


  //CallPHPAddIngred(phpscript, divID, objname, objvalue);
  //sendFormData2(phpscript, divID, objname, objvalue);
  //sendFormData(idForm, dataSource, object, divID, ifLoading);
  sendFormData(phpscript, objname, objvalue, divID, false, group);

  obj.value = curringred + 1;
  /*
  if ( form == 'add' ) {
  sendFormData(false, 'addform', 'ajax_add_ingredient_add.php', DivId, 'ingredient_id', ingredient, false);
  }
  else if( form == 'search' ) {
  sendFormData(false, 'searchform', 'ajax_add_ingredient_search.php', DivId, 'ingredient_id', ingredient, false);
  }
  */
}

function sendFormData2(phpscript, divID, dataSource, objectname, objectvalue, ingredgroup)
{
  //alert('dataSource: ' + dataSource);
  //alert('objectname: ' + objectname);
  //alert('objectvalue: ' + objectvalue);

  // nazov objektu
  //var objname = object.name;
  //alert('objname: ' + objname);
  //var objvalue = object.value;
  //alert('objvalue: ' + objvalue);

  var postData='';
  var strReplaceTemp;

  if(XMLHttpRequestObject)
  {
    //alert('object');
    XMLHttpRequestObject.open("GET", phpscript);
    XMLHttpRequestObject.setRequestHeader("Method", "GET " + phpscript + " HTTP/1.1");
    XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    //alert('onreadystatechange' + XMLHttpRequestObject.onreadystatechange);

    XMLHttpRequestObject.onreadystatechange = function()
    {
      //alert('function');
      null;
      if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {

        null;
//        alert('status ok');

        try {

          var obsah = XMLHttpRequestObject.responseText;
//          alert('obsah: ' + obsah);
          //          var objDiv = document.getElementById(divID);

          //          var povodny_obsah = '';
          //          if ( flag_add) {
          return obsah;
          //          }


          divID.innerHTML = povodny_obsah + obsah;
        }
        catch(e){document.write("sendFormData: getElementById(divID) Error");}

      }
      else {
        null;
        //alert('status nok');

        //        if(ifLoading) {
        //          try {
        //            var objDiv = document.getElementById(divID);
        //            objDiv.innerHTML = "<img src=loading.gif>";
        //          }
        //          catch(e){document.write("sendFormData->ifLoading: getElementById(divID) Error");}
        //        }

      }
    }

    //    for(i=0; i<document.getElementById(idForm).elements.length - 1; i++)
    //    {
    ////alert('i: ' + i);
    //      strReplaceTemp = document.getElementById(idForm).elements[i].name.replace(/\[\]/i, "");
    //      postData += "&aryFormData["+strReplaceTemp+"][]="+document.getElementById(idForm).elements[i].value;
    //    }

    //postData += "&"+objname+"="+objvalue;
    postData += "&"+objectname+"="+objectvalue+"&ingredgroup="+ingredgroup;
    try
    {
      //alert('sending request');
      XMLHttpRequestObject.send(postData);
    }
    catch(e){document.write("sendFormData: XMLHttpRequestObject.send Error");}
    //alert('sent');
  }
}

function RemoveIngredient(div_id) {
//  window.alert(div_id);
  var objDiv    = document.getElementById('id-' + div_id);
  //objDiv = 'id' + objDiv;
//  window.alert(objDiv);
  //document.getElementById(div_id).visibility = false;
  objDiv.innerHTML = '';
  var obj = document.getElementById('curringred');
  var curringred = obj.value;
  obj.value = parseInt(curringred) - 1;

}