//
// Allaoleva funktio tarkastaa, onko asiakas kirjoittanut yhteydenottolomakkeeseen joko puhelinnumeron
// tai sähköpostiosoitteen. Jos jompikumpi löytyy formista, tehdään submit.
// Muussa tapauksessa näytetään virheilmoitus eikä tehdä mitään.
// Käytetään main_contact.inc -tiedostossa.
//

function tarkasta(){
    if (document.mailform.puh.value != "" || document.mailform.email.value != ""){
       return true;
    }

    else{
       alert("Anna puhelinnumero tai sähköpostiosoite!");
       return false;
    }
}

//
// Allaolevaa funktiota käytetään keskiosan moduulien pikalisäys-pudotusvalikon (adddropdown.inc) kanssa.
// Sille tuodaan sivun id, moduulin id ja moduulin sijainti ja se vie tiedot edelleen module_add.php:lle,
// joka avataan uuteen ikkunaan. Funktio ohittaa pikalisays-formin actionin.
//

function avaaikkuna(pid, id, tbl) {
    var url="module_add.php?pid=" + pid + "&id=" + id + "&tbl=" + tbl + "&edited=1&t1=" + document.pikalisays.t1.value + "&t2=" + document.pikalisays.t2.value;
    window.open(url, "pikaikkuna", "dependant=yes,width=550,height=480,location=no,menubar=no,resizable=yes,status=no,toolbar=no,scrollbars=yes");
}

//
// Allaolevaa funktiota käytetään asetukset.php:ssa värien lisäyksen kohdalla. Funktio tarkastaa, että
// käyttäjä on syöttänyt sekä värin nimen että heksakoodin. Tällöin tehdään submit.
// Muussa tapauksessa näytetään virheilmoitus eikä tehdä mitään.
//

function tarkastavari(language){
    if (document.varilisays.varinimi.value != "" && document.varilisays.variheksa.value != ""){
       return true;
    }

    else{

       if(language == "eng") {

         alert("Please insert color name and hex value!");
         return false;
       
       }

       else if(language == "sve") {

         alert("Jag har en hund!");
         return false;

       }

       else {

         alert("Anna värin nimi ja heksakoodi!");
         return false;
       }

    }
}


function tarkastadropdown(language){
    if (document.pikalisays.t2.value == 0){
       if(language == "eng") {

         alert("Please choose a module!");
         return false;

       }

       else if(language == "sve") {

         alert("Jag har en hund!");
         return false;

       }

       else {

         alert("Valitse ensin moduuli!");
         return false;
       }
    }

    else{
       return true;
    }
}

// freeformin tarkistusta:
function checkfreeform(arr) {
  for (i = 0; i < arr.length; i++) {
    switch(arr[i][0]) {
      case 1:
        if(checkfftext(arr[i][1]) == false) {
          return false;
        }
        break;
      case 2:
        if(checkffnumeric(arr[i][1]) == false) {
          return false;
        }
        break;
      case 3:
        if(checkffmail(arr[i][1]) == false) {
          return false;
        }
        break;
      case 4:
        if(checkffphone(arr[i][1]) == false) {
          return false;
        }
        break;
      case 5:
        if(checkffcaptcha(arr[i][1]) == false) {
          return false;
        }
        break;
      default:
        // nothing
        break;
    } // end switch
  } // end for
  return true;
}

function checkfftext(input) {
  var obj = document.getElementById(input);
  if(obj == null) {
    return false;
  }
  if(obj.value == "") {
    alert("Kirjoita teksti.");
    obj.focus();
    return false;
  }
  return true;
}

function checkffnumeric(input) {
  var obj = document.getElementById(input);
  if(obj == null) {
    return false;
  }
  if(obj.value.match(/^\d+$/)) {
    return true;
  }
  alert("Kirjoita numero.");
  obj.select();
  obj.focus();
  return false;
}

function checkffmail(input) {
  var obj = document.getElementById(input);
  if(obj == null) {
    return false;
  }
  if(obj.value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)) {                                 
    return true;
  }
  alert("Kirjoita E-mail.");
  obj.select();
  obj.focus();
  return false;
}

function checkffphone(input) {
  var obj = document.getElementById(input);
  if(obj == null) {
    return false;
  }
  if(obj.value.match(/^[0-9\-\+\ \(\)]*$/)) {
    return true;
  }
  alert("Kirjoita puhelinnumero.");
  obj.select();
  obj.focus();
  return false;
}

function checkffcaptcha(input) {
  var obj = document.getElementById(input);
  if(obj == null) {
    alert("Kirjoita kuvan teksti.");
    return false;
  }
  var xmlHttp;
  xmlHttp = GetXmlHttpObject();
  if (xmlHttp == null) {
    return true;
  } 
  var url = "libs/captcha/captchacheck.php?c=" + obj.value;
  xmlHttp.open("GET", url, false); // false = synchronous (wait for results before continuing)
  xmlHttp.send(null);
  if(xmlHttp.responseText == "1") {
    return true;
  } else {
    alert("Kirjoita kuvan teksti.");
    obj.select();
    obj.focus();
    return false;
  }
}
// RAKENTAA XML/HTTP YHTEYDEN (SELAIMESTA RIIPPUEN)
function GetXmlHttpObject() {
  var xmlHttp = null;
  try {
    xmlHttp = new XMLHttpRequest();
  } catch (e) {
    try {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}

