//(var edelweissClicked = null;
var myUpload = new Array();

//function to check valid email address
function isValidEmail(strEmail){
    return /^([\w-+=_]+(?:\.[\w-+=_]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i.test(strEmail) ? true : false;
}

var Site = {
    start: function(){

		$$('.error').each(function(error) {

			new Fx.Slide(error.getProperty('id')).hide();
		});

        // If user is on page "upload.php"
        if($('mediafile')) {
            Site.uploadMedia();
            $('button-upload').addEvent('click', function(e) {
                var jsonRequest = new Request.JSON({
                    url: "captcha_check.php",
                    onComplete: function(result){
                      if(result != true) {
                        $('champSecurite').addClass('error_on_field');
                        if(e) e.stop();
                      } else {
                        var jsonRequest_project = new Request.JSON({
                            url: "upload_ajax.php",
                            onComplete: function(result){
                                if (result.result == 'success') {
                                    $('status_mediafile').setStyle('display', 'none');
                                    $('formToHide').set('style', 'display: none');
                                    $('showWhenTransforming').set('style', 'display: block');

                                    var jsonRequest = new Request.JSON({url: "transform_video.php", onComplete: function(result_media){
					if(!result_media) {
                                        	$('showWhenTransforming').set('style', 'display: hidden');
						alert('Format de données du fichier non reconnu!');
                                            	window.location = "./upload.php";
					} else {
						if (result_media.return_var == 0) {
                                            		window.location = "./upload_final.php";
                                        	}
					}
                                    }}).get();
                                } else {
                                    $('formError').setStyle('height', '60px');
                                    var myVerticalSlide = new Fx.Slide('formError', {
                                        mode: 'vertical',
                                        onComplete: function(){
                                            $('formErrorText').set('html', '<p><b>' + result.title + ':</b> ' + result.text + '</p>');
                                        }
                                    }).slideIn('vertical');
                                    //window.location = "./upload.php";
                                }
                            }
                        }).get();
                      }
                    }
                  }).get({'captchaValue': $('champSecurite').value});
            });
        }

        if($('champSecurite')) {
            $('champSecurite').addEvent('keyup', function(e) {
                if(e.code == 13)
                    $('button-upload').fireEvent('click');
            });
        }

        if($('voteForProject')) {
            Site.voteForProject();
        }


        if($('surveyQuestion')) {
            Site.submitSurveyForm();
        }

        //Tell a friend link
        if ($('tellAFriendLink')) {
          $('tellAFriendLink').addEvent('click', function(e) {
            e = new Event(e).stop();

            $('closeLoginSlide').fireEvent('click');

            if (Cookie.read("firstname") && Cookie.read("lastname") && Cookie.read("email")) {
              $('sender_firstname').value = Cookie.read("firstname");
              $('sender_lastname').value = Cookie.read("lastname");
              $('sender_email').value = Cookie.read("email");
            }
            $('tellAFriendWrapper').setStyle('visibility', 'visible');
            var slideUp = new Fx.Tween($('tellAFriend')).start('top', '0');
            Site.tellAFriendEvents();
          });
        }

        //Cache les erreurs d'un formulaire
        if ($('formError')) {
            var myVerticalSlide = new Fx.Slide('formError');
            myVerticalSlide.hide();
        }

        if ($('formulaireUploadFinal')) {
            Site.uploadFinal();
        }

        if ($('thumbsChoice')) {
            Site.selectThumb();
        }
    },

    voteForProject: function() {
        $('voteForProject').addEvent('click', function(e) {
            $('closeTellAFriendSlide').fireEvent("click");

            //Check si le cookie existe
            if (!Cookie.read("firstname") && !Cookie.read("lastname") && !Cookie.read("email")) {
                //Slide pour le formulaire de login
                $('formLoginWrapper').setStyle('visibility', 'visible');
                var slideUp = new Fx.Tween($('formLogin')).start('top', '0');
                //Site.voterEvents();
            } else {
                //Enregistre directement le vote
                Site.doVote();
            }
        });

        $('formVoter').addEvent('submit', function(e) {
            e = new Event(e).stop();

            $('firstname').removeClass('error_on_field');
            $('lastname').removeClass('error_on_field');
            $('email').removeClass('error_on_field');
            $('captchaTestVote').removeClass('error_on_field');
            $('optin_tc_yn').removeClass('error_on_field');

            var error = false;
            if($('firstname').value == '') {
                error = true;
                $('firstname').addClass('error_on_field');
            }
            if($('lastname').value == '') {
                error = true;
                $('lastname').addClass('error_on_field');
            }
            if($('email').value == '' || !isValidEmail($('email').value)) {
                error = true;
                $('email').addClass('error_on_field');
            }
            if(!$('optin_tc_yn').checked) {
                error = true;
                $('optin_tc_yn').addClass('error_on_field');
            }

            if(error == false) {
                var jsonRequest = new Request.JSON({
                  url: "captcha_check.php",
                  onComplete: function(result){
                    if(result == true) {
                        var jsonRequest = new Request.JSON({
                            url: 'insertvoter.php',
                            onComplete: function(result) {
                                if(!result.new_voter != 0) {
                                    alert('error occured');
                                } else {
                                    // Google code
                                    /*if(result.new_voter == '1') {
                                        $('google_code').set('html', '<img height="1" width="1" border="0" src="http://www.googleadservices.com/pagead/conversion/1056376407/?label=PX-wCMW8ahDXjNz3Aw&amp;script=0"/>');
                                    }*/
                                    //Simule l'enregistrement de Cookie
                                    var myCookie = Cookie.write('firstname', $('firstname').value, {duration: 30}); // 30 days
                                    var myCookie = Cookie.write('lastname', $('lastname').value, {duration: 30}); // 30 days
                                    var myCookie = Cookie.write('email', $('email').value, {duration: 30}); // 30 days
                                    //Hide box
                                    var slideUp = new Fx.Tween($('formLogin')).start('top', $('formLogin').getStyle('height'));
                                    (function(){
                                      $('formLoginWrapper').setStyle('visibility', 'hidden');
                                    }).delay(500);
                                    //Enregistre le vote
                                    Site.doVote();
                                }
                            }
                        }).post($('formVoter'));
                    } else {
                        $('captchaTestVote').addClass('error_on_field');
                    }
                  }
                }).get({'captchaValue': $('captchaTestVote').value, 'var_name': 'createCaptchaVote'});
            }
        });

        //Close slide
      if($('closeLoginSlide')) {
        $('closeLoginSlide').addEvent('click', function(e) {
          //Clean edelweisses selection
          /*edelweissClicked = null;
          $$('.edelweiss').each(function(object) {
            object.setProperty('src', 'gfx/edelweiss_out.gif');
          });*/
          //Hide Slide
          var slideUp = new Fx.Tween($('formLogin')).start('top', $('formLogin').getStyle('height'));
          (function(){
            $('formLoginWrapper').setStyle('visibility', 'hidden');
          }).delay(500);
        });
      }
    },

    uploadMedia: function (){
        //Uploads des images et check session
        if($$('.uploadforms')){
          $$('.uploadforms').each (
            function(el) {
              //var tag = el.getProperty('tag');
              //Contrôle upload
                    var myUpload = new FileUploaderMoo('form_mediafile','status_mediafile');
              //Callback appelé après la mise à jour des éléments
              /*myUpload[tag].addEvent('elementUpdated', function(){
                //
              });
              //Callbak 'uploadCompleted'
              myUpload[tag].addEvent('uploadCompleted', function(){
                  //Vide le champ Input pour laisser la place à un nouvel upload
                  if($(tag)) $(tag).value = '';
              });*/
            }
          );
        }
    },

        submitSurveyForm: function(){

            if($('submitSurvey')) {
                $('submitSurvey').addEvent('submit', function(e) {
                    e.stop();

                    $('surveyLoader').set('style', 'display: block');

                    var qValue = 0;
                    $$('.qValue').each(function(q) {
                        if(q.checked)
                            qValue = q.value;
                    });

                    var url = this.getProperty('action');
                    var method = this.getProperty('method');
                    var jsonrequest= new Request.JSON({
                        url: url,
                        method: method,
                        data: { 'qValue' : qValue },
                        onComplete:function(result){
                            /*if(result.success) {
                                Cookie.write('survey','qbDh77mW9tI7neB');
                                $('surveyLoader').set('style', 'display: none');
                                $('surveyQuestion').set('style', 'display: none');
                                $('surveyResult').empty();
                                $('surveyResult').set('style', 'display: block');
								$('surveyTitleImg').set('html',result.title);
                                $('surveyResult').set('html',result.content);
                                $('answerResultGraph_1').set('style', 'width:' + result.percent_1 + '%');
                                $('answerResultGraph_2').set('style', 'width:' + result.percent_2 + '%');
                                $('answerResultGraph_3').set('style', 'width:' + result.percent_3 + '%');
                            } else {*/
								Site.showformError('surveyError', result.message);
								//$('validateButton').set('style', 'text-align:right');
                                //$('inputSubmit').set('style', 'display: block');
                                $('surveyLoader').set('style', 'display: none');
                            //}
                        }
                    }).send();
                });
            }


	},//End function

	surveyCookie: function(){
		if (Cookie.read("survey")) {
			//Slide pour le formulaire de login
			return true;
		  } else {
			return false;
		  }
	},//End function

    uploadFinal: function () {

        //Sélectionne la première imagette
        if ($('thumbsChoice')) {
            var thumbs = $$('.thumbImage');
            thumbs.each(function(thumb, i) {
                if (i == 0) {
                    thumb.addClass('selectedImage');
                    $('hiddenThumb').value = thumb.getAttribute('src');
                } else {
                    thumb.removeClass('selectedImage');
                }
            });
        }

        $('formulaireUploadFinal').addEvent('submit', function(e) {
            e.stop();

            $('conditions').removeClass('error_on_field');
            $('title').removeClass('error_on_field');
            $('firstname').removeClass('error_on_field');
            $('lastname').removeClass('error_on_field');
            $('email').removeClass('error_on_field');
            $('member1_firstname').removeClass('error_on_field');
            $('member1_lastname').removeClass('error_on_field');
            $('member1_email').removeClass('error_on_field');

            if(!$('conditions').checked) {
                $('conditions').addClass('error_on_field');
            }
            if($('title').value == '') {
                $('title').addClass('error_on_field');
            }
            if($('firstname').value == '') {
                $('firstname').addClass('error_on_field');
            }
            if($('lastname').value == '') {
                $('lastname').addClass('error_on_field');
            }
            if($('email').value == '' || !isValidEmail($('email').value)) {
                $('email').addClass('error_on_field');
            }
            if($('member1_firstname').value == '') {
                $('member1_firstname').addClass('error_on_field');
            }
            if($('member1_lastname').value == '') {
                $('member1_lastname').addClass('error_on_field');
            }
            if($('member1_email').value == '') {
                $('member1_email').addClass('error_on_field');
            }

            var myHideSlide = new Fx.Slide('formError').hide();
            var jsonRequest = new Request.JSON({url:'upload_final_ajax.php', onComplete: function(result){
                if (result.error == '') {
                    window.location = "./upload_confirmation.php";
                } else {
                    $('formError').setStyle('height', '70px');
			var myVerticalSlide = new Fx.Slide('formError', {
                            mode: 'vertical',
                            onComplete: function(){
                                    $('formErrorText').set('html', '<p>' + result.error + '</p>');
                            }
                    }).slideIn('vertical');
                }
            }}).post($('formulaireUploadFinal'));
        });
    },

    selectThumb: function () {
        var thumbs = $$('.thumbImage');
        thumbs.each(function(thumb, i) {
            thumb.addEvent("click", function(event) {
		thumbs.each(function(other, j) {
		    other.removeClass('selectedImage');
		});
		this.addClass('selectedImage');
                $('hiddenThumb').value = this.getAttribute('src');
            });
        });
    },

    doVote: function() {
      var jsonRequest = new Request.JSON({
        url: "dovote.php",
        onComplete: function(result){
            if(result.success) {
                $('projectPoints').set('html', result.points);
                //Say thanks to voter after 500 ms
                (function(){
                  $('thanksForVotingWrapper').setStyle('visibility', 'visible');
                  var slideUp = new Fx.Tween($('thanksForVoting')).start('top', '0');
                }).delay(500);
                //Hide thanks message after 3 seconds
                (function(){
                  var slideUp = new Fx.Tween($('thanksForVoting')).start('top', $('thanksForVoting').getStyle('height'));
                  (function(){
                    $('thanksForVotingWrapper').setStyle('visibility', 'hidden');
                  }).delay(500);
                }).delay(3000);
            } else {
                //Say thanks to voter after 500 ms
                (function(){
                  $('alreadyVotedWrapper').setStyle('visibility', 'visible');
                  var slideUp = new Fx.Tween($('alreadyVoted')).start('top', '0');
                }).delay(500);
                //Hide thanks message after 3 seconds
                (function(){
                  var slideUp = new Fx.Tween($('alreadyVoted')).start('top', $('alreadyVoted').getStyle('height'));
                  (function(){
                    $('alreadyVotedWrapper').setStyle('visibility', 'hidden');
                  }).delay(500);
                }).delay(5000);
            }
        }
      }).get({'project_id': $('project_id').value}); //, 'note': edelweissClicked});
    },

    tellAFriendEvents: function() {
      //Close slide
      if($('closeTellAFriendSlide')) {
        $('closeTellAFriendSlide').addEvent('click', function() {
          //Hide Slide
          var slideUp = new Fx.Tween($('tellAFriend')).start('top', $('tellAFriend').getStyle('height'));
          (function(){
            $('tellAFriendWrapper').setStyle('visibility', 'hidden');
          }).delay(500);
        });
      }

      //Submit tell a friend form
      $('formTellAFriend').addEvent('submit', function(e) {
        e = new Event(e).stop();

        $('captchaTestFriend').removeClass('error_on_field');
        $('sender_firstname').removeClass('error_on_field');
        $('sender_lastname').removeClass('error_on_field');
        $('sender_email').removeClass('error_on_field');
        $$('.emails').each(function(e) {
            e.removeClass('error_on_field');
        });

        var error = false;

        if($('sender_firstname').value == '') {
            error = true;
            $('sender_firstname').addClass('error_on_field');
        }

        if($('sender_lastname').value == '') {
            error = true;
            $('sender_lastname').addClass('error_on_field');
        }

        if($('sender_email').value == '' || !isValidEmail($('sender_email').value)) {
            error = true;
            $('sender_email').addClass('error_on_field');
        }

        var nb_emails = 0;
        $$('.emails').each(function(e) {
            if(e.value != '') {
                nb_emails++;
                if(!isValidEmail(e.value)) {
                    error = true;
                    e.addClass('error_on_field');
                }
            }
        });

        if(nb_emails == 0) {
            error = true;
            $$('.emails').each(function(e) {
                e.addClass('error_on_field');
            });
        }

        $$('.emails').each(function(x) {
           if(x.value != '') {
             // Check sender email
             if(x.value == $('sender_email').value) {
                x.addClass('error_on_field');
                $('sender_email').addClass('error_on_field');
                error = true;
             }

             // Check friends email
             $$('.emails').each(function(y) {
               if(x.id != y.id && y.value == x.value) {
                 error = true;
                 x.addClass('error_on_field');
                 y.addClass('error_on_field');
               }
             });
           }
        });

        if(!error) {
            var jsonRequest = new Request.JSON({
              url: "captcha_check.php",
              onComplete: function(result){
                if(result == true) {
                    var jsonRequest = new Request.JSON({
                      url: 'tellafriend.php?project_id=' + $('project_id').value,
                      onComplete: function(result) {
                        //Hide box
                        var slideUp = new Fx.Tween($('tellAFriend')).start('top', $('tellAFriend').getStyle('height'));
                        (function(){
                          $('tellAFriendWrapper').setStyle('visibility', 'hidden');
                          $('submitTellAFriendBtn').setStyle('display', 'block');
                          $('captchaTestFriend').value = '';
                        }).delay(500);
                        // clean inputs
                        //$('formTellAFriend').getElements('input[type=text]').each(function(el) { el.value = ''; });
                        $$('.emails').each(function(e) {
                            e.value = '';
                        });
                        $$('.lastnames').each(function(e) {
                            e.value = '';
                        });
                        $$('.firstnames').each(function(e) {
                            e.value = '';
                        });
                        // clean textarea
                        $('messageTellAFriend').value = '';
                        // regenerate captcha
                        $('submitTellAFriendBtn').setStyle('display', 'none');
                        $('captchaFriend').setProperty('src', 'captcha.php?var_name=createCaptchaFriend&' + parseInt(Math.random() * 100000));
                      }
                    }).post($('formTellAFriend'));
                } else {
                    $('captchaTestFriend').addClass('error_on_field');
                }
              }
            }).get({'captchaValue': $('captchaTestFriend').value,
                    'var_name': 'createCaptchaFriend'});
        }
      });
    },

    showformError: function(id, message) {
	  $(id).empty().set('html', '<p>' + message + '</p>');
      var myVerticalSlide = new Fx.Slide(id, {
        mode: 'vertical',
        onComplete: function(){

        }
      }).slideIn('vertical');
    },

    hideformError: function(id) {
      var myVerticalSlide = new Fx.Slide(id, {
        mode: 'vertical',
        onComplete: function(){
          $(id).set('html', '');
        }
      }).slideOut('vertical');
    }
};
window.addEvent('domready', Site.start);

