/**
 * JavaScript Funktionen für den Newsletter Ist klar, daß einige Funktionen aus
 * der form.js kopiert sind, aber ich möchte erstmal versuchen das Modular
 * aufzubauen.
 */
function add_image()
{
    document.getElementById('nl_action').value = 'addImageAttachment';
    document.getElementById('newsletterform').submit();
    return null;
}

function add_document()
{
    document.getElementById('nl_action').value = 'addDocumentAttachment';
    document.getElementById('newsletterform').submit();
    return null;
}

function check_send_newsletter_html_form(lang){
   if(!document.getElementsByName) {
      nl_handle_error(0,lang);
      return(true);
   }
   chk = nl_check_radios('mime');
   if(chk===false)return(nl_handle_error(4,lang));
   return check_send_newsletter_form();
}

function check_send_newsletter_form(lang){
   if(!document.getElementsByName) {
      nl_handle_error(0,lang);
      return(true);
   }
   chk = (document.getElementsByName('nlID')[0].value>-1);
   if(chk===false)return(nl_handle_error(3,lang));
   chk = nl_check_radios('recipient');
   if(chk===false)return(nl_handle_error(5,lang));

   // recipient single ausgewählt ?
   single_r=false;
   for(i = 0; i < document.getElementsByName('recipient').length; i++) {
              if(document.getElementsByName('recipient')[i].checked == true){
                  if(document.getElementsByName('recipient')[i].value=="single")single_r=true;
              }
           }
   if(single_r){
    chk = nl_check_field_min_length('single_recipient', 4);
    if(chk == false) return(nl_handle_error(6,lang));
    chk = nl_check_email('single_recipient');
    if(chk == false) return(nl_handle_error(7,lang));
   }
   if(chk == true) return true;
}
function check_add_recipient_form(lang) {
   if(!document.getElementsByName) {
      nl_handle_error(0,lang);
      return(true);
   }
   chk = nl_check_field_min_length('email', 1);
   if(chk == false) return(nl_handle_error(1,lang));
   chk = nl_check_email('email');
   if(chk == false) return(nl_handle_error(2,lang));
   if(chk == true) return true;
}
function nl_handle_error(number,lang) {
	if(lang=='en'){
		var error_text = new Array(
	     "Notice: Your Browser doesn't support form validation",
	     "Please enter your email",
	     "Email is not valid",
	     "Please choose newsletter",
	     "PLease choose mime-type",
	     "Please choose recipient",
	     "No recipient given",
	     "Recipient email is not valid"
	   );
	}else{
		var error_text = new Array(
			     "Hinweis: Keine Eingabenüberprüfung im Browser möglich!",
			     "Bitte geben Sie Ihre E-Mail Adresse ein!",
			     "Die E-Mail Adresse ist nicht gültig!",
			     "Bitte Newsletter auswählen!",
			     "Bitte Mime-Typ auswählen!",
			     "Bitte Empfänger wählen !",
			     "Keine Empfänger eingegeben !",
			     "Empfänger E-Mail ist nicht gültig !"
			   );
	}

   alert(error_text[number]);
   switch(number) {
      case 0: break;
      case 1: case 2: nl_point_to('email'); break;
      case 3: nl_point_to('nlID');break;
      case 4: nl_point_to('mime');break;
      case 5: nl_point_to('recipient');break;
      case 6: case 7:nl_point_to('single_recipient');break;
      default: break;
   }
   return false;
}
function nl_check_radios(name) {
   var check = false;
   for(i = 0; i < document.getElementsByName(name).length; i++) {
      if(document.getElementsByName(name)[i].checked == true)
         check = true;
   }
   return(check);
}


function nl_check_field_min_length(name, min_length) {
   var check = false;
   if(document.getElementsByName(name)[0].value.length >= min_length)
      check = true;
   return(check);
}

function nl_check_email(name) {

  adr =  document.getElementsByName(name)[0];
  var rx = /^([^\s@,:"<>]+)@([^\s@,:"<>]+\.[^\s@,:"<>.\d]{2,}|(\d{1,3}\.){3}\d{1,3})$/;
  var part = adr.value.match(rx);
  var info = 'E-Mail-Adresse ';
  if(part){
      info += '<'+part[1]+'@'+part[2]+'> ist OK.';
      return true;
  }else {
    info += 'ist fehlerhaft!'; adr.focus();
    return false;
  }
}
function nl_point_to(name) {
   document.getElementsByName(name)[0].focus();
}
