$(document).ready(function(){ 
    COOP.init();
});

COOP = {
    imgPath : "",  
    txtMessageBox : "",
	podcastUrl : "",
    numberOfElementsToCheck : 0,
    name : "btnRecommend",
    
    // Get the page language
    lan : function()
    {
       var metaLanguage = $("meta[lang]").attr("lang");
       if(!metaLanguage)
       {
          metaLanguage = "de";
       }
       return metaLanguage;
    },
    
    // Get actual Rubrik
    actRubric : function()
    {
		var proName = COOP.actualUrl().indexOf("weihnachten");
		var startPos = proName + 12;
		var endPos = startPos + 6;
		var rubric = COOP.actualUrl().slice(startPos, endPos);
		return rubric;
    },
    
    // Set Individual MessageText 
    
    setIndividualText : function(){
      $('#introText').text(COOP.recIntro);
      $("#message").get(0).value = COOP.recMessage;
    },
    
    // Get the actual URL
    actualUrl : function()
    {
       var siteURL = document.URL;
       return siteURL;
    },
    
    // First page of recommend form
    sendform : function(n, buttonName)
    {
      COOP.name = buttonName;
      COOP.numberOfElementsToCheck = n;
     $('.thickbox').click(function()
      { 
	  	COOP.podcastUrl = $(this).attr('rel');
        COOP.name = "btnRecommend";
        $('#checkImg').attr('src',COOP.imgPath+'false.gif'); 
        COOP.numberOfElementsToCheck = 3;
        COOP.checkMail($('#recipientEmail'),3);         
        $('.emailValue').get(0).value = defaultTextArr[0];   
      });
    },
    
    // Second page of recommend form, newsletter registration
    newsletterform : function(n, buttonName)
    {
      COOP.name = buttonName;
      this.numberOfElementsToCheck = n;
      COOP.enableButton();   
    },
    
    // Checks if Checkbox is already checked or not
    checkCheckbox : function(bx)
    {
      var img = bx.next("img");
      if(img.attr('src') == COOP.imgPath+'true.gif')
            img.attr('src',COOP.imgPath+'false.gif');
      else
            img.attr('src',COOP.imgPath+'true.gif');
    },
    
    // Checks if the input value is an email
    checkMail : function(txt, length)
    {     
        if(this.checkEmail(txt.value))
        {  
          this.changeImage2(txt, this.imgPath+'true.gif');
          this.enableButton();
        }
        else
        {
          this.changeImage2(txt, this.imgPath+'false.gif'); 
          this.enableButton();
        }
        // Shows the feedback image only after entered a couple of characters
        this.showImage(txt.value, $(txt).next("img"), length)
    }, 
     
    // Checks if the input value is normal text 
    checkText : function(txt, length)
     {   
        if(this.checkLength(2, txt.value))
        {
            this.changeImage2(txt, this.imgPath+'true.gif');
            this.enableButton();
        }
        else
        {
            this.changeImage2(txt, this.imgPath+'false.gif');
            this.enableButton();
        }
        // Shows the feedback image only after entered a couple of characters
        this.showImage(txt.value, $(txt).next("img"), length)
     },
     
     // Change the image from a tick to a cross
     changeImage2 : function(elm, src)
     {
          $(elm).next("img").attr('src',src);
     },
     
     showImage : function(str,img, length)
     {

     },
     
     // RegExpression for email validation
     checkEmail : function(inputvalue)
     {    
        var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
        return pattern.test(inputvalue);    
     },
    
     // Checks the length of de input value
     checkLength : function(sizeToCheck, str)
     {
        return str.length > sizeToCheck;
     }, 
     
     // Enable the button if all fields are true
     enableButton : function()
     {
        if($("img").filter('[@src = /pb/site/common/get/documents/system/elements/naturafarm/_img/layout/true.gif]').length == COOP.numberOfElementsToCheck || $("img").filter('[@src = /pb/site/common/get/documents/system/elements/naturafarm/_img/layout/true.gif]').length == COOP.numberOfElementsToCheck)
        {
            $('#' + COOP.name).removeAttr("disabled");
            $('#' + COOP.name).removeClass('btnError');
            $('#' + COOP.name).addClass('btnTrue');
        } 
        else
        {
            $('#' + COOP.name).attr('disabled','disabled');
            $('#' + COOP.name).removeClass('btnTrue');
            $('#' + COOP.name).addClass('btnError');
        } 
     },    
    
    init : function(){
        // Formular Validierung
        if($('.start').length > 0 )
        {
             this.imgPath = "/pb/site/common/get/documents/system/elements/naturafarm/_img/layout/";  
        }
        else {
              this.imgPath = "/pb/site/common/get/documents/system/elements/naturafarm/_img/layout/";  
        }

        //this.imgPath = "img/layout/";  
        this.txtMessageBox = $('#messageText').text();
        this.numberOfElementsToCheck = 3;
        // Layer Texte
        var recSubject;
        var recIntro;
        var recMessage;
        var recEmailText;
        var recTitle;
        var defaultText;
        
        // Initale the formular function of page one
        this.sendform(3, 'btnRecommend');
            
        // Switches the recipes on startpage
        $('.teaserSwitch a').click(function(event){
            event.preventDefault();
            $('.teaserSwitch a').removeClass().addClass('off');
            $(this).addClass('on');
            if (this.id == 'teaser1'){
               $('#teaserBox1').removeClass('hide');
               $('#teaserBox2').addClass('hide');
            }
            else {
               $('#teaserBox2').removeClass('hide');
               $('#teaserBox1').addClass('hide');
            }
        });
       
      // EVENT REGISTRATION
      //--------------------        
      // Default text for each language
      switch(this.lan())
      {
        case "fr":
          defaultText = "destinataire@domain.com|Votre nom|Votre adresse e-mail";
        break;
        case "it":
          defaultText = "destinatario@domain.com|Il tuo nome|Il tuo indirizzo e-mail";
        break;
        default:
          defaultText = "empfaenger@domain.com|Ihr Name|Ihre E-Mail-Adresse";
        break;
      }
      // assign default text to input
      defaultTextArr = defaultText.split('|')
      $('.textValue').get(0).value = defaultTextArr[1];
      $('.emailValue').get(0).value = defaultTextArr[0];
      $('.emailValue').get(1).value = defaultTextArr[2]; 
 
      // Initale checkbox validation
      $('#checkPrivacy').click(function()
      {
          COOP.checkCheckbox($(this));
          COOP.enableButton();     
      });
      
      // Textboxes, Live Validation
      $(".textValue").keyup(function(){COOP.checkText(this, 3)});
      $(".textValue").focus(function()
      {
         if(defaultText.indexOf(this.value) > -1){
            this.value = "";
      }
      });
      $(".emailValue").keyup(function(){COOP.checkMail(this, 3)});
      $(".emailValue").focus(function()
      {
        if(defaultText.indexOf(this.value) > -1)
        {
            this.value = "";
        }
      }); 
      
      // Events when leaving Input-Fields
      $("input").blur(function()
      {
        if(this.id == 'senderMail' && this.value == '')
        {  
          this.value = defaultTextArr[2];
          COOP.changeImage2(this, COOP.imgPath+'false.gif');
        }
        if(this.id == 'recipientEmail'  && this.value == '')
        { 
          this.value = defaultTextArr[0];
          COOP.changeImage2(this, COOP.imgPath+'false.gif');
        }
        if(this.id == 'senderName'  && this.value == '') 
        { 
          this.value = defaultTextArr[1];
          COOP.changeImage2(this, COOP.imgPath+'false.gif');
        }   
        });        
        
        var Texte = new Array();
        Texte[0] = new Object();
        // TEXTE DE
        // ***********************************************************
        //DE Texte Default
        Texte[0]["de_defaul_title"] = "Weiterempfehlen";
        Texte[0]["de_defaul_subject"] = "Schöne Weihnachten mit Coop";
        Texte[0]["de_defaul_intro"] = "Empfehlen Sie zur Adventszeit Rezepte und Bastelideen! Oder laden Sie Ihre Lieben gleich zum gemeinsamen Adventstag ein.";
        Texte[0]["de_defaul_msg"] = "Hallo,\nAuf http://coop.ch/advent findest Du leckere Festtags-Rezepte und tolle Bastelideen rund um die schönste Zeit des Jahres! Ein Besuch lohnt sich also!\nLiebe Grüsse\n\n";
        Texte[0]["de_defaul_email"] = COOP.actualUrl() + "\n" + "\nhttp://coop.ch/advent";
        //DE Texte Rezepte
        Texte[0]["de_rezept_title"] = "Rezept weiterempfehlen";
        Texte[0]["de_rezept_subject"] = "Advents-Genuss auf höchstem Niveau";
        Texte[0]["de_rezept_intro"] = "Empfehlen Sie zur Adventszeit Ihr Lieblingsrezept! Oder laden Sie Ihre Lieben gleich zum gemeinsamen Festessen ein. Einfach die untenstehenden Felder ausfüllen und absenden. En Guete!";
        Texte[0]["de_rezept_msg"] = "Hallo,\nhier kommt mein absolutes Lieblingsrezept zur Adventszeit. Mein Tipp: Gleich ausprobieren und geniessen!\nLiebe Grüsse\n\n";
        Texte[0]["de_rezept_email"] = "Zu meinem Lieblingsrezept:\n" + COOP.actualUrl() + "\n\nWeitere weihnachtliche Rezepte und vieles mehr finden Sie auf:\nhttp://coop.ch/advent";
        //DE Texte Basteln
        Texte[0]["de_bastel_title"] = "Bastelidee weiterempfehlen";
        Texte[0]["de_bastel_subject"] = "Kreativ in die Vorweihnachtszeit";
        Texte[0]["de_bastel_intro"] = "Empfehlen Sie zur Adventszeit Ihre Lieblingsbastelidee! Oder laden Sie Ihre Lieben gleich zum gemeinsamen Basteln ein.";
        Texte[0]["de_bastel_msg"] = "Hallo,\nZu Weihnachten macht doch basteln und dekorieren gleich doppelt Spass! Keine Idee? Schau Dir mal mein Favorit an! Viel Spass!\nLiebe Grüsse\n\n";
        Texte[0]["de_bastel_email"] = "Meine liebste Kreation:\n" + COOP.actualUrl() + "\n\nWeitere originelle Bastelideen und vieles mehr finden Sie auf:\nhttp://coop.ch/advent";
        //DE Texte Gewinnspiel
        Texte[0]["de_gewinn_title"] = "Gewinnspiel weiterempfehlen";
        Texte[0]["de_gewinn_subject"] = "Mach auch mit!";
        Texte[0]["de_gewinn_intro"] = "Empfehlen Sie unser Gewinnspiel und teilen Sie die Chance!";
        Texte[0]["de_gewinn_msg"] = "Hallo,\nAuf http://coop.ch/advent gibt’s ein tolles Gewinnspiel! Jetzt gleich vorbeischauen und teilnehmen! Ausserdem findest Du tolle Rezepte und Bastelideen zur Adventszeit – ein Besuch lohnt sich also auf jedenfall.\nLiebe Grüsse\n\n";
        Texte[0]["de_gewinn_email"] = COOP.actualUrl() + "\n" + "\nhttp://coop.ch/advent";


        var index;
        if(this.actRubric() == '' || this.actRubric() == 'weihna' || this.actRubric() == 'magazi' || this.actRubric() == 'gesche')
        {
          index = this.lan()+"_defaul";
        }
        else
        {
          index = this.lan()+"_"+this.actRubric();
        }
        //recSubject = Texte[0][index+"_subject"];
        //recIntro = Texte[0][index+"_intro"];
        //recMessage = Texte[0][index+"_msg"];
        //recEmailText = Texte[0][index+"_email"];
        //recTitle = Texte[0][index+"_title"];         
        
		recSubject = "Naturafarm Podcast";
        recIntro = "Teilen Sie Ihr Wissen über tierfreundliche Nutztierhaltung auf Naturafarm-Bauernhöfen mit Ihren Freunden und Bekannten. Empfehlen Sie unsere Podcasts weiter.";
        recMessage = "Hallo, ich habe gerade einen interessanten Podcast über tierfreundliche Haltung auf Naturafarm-Bauernhöfen entdeckt. Hör doch auch mal rein! \n";
        recEmailText = COOP.podcastUrl;
        recTitle = "Podcast Weiterempfehlung";         
        
		
        $('.thickbox').click(function() 
        {
            $("#message").get(0).value = recMessage;
            $("#coopInvite").attr('checked','true');
			recEmailText = $(this).attr('rel');
        });
       
       // COOP.setIndividualText();
       var rememberText = '';
       $("#introText").text(recIntro);
       $("#recTitle").text(recTitle);
       $("#message").get(0).value = recMessage;
       $("#coopInvite").click(function()
       {
          rememberText = $("#message").get(0).value;
          $("#message").get(0).value = recMessage;
          $("#message").attr('disabled','disabled');
       });
       $("#coopOwnMsg").click(function()
       {
          $("#message").get(0).value = rememberText;
          $("#message").removeAttr('disabled');
       });      
	   
	          // Switch to next formular page & send data to coop
       $('#btnRecommend').click(function(event){
             var senderName = $("#senderName").val();
             var senderEmail = $("#senderMail").val();
             var recipientEmail = $("#recipientEmail").val();
             var message = $("#message").val();
             var url = document.href; //FIXME: Isnt used anymore? Remove.

			 //alert(senderName + "\n" + senderEmail + "\n" + recipientEmail + "\n" + message + "\n" + recEmailText + "\n" + recSubject);

             $.post("http://www2.coop.ch/promotion/weiterempfehlen/send.cfm ",
                     { senderName: ""+ senderName +"", senderEmail: ""+ senderEmail +"", recipientEmail: ""+ recipientEmail +"", message: "" + message + recEmailText + "" , subject: "" + recSubject + "" },
                     function(data) {
                    	 // Google Analytics: Track call of recommendation (page opened)
                    	 pageTracker._trackPageview("/virtual/awa2008/functions/recommendation/01-opened");
                    	 
                    	 //FIXME: Re-include error checking after source of errors have been found
                         // if(data == "success"){
                         // } else {
                         // }
                    	 // Google Analytics: Track successful recommendation (sent) 
                    	 pageTracker._trackPageview("/virtual/awa2008/functions/recommendation/02-sent");
                         //Initiale function for form page two & send paramaters to next page                
                         COOP.newsletterform(3, 'nlButton');
                         //////$('#nlName').val(senderName);
                         //////$('#nlMail').val(senderEmail);      
                         //Make checkbox always unchecked 
                         /////$('#checkPrivacy').removeAttr('checked');
                         $('.recommendForm').addClass('hide');
                         $('#newsletterForm').removeClass('hide');
                     }, "text");
         });

         //Click event on button on form page two        
         $('#nlButton').click(function(event){ 
                    //Close lightbox window
                    tb_remove();
                    //Split name in firstname and surname
                    var NameValue = $("#nlName").val(); 
                    var Email = $("#nlMail").val(); 
                    var SplitName = NameValue.split(" ");
                    if(!SplitName[1]){
                        var Name = SplitName[0];
                        var Vorname = '*';
                    }
                    else {
                        var Name = SplitName[1];
                        var Vorname = SplitName[0];                     
                    };              
             
             $.post("http://www.coop.ch/newsletter/index_d.cfm",
			         {checkbox: "ak", subsc_sex: 0, subsc_firstname: "" + Vorname + "", subsc_lastname: "" + Name + "", subsc_email: "" + Email + "", subsc_emailt_code: "HTMLPLUS", privacy: 1, subscribe: "Newsletter+abonnieren" },
                     function(data){
			        	 // Google Analytics: Track call of newsletter subscription page  
                    	 pageTracker._trackPageview("/virtual/awa2008/functions/newslettersubscription/01-opened");
                    	 //FIXME: Re-include error checking after source of errors have been found
			        	 // Google Analytics: Track call of newsletter subscription sent  
                    	 pageTracker._trackPageview("/virtual/awa2008/functions/newslettersubscription/02-sent");
                     }, "text");
         });                                            
    }
}
