// 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("Kentässä tulee olla 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("Kentässä tulee olla 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("Kentässä tulee olla e-mail osoitteen.");
  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("Kentässä tulee olla puhelinnumero.");
  obj.select();
  obj.focus();
  return false;
}

function checkffcaptcha(input) {
  var obj = document.getElementById(input);
  if(obj == null) {
    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("Syöte ei vastaa kuvan tekstiä.");
    obj.select();
    obj.focus();
    return false;
  }
}

//
// 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=1024,height=768,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 != ""){
    if (document.varilisays.varinimi.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;
    }
}

// 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;
}
// Edit tilan popuppinavia varten
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
