(function($) {


// set-up your proxi app :-)

  var setting= {
  	'imgfold':'formredirec/',
  	'mode':'prod',
  	'transitionTime':600,
	'countdownTimer':8,
  	'referrer':'http://www.proxi-business.com/'
		};

        $.fn.overlay_level = function(params) {

                params = $.extend( {}, params);

                this.each(function(index) {

					if ($(this).hasClass('current') == false && params.state =='init'){
						$(this).children(".overl").css('display','block');
						}
					else if ($(this).hasClass('current') == false && params.state =='eval') {
						$(this).prev().fadeTo('slow', 0.8);
                        $("div.current").prev().children("img.overl").fadeTo('slow', 0.8);
						}

                })

          $("div.current").children("img.overl").css('display','none');
          $("div#col4pr").children("img.overl").css('display','none');

        };

		$.fn.current = function(params) {

               params = $.extend( {}, params);

				this.each(function(index){

					$(this).click(function() {
					$(this).parents().removeAttr('class');
					$(this).parents().next().addClass('current');
  					//si 3eme etape alors anim
					//if (index == '2') {
					//	$.fn.lastanim();
					//}


					//on retest pr le status des overlay
					$(this).overlay_level({state:'eval'});
					});
				});

        };

        $.fn.previous = function(params){

                params = $.extend( {}, params);

				this.each(function(index){

					$(this).click(function() {
	                $(this).parents().removeAttr('class');
					$(this).parents().next().removeClass();
					if (index == '2') {
						//$.fn.lastanim();
					}
                   var closestDiv = $(this).closest('div');
                   closestDiv.children("img.overl").fadeTo('slow', 0.8);

                   if (closestDiv.attr('id') == 'col4pr') {
				   $('div#clip').animate({"left": "34px"}, "slow");
		 	       closestDiv.prev().prev().children("img.overl").css('display', 'none');
				   closestDiv.find('input[type="radio"]').attr('checked', false);
				   closestDiv.find('input[type="button"]').attr('disabled', true);


		                                        }
				   else if (closestDiv.attr('id') == 'col4'  ) {
		 	       $('div#clip').animate({"left": "34px"}, "slow");
                   closestDiv.prev().children("img.overl").css('display','none');
				   closestDiv.find('input[type="radio"]').attr('checked', false);
				   closestDiv.find('input[type="button"]').attr('disabled', true);
		                                        }


			       else{
                   closestDiv.prev().children("img.overl").css('display','none');
				   closestDiv.find('input[type="radio"]').attr('checked', false);
				   closestDiv.find('input[type="button"]').attr('disabled', true);
				   }

					});
				});

		}

        $.fn.lastanim = function(params) {
			       params = $.extend( {}, params);
			       $('div#clip').animate({"left": "-184px"}, "slow");

			                };

		$.fn.enabledbutton = function(params) {

			         this.each(function(index){

                    //on prend que le div avec un id
					if ($(this).attr("id")!= undefined) {
						  button_cont =  $(this).attr("id");
						  }

                    $(this).find('input[type="radio"]').click(function(){
					//alert(index);
					$("#index_"+index).removeAttr('disabled');

                          });
							});
			                   };

		$.fn.countdown = function(params){

			function redirWhenFinished() {
			 if (setting.mode == 'prod')window.location.href=params.ct_redir;
			}
			$('div.timer').spriteTimer({
			'seconds': setting.countdownTimer,
			'isCountDown': true,
			'digitImagePath': setting.imgfold+'numbers.gif',
			'callback': redirWhenFinished
			});
		return false
		}

		$.fn.ajaxloader = function(params){
         $('.ajaxloader1').hide();
         $('.final_panel').fadeIn('fast');
		 $.fn.countdown({ct_redir: params.al_url})

		 return false
         }

	    $.fn.msgloader = function(params){

                $('#quizz_wrapper').html('<div align="center" class="ajaxloader1"><img src="'+ setting.imgfold +'loader1.gif" ></div><div class="final_panel" style="display:none" ><div id="decolateral" style="float:left;margin-top:0px"><img  src="'+ setting.imgfold +'includes/images/femme.jpg"></div><div class="redirmess" >&nbsp;</div>  <div align="center" style="clear:both;width:750px;margin-left:auto;margin-bottom:40px" >&nbsp;</div> <ul style="list-style-type:none;margin:0px  0 0 610px;padding:0px;"  >  <li  class="redirdans" >Redirection dans&nbsp;&nbsp;</li><li style="float:left" ><div class="timer" >&nbsp;</div></li><li class="redirdans">seconde(s)</li> </ul>');
			    $('div.redirmess').load(setting.imgfold+'message.php?mess='+params.message, function(){
				$("a#messurl").attr('href',setting.referrer+params.redir);
				});



        setTimeout("$.fn.ajaxloader({al_url:'"+setting.referrer+params.redir+"'})", setting.transitionTime);

		return false
		}

        $.fn.testlastpane = function(params){

                                this.click( function(){

								var query_string = $('form[name="form_quizz"]').serialize();
							    //
								$.ajax({
								url: setting.imgfold +'includes/data/data.xml',
								dataType: "xml",
								cache: false,
								success: function(xml){
									  $(xml).find('reponse').each(function(){

									  last_pane_option_selected_raw = $('form[name="form_quizz"]').serialize();

                                            // on replace les & par les # pr le test avec le fichier xml
											lpos ="";
											a = last_pane_option_selected_raw;
											for(var i = 0; i < a.length; i++)
											{lpos = lpos + a.charAt(i);
											if (a.charAt(i) == "&")
											{lpos = lpos.replace("&","#");}
											}
											a = lpos;
	                                        lpoc = $(this).attr('lastpaneoptioncible');
											last_pane_display = $(this).attr('lastpanedisplay');

                                          if (lpos==lpoc && last_pane_display!="")
												 {
												   // on fait avance le shmilblick
										            $.fn.lastanim();

													  if (last_pane_display =='#col4')
													  {    $('#col4').css('display','block'); $('#col4pr').css('display','none'); }
                                                      else if(last_pane_display =='#col4pr')
                                                      {    $('#col4pr').css('display','block'); $('#col4').css('display','none');                          }

													  return false ;
													 // le test final

											  // end of each

												 } // end of ajax

										      // pour certaines options cela peut s'arreter ici donc on notifie et redirige
                                          else  if (lpos==lpoc && last_pane_display==""){

                                                 // TODO:c'est la derniere etape donc envoyer ! pas suivant
                                                //$('input#index_5').attr('value','Envoyer');

												var nummess = $(this).attr('nummess');
											    var urlredir = $(this).attr('urlredir');
                                                // tracking set cookie
												var usertracking = last_pane_option_selected_raw;
											   $.cookie("usertracking", usertracking, { expires: 7 });


												//on suprime la vue du div #clip
												$('div#clip').remove();



												$.fn.msgloader({message:nummess,redir:urlredir });
											    return false ; // On stop la propagation des variables dans la boucle le test est ok . Thats it!


																						  }
                                          else{}
									   	                       }) //close each
								                       } //function sucess
								}) //close $.ajax
                       })

		}

        $.fn.lasttest = function(params){

                                this.click( function(){

								var query_string = $('form[name="form_quizz"]').serialize();
                                //
								$.ajax({
								url: setting.imgfold+'includes/data/data.xml',
								dataType: "xml",
								cache: false,
								success: function(xml){
									  $(xml).find('reponse').each(function(){

									  last_option_selected_raw = $('form[name="form_quizz"]').serialize();

                                            // on replace les & par les # pr le test avec le fichier xml
											los ="";
											b = last_option_selected_raw;
											for(var i = 0; i < b.length; i++)
											{los = los + b.charAt(i);
											if (b.charAt(i) == "&")
											{los = los.replace("&","#");}
											}
											b = los;
	                                        loc = $(this).attr('lastoptioncible');

                                          if (los==loc) {  // le test final
                                            var nummess = $(this).attr('nummess');
											var urlredir = $(this).attr('urlredir');
											var usertracking = last_option_selected_raw;
											$.cookie("usertracking", usertracking, { expires: 7 });
   											$.fn.msgloader({message:nummess,redir:urlredir,track:usertracking });
											return false ; // On stop la propagation des variables dans la boucle le test est ok . Thats it!
												         }
                                          else{}
									   	           }) //$.each
								                       } //sucess
								                          }) //$.ajax
                       })
		}


 return this;

})(jQuery);

$(document).ready(function(){
$('div#clip div').overlay_level({state:'init'});
$('input[name="level"]').current();
$('a.prev').previous();
$('div#clip div ').enabledbutton();
$("input#index_5").testlastpane()  ;
$("input.submit").lasttest()  ;
$('#quizz_wrapper').append('<div align="center" class="ajaxloader1"><img src="formredirec/loader1.gif" ></div>');
})

