// JSON decoder:
function decodeJSON(JSONstr){
	eval("var obj = "+JSONstr);
	return obj;
}		


function ValiderEmail(email)
{
	var pos=email.indexOf("@");
	var pos2=email.indexOf(".");
	var error=0;

   if (email.length == 0) return false;

   if (pos < 1) error++;
     else  if(email.indexOf(".",pos) < pos+2) error++;

  if (pos2==email.length-1)   error++;

   if (email.indexOf(" ") > 0)
   {
        return false;
   }

   if (error)
      {
      return false;
     }
   return true;
}



/* function to save emailadress*/
function OptInNewsletter(){
	
	var naam 		= $F('optInNaam');
	var emailadress = $F('optInemailadress');
	var language 	= $F('optInLanguage');
	var mailgroup 	= $F('optInMailgroup');
	var GoodToGo = true;


	function OptInReply(transport) {
				replyOptIn = transport.responseText;
				if (replyOptIn == "ok") {
					$('emailFields').hide();
					$('saveEmail').hide();
					$('optInReply').update('Controleer je mailbox voor de bevestigings E-mail en bevestig de inschrijving.<br /><br />');

				} else {
					$('optInemailadress').style.backgroundColor  = "#ff0000";
					$('optInReply').update('Je staat al ingeschreven voor de nieuwsbrief. <br /><br />');
				}

			}

	
	if (!(ValiderEmail(emailadress))) {
		
		//$('optInemailadress').style.backgroundColor  = "#ff0000";
		$('optInReply').update('Dit is geen geldig e-mailadres.<br /><br />');
		GoodToGo = false;
		
	} else if (!$F('optInNaam'))  { 
		$('optInNaam').style.backgroundColor  = "#ff0000";
		$('optInReply').update('Je naam is verplicht.<br /><br />');
		GoodToGo = false;
	}
	
	
		
	if (GoodToGo) {

	var tmpUrl = "ajax/newsletter.php";
	var tmpParameters = "?action=ajax_save&naam=" + naam + "&emailadress=" + emailadress + "&language=" + language + "&mailgroup=" + mailgroup;
		var req = new Ajax.Request(
			tmpUrl,
				{
					method: "post",
					parameters: tmpParameters,
					asynchronous: "true",
					onComplete:OptInReply
				}
			);
			
			
		
	}
}
	


/* function to save emailadress*/
function OptOutNewsletter(){
	
	var emailadress = $F('optOutemailadress');

	function OptOutReply(transport) {
				replyOptOut = transport.responseText;
				if (replyOptOut == "ok") {
					$('optOutemailadress').hide();
					$('removeEmail').hide();
					$('optOutReply').update('Uitgeschrijven is gelukt, je ontvangt vanaf nu geen nieuwsbrief meer.');

				} else {
					$('optOutemailadress').style.backgroundColor  = "#ff0000";
					$('optOutReply').update('Dit e-mailadres is niet inschreven.');
				}

			}

	
	if (!(ValiderEmail(emailadress))) {
		
		$('optOutemailadress').style.backgroundColor  = "#ff0000";
		$('optOutReply').update('Dit is geen geldig e-mailadres. <br /><br />');
		
	} else {

	var tmpUrl = "ajax/newsletter.php";
	var tmpParameters = "?action=ajax_remove&emailadress=" + emailadress;
		var req = new Ajax.Request(
			tmpUrl,
				{
					method: "post",
					parameters: tmpParameters,
					asynchronous: "true",
					onComplete:OptOutReply
				}
			);
			
			
		
	}
}


/* Behaviours en Search rules om javascript te activeren */	
var SearchRules = {
	
	'#optInemailadress, #optOutemailadress' : function(el) {
			el.onclick = function() {
					this.value='';
					$(this).style.backgroundColor  = "#ffffff";
					return false;
				}
			}
	,
	
	'#saveEmail' : function(el) {
			el.onclick = function() {
					OptInNewsletter();
					return false;
				}
			}
	,
	
	'#removeEmail' : function(el) {
			el.onclick = function() {
					OptOutNewsletter();
					return false;
				}
			}


}

Behaviour.register(SearchRules);
	
	