// Code from http://www.webcheatsheet.com/javascript/form_validation.php

function validateFormOnSubmit(theForm) {

  var reason = "";
 
  reason += validateEmpty(theForm.namn, 'TD_namn');
  reason += validateEmail(theForm.epost);
  reason += validateEmpty(theForm.losenord, 'TD_losenord');
  reason += validateEmpty(theForm.rubrik,'TD_rubrik');
  reason += validateEmpty(theForm.annonstext,'TD_annonstext');
  reason += validateRegion(theForm.region);
  reason += validateInteger(theForm.pris);
  //reason += validateEmpty(theForm.postnr);
      
  if (reason != "") {
    alert("Några fält som krävs är inte ifyllda korrekt. De markeras med rött i formuläret.\n" + reason);
    return false;
  }

  return true;
}

function validateUpdateFormOnSubmit(theForm) {

  var reason = "";

  reason += validateEmpty(theForm.namn, 'TD_namn');
  reason += validateEmpty(theForm.rubrik,'TD_rubrik');
  reason += validateEmpty(theForm.annonstext,'TD_annonstext');
  reason += validateInteger(theForm.pris);
  
  if (reason != "") {
    alert("Några fält som krävs är inte ifyllda korrekt. De markeras med rött i formuläret.\n" + reason);
    return false;
  }

  return true;
}

function validateHanteraFormOnSubmit(theForm)
{
    var reason = "";

    if (valButton(theForm.cmd) == null)
        {
             document.getElementById("TD_Radio1").setAttribute("class", "skapa_annons_faltnamn_fel_left");
             document.getElementById("TD_Radio2").setAttribute("class", "skapa_annons_faltnamn_fel_left");
             reason = " ";
        }
      reason += validateEmpty(theForm.losenord, "TD_losenord");
        
   // reason += validateEmpty(theForm.cmd, "radera");

    if (reason != "") {
    alert("Några fält som krävs är inte ifyllda korrekt. De markeras med rött i formuläret.\n" + reason);
    return false;
  }

    return true;
}

function validateSvarFormOnSubmit(theForm) {
var reason = "";

  reason += validateEmpty(theForm.namn, 'TD_namn');
  reason += validateEmail(theForm.epost);
  reason += validateEmpty(theForm.svarstext, 'TD_text');
      
  if (reason != "") {
    alert("Några fält som krävs är inte ifyllda korrekt. De markeras med rött i formuläret.\n" + reason);
    return false;
  }

  return true;
}

function validatePwdFormOnSubmit(theForm)
{
    var reason = "";
    reason += validateEmail(theForm.epost);
    
     if (reason != "") {
    alert("Några fält som krävs är inte ifyllda korrekt. De markeras med rött i formuläret.\n" + reason);
    return false;
  }

  return true;
}

function validateTipsFormOnSubmit(theForm) {
var reason = "";

  reason += validateEmpty(theForm.namn, 'TD_namn');
  reason += validateEmail(theForm.epost);
          
  if (reason != "") {
    alert("Några fält som krävs är inte ifyllda korrekt. De markeras med rött i formuläret.\n" + reason);
    return false;
  }

  return true;
}

function validateRegion(fld) {
	var error = "";
	
	if (fld.value == 0)
	{
        error = " ";
        document.getElementById("TD_lan").setAttribute("class", "skapa_annons_faltnamn_fel");
		
	} else {
       
        document.getElementById("TD_lan").setAttribute("class", "skapa_annons_faltnamn");
    }

	return error;
}


function validateEmpty(fld, namn) {
    var error = "";
  
    if (fld.value.length == 0) {
         error = " ";
       
         document.getElementById(namn).setAttribute("class", "skapa_annons_faltnamn_fel");
      
    } else {
      
         document.getElementById(namn).setAttribute("class", "skapa_annons_faltnamn");
    }
    return error;   
}



function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
} 

function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
    
    if (fld.value == "") {
        error = " ";
      
        document.getElementById("TD_epost").setAttribute("class", "skapa_annons_faltnamn_fel");
     
	   
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
       error = " ";  //
        
        document.getElementById("TD_epost").setAttribute("class", "skapa_annons_faltnamn_fel");
      
        
    } else if (fld.value.match(illegalChars)) {
         error = " ";
       
        document.getElementById("TD_epost").setAttribute("class", "skapa_annons_faltnamn_fel");
      
        
    } else {
       
        document.getElementById("TD_epost").setAttribute("class", "skapa_annons_faltnamn");
    }
    return error;
}

function validateInteger(fld){
      var error="";
      var tfld = trim(fld.value);   
      if(tfld==null || tfld.length == 0){
           document.getElementById("TD_pris").setAttribute("class", "skapa_annons_faltnamn");
           error="";
           return error;
      }
      for (var i = 0; i < tfld.length; i++) {
            var ch = tfld.charAt(i)
           
            if (ch < "0" || ch > "9") {
                  document.getElementById("TD_pris").setAttribute("class", "skapa_annons_faltnamn_fel");
                  error = " ";
            } else
            {
                  document.getElementById("TD_pris").setAttribute("class", "skapa_annons_faltnamn");
            }
}
return error
}

function validatePostnr(fld){
      var error="";
      var tfld = trim(fld.value);
      if (tfld.length > 0 && tfld.length != 5)
          {
               error = " ";
             
              document.getElementById("TD_postnr").setAttribute("class", "skapa_annons_faltnamn_fel");
             
              return error;
          }else
                {
                     document.getElementById("TD_postnr").setAttribute("class", "skapa_annons_faltnamn");
                }
       if(tfld==null || tfld.length == 0){
           document.getElementById("TD_pris").setAttribute("class", "skapa_annons_faltnamn");
            error="";
           return error;
      }
      for (var i = 0; i < tfld.length; i++) {
            var ch = tfld.charAt(i)
            
            if (ch < "0" || ch > "9") {
                
                error = " ";
                  document.getElementById("TD_postnr").setAttribute("class", "skapa_annons_faltnamn_fel");
                  
                  
            } else
                {
                    document.getElementById("TD_postnr").setAttribute("class", "skapa_annons_faltnamn");
              
                }
}
return error
}

// Radio Button Validation
// copyright Stephen Chapman, 15th Nov 2004,14th Sep 2005
// you may copy this function but please keep the copyright notice with it
function valButton(btn) {
    var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return btn[cnt].value;
    else return null;
}
  

