// JavaScript Document


// function for validationg security image code entered by visitor
function validateCaptcha(formName, inputName, code) {

  var input = document.getElementById(inputName);
  var code  = document.getElementById(code);
  var form  = document.getElementById(formName);

  if (input.value == hex_md5(code.value.toUpperCase())) {
    form.submit(); 
    return true;
  }
  else {
    alert("Wrong image code entered!\nTry again!");
    return false;
  }

}

// function which opens/closes category navigation
function displayNavigation(catContainer) {

  var area = document.getElementById(catContainer);

  if (area.style.display == "none") {
    area.style.display  = "";
    area.style.overflow = "visible";
  } else {
    area.style.display = "none";
  }
}

// displays large image
function showLarge(imgArea, imgSrc) {

  var img = document.getElementById(imgArea);
  img.innerHTML = "<img src= \""+ imgSrc +"\" onClick=\"javascript:document.getElementById('"+imgArea+"').innerHTML = '';\" />";
}

// new window open function
function newWindow(width, height, url) {
  var attr = "WIDTH = " + width + ", HEIGHT = " + height;
  attr += ", screenX = 300, screenY = 200";
  var subWindow = window.open(url, "subWin", attr);
}

// opens new window from select menu
function changeLocation(select) {
   var index = select.selectedIndex;

   if(index >= 0) {
      window.location = select.options[index].value;
   }
}

// close new window
function closeWindow() {
  if (subWindow) {
    subWindow.close();
    subWindow = null;
  }
}

// checks/unchecks all category checkboxes
function toggleAll(formName) {
  var form     = document.getElementById(formName);
  var chkBoxes = form.elements;
  var arrSize  = form.elements.length;

  for (var i = 0; i < arrSize; i++) {
    if (chkBoxes[i].type == "checkbox")
      chkBoxes[i].checked = form.catCheck.checked;
  }
}

// first check if only one checkbox/category is selected
function editElement(areaName, varName, formName, action) {
  
  var form     = document.getElementById(formName);
  var chkBoxes = form.elements;
  var arrSize  = form.elements.length;
  var selected = 0;
  var elID    = -1;

  for (var i = 1; i < arrSize; i++) {
    if (chkBoxes[i].type == "checkbox" && chkBoxes[i].checked) {
      selected++;
      elID = chkBoxes[i].value;
    }
  }

  if (selected > 1) {
    alert("Please select only one element for editing!");
    return ;
  } else if (selected == 0) {
    alert("You didn't select any element for editing!");
    return ;
  }
    
  form.action = action;
  processGetXMLRequest(areaName, action + "&" + varName + "=" + elID);
  return ;
}

// remove selected categories
function removeCat(formName, action) {

  var form     = document.getElementById(formName);
  var chkBoxes = form.elements;
  var arrSize  = form.elements.length;
  var selected = 0;
  var catID    = -1;

  for (var i = 1; i < arrSize; i++) {
    if (chkBoxes[i].type == "checkbox" && chkBoxes[i].checked)
      selected++;
  }

  if (selected == 0) {
    alert("You didn't select any element!");
    return ;
  } else {
    var msg = document.getElementById("message");
    document.getElementById("yesNoBox").style.visibility = "visible";
    msg.innerHTML = "Da li ste sigurni da zelite da izvrsite promenu za selektovane elemente?";
    form.action = action;// "?moduleAction=catRemove";
    return ;
  }
}

// create PDF for selected orders
function createPDF(areaName, formName, action) {

  var form     = document.getElementById(formName);
  var chkBoxes = form.elements;
  var arrSize  = form.elements.length;
  var selected = 0;

  for (var i = 1; i < arrSize; i++) {
    if (chkBoxes[i].type == "checkbox" && chkBoxes[i].checked)
      selected++;
  }

  if (selected == 0) {
    alert("Niste izabrali nijedan element!");
    return ;
  }

  processPostXMLRequest(areaName, action, createPostParameters(formName));
}

/* submit form if yes is clicked in confirmation box */
function yesAnswer(areaName, formName) {

  var form   = document.getElementById(formName);
  var action = form.action;
  processPostXMLRequest(areaName, action, createPostParameters(formName));
  //document.catForm.submit();
}

/* hide yesNoBox if no is clicked */
function hideBox() {
  document.getElementById("message").innerHTML = "";
  document.getElementById("yesNoBox").style.visibility = "hidden";
}

function showCartBox(boxName, action) {

  var box = document.getElementById(boxName);
  var btn = document.getElementById('displayCart');

  if (box.style.visibility == "visible") {
  
    box.style.visibility = "hidden";
    btn.value = "Show cart";
    box.innerHTML        = "";
  } else {
    box.style.visibility = "visible";
    btn.value = "Hide cart";
    processGetXMLRequest(boxName, action);
  }
  
}

/* submits form for updating or removing item from cart */
function submitCartForm(id, formName, action) {
  
  var form       = document.getElementById(formName);
  var quantField = document.getElementById("cart_item_quantity_"+id);
  
  //alert("test"+ quantField.value);
  // check if quantity is greater than 0
  if (checkValue(quantField.value) < 0)
    return ;

  // ---- promeniti kasnije da radi sa AJAX-om
  form.action = action;
  processPostXMLRequest('shoppingCartContainer', action, createPostParameters(formName));
}

/* inserts new item into shopping cart */
function insertItem(countField, action) {

  var count = document.getElementById(countField).value;
  if (checkValue(count) < 0)
    return ;

  processGetXMLRequest('shoppingCartContainer', action + "&count=" + count);
  
  var strArr = countField.split("_");
  increaseClickCount("itemClickCount_" + strArr[1]);
}

/* checks if value is correctly filled into input field */
function checkValue(value) {

  if (isNaN(parseInt(value))) {
    alert("Error: You must enter a number in quantity field!");
    return -1;
  } else if (parseInt(value) == 0) {
    alert("Error: You must enter a number that is greater than 0!");
    return -1;
  }
  
  return 1;
}

function increaseClickCount(itemID) {

  var countArea = document.getElementById(itemID);
  var itemCount = 0;
  var strArr    = countArea.innerHTML.split(" ");
  
  if (!isNaN(parseInt(strArr[2]))) {
    itemCount = parseInt(strArr[2]);
  }

  countArea.innerHTML = " x " + ++itemCount + ""; 
}

function submitForm(formName, action) {

  var form    = document.getElementById(formName);
  form.action = action;
  form.submit();
}

        function submitDateForm() {
            
            // first get selected date
            var sel_index  = document.date_selection.date_range.selectedIndex;
            var sel_option = document.date_selection.date_range.options[sel_index].value;
    
            processPostXMLRequest('moduleContent', '../foliageFramework/flg_CMS/modules/mod_questions/f2_questions.php', "date_range=" + sel_option);
        }
        
