function compareExt(v){
    switch(v){
        case "nl":
            return true;
            break;
        case "eu":
            return true;
            break;
        case "com":
            return true;
            break;
        case "info":
            return true;
            break;
        case "org":
            return true;
            break;
        case "tk":
            return true;
            break;
        case "net":
            return true;
            break;
        case "tv":
            return true;
            break;
        case "cc":
            return true;
            break;
        case "ru":
            return true;
            break;
        case "ro":
            return true;
            break;
        case "co.uk":
            return true;
            break;
        case "pl":
            return true;
            break;
        default:
        return false;
    }
}

/********************************************
validators for formobjects
********************************************/
function equalToPassword(e){
    var pass = document.getElementById("password").value;
    var me = getActivatedObject(e);
    if(me.value != pass){
        warn(me,"notEqual");
    }
    else{
        unwarn(me,"notEqual");
    }
}

function URLIsProper(e){
    var me = getActivatedObject(e);
    var str = me.value;
    var regexp = "http://"
    var nstr = str.replace(regexp,'');
    strSplit = nstr.split('.');
    if(strSplit.length == 3){
        var ext = strSplit[2];
    }
    else if(strSplit.length == 4){
        var ext = strSplit[2] + "." + strSplit[3];
    }
    else{
        var ext = "";
    }
    
    if(strSplit.length < 3 || strSplit[0] != "www" || (ext == '' || (ext.length < 2 || ext.length > 5)) || !compareExt(ext)){
        if(ext != "" && !compareExt(ext)){
            warn(me,"format2");
        }
        else{
            warn(me,"format");
        }
    }
    else{
        unwarn(me,"format");
        unwarn(me,"format2");
    }
}

function fieldIsFilled(e) {
  var me = getActivatedObject(e);
  if (me.value == "") {
    warn(me, "required");
  } else {
    unwarn(me, "required");
  }
}

function emailIsProper(e) {
  var me = getActivatedObject(e);
  if (!/^[\w\.-_\+]+@[\w-]+(\.\w{2,4})+$/.test(me.value)) {
    warn(me, "format");
  } else {
    unwarn(me, "format");
  }
}

function fieldIsLetters(e) {
  var me = getActivatedObject(e);
  var nonAlphaChars = /[^a-zA-Z]/;
  if (nonAlphaChars.test(me.value)) {
    warn(me, "letters");
  } else {
    unwarn(me, "letters");
  }
}

function fieldIsNumbers(e) {
  var me = getActivatedObject(e);
  var nonNumericChars = /[^0-9]/;
  if (nonNumericChars.test(me.value)) {
    warn(me, "numbers");
  } else {
    unwarn(me, "numbers");
  }
}

function processCaptcha(Content, tField) {
  var me = document.getElementById(tField);
  if (Content != "ok") {
    warn(me, "error");
  } else {
    unwarn(me, "error");
  }
}


/********************************************
Submitters for forms after validation
********************************************/

function submitAanmeldForm(){
    var data = "";
    var name = document.getElementById("name").value;
    var email = document.getElementById("email").value;
    var accept1 = document.getElementById("accept1").checked.value;
    var accept2 = document.getElementById("accept2").checked.value;
    var remarks = document.getElementById("remarks").value;
    var c_code = document.getElementById("c_code").value;
    var image = document.getElementById("image").value;
    var accept = "";
    
    if(accept1 == "true"){
        accept = "no";
    }
    else{
        accept = "yes";
    }
    
    if(name != "" && email != "" && c_code != ""){
        data = "&name=" + name;
        data = data + "&email=" + email;
        data = data + "&accept=" + accept;
        data = data + "&remarks=" + remarks;
        data = data + "&c_code=" + c_code;
        data = data + "&image=" + image;
        
        getFunction("apply",currLang ,'txt', "content" ,'post', processAanmeldForm,data);
    }
    else{
        alert("Unable to log in");
    }
}

function submitEventForm(){
    var data = "";
    var schrijver = document.getElementById("schrijvernaam").value;
    var cityname = document.getElementById("cityname").value;
    var soort = document.getElementById("type").value;
    data = "&schrijver=" + encodeURI(schrijver) + "&cityname=" + cityname + "&soort=" + soort;
    getFunction("findEvent",currLang ,'txt', "content" ,'post', processContent,data);
}

function getArchive(){
    var data = "";
    var schrijver = document.getElementById("schrijvernaam").value;
    var cityname = document.getElementById("cityname").value;
    var soort = "archief";
    data = "&schrijver=" + encodeURI(schrijver) + "&cityname=" + cityname + "&soort=" + soort;
    getFunction("findEvent",currLang ,'txt', "content" ,'post', processContent,data);
}

function submitMeldEventForm(){
    var data = "";
    var schrijver = document.getElementById("schrijvernaam").value;
    var soort = document.getElementById("soort").value;
    
    var org = document.getElementById("organisatie").value;
    var loc = document.getElementById("adres1").value;
    var adres2 = document.getElementById("adres2").value;
    var postcode = document.getElementById("postcode").value;
    var cityname = document.getElementById("cityname").value;
    
    var ed = document.getElementById("ed").value;
    var em = document.getElementById("em").value;
    var ey = document.getElementById("ey").value;
    var tijd = document.getElementById("time").value;
    var price = document.getElementById("price").value;
    var phone = document.getElementById("phone").value;
    var email = document.getElementById("email").value;
    var web = document.getElementById("web").value;
    var opmerkingen = document.getElementById("opmerkingen").value;
    
    data = "&func=meldevent&submit1=verzenden&schrijvernaam=" + schrijver + "&soort=" + soort + "&organisatie=" + org + "&adres1=" + loc + "&adres2=" + adres2 + "&postcode=" + postcode + "&cityname=" + cityname + "&ed=" + ed + "&em=" + em + "&ey=" + ey + "&time=" + tijd + "&price=" + price + "&phone=" + phone + "&email=" + email + "&web=" + web + "&opmerkingen=" + opmerkingen;
    getFunction("meldevent",currLang ,'txt', "content" ,'post', processContent,data);
}


function submitWriterForm(){
    pagetype = document.getElementById("pagetype").value;
    schrijvernaam = document.getElementById("schrijvernaam").value;
    if(schrijvernaam.length >= 3){
        data="&func=" + pagetype + "&type=" + pagetype + "&schrijvernaam=" + escape(schrijvernaam);
        getFunction(pagetype,currLang ,'txt', "content" ,'post', processContent,data);
    }
}
/********************************************
Form functions
********************************************/
// check captchacode
function captcha(){
    var data = "";
    data = "&image=" + document.getElementById("image").value;
    data += "&c_code=" + document.getElementById("c_code").value;
    getFunction("validatecaptcha",currLang,'txt','c_code','post',processCaptcha,data);
    data = '';
}

//get a new captchaimage
function getCaptcha(){
    getFunction("captcha",currLang,'txt','captcha','post',processContent,'');
}

// lookup for suggestbox
function searchSuggest(e){
    me = getActivatedObject(e);
    data = me.value;
    if(data.length >= 3){
        dataStr = "&type=" + me.id + "&string=" + data;
        getFunction("getsuggestions",currLang ,'txt', me.id ,'post',processSearchSuggest,dataStr);
    }
}


function suggestOver(div_value){
    div_value.className = 'suggest_link_over';
}

function suggestOut(div_value){
    div_value.className = 'suggest_link';
}

function setSearch(Content, tField){
    var sb = document.getElementById(tField);
    sb.value = Content;
    document.getElementById(tField + "_suggest").innerHTML = '';
    document.getElementById(tField + "_suggest").style.display = "none";
}
