/**
 * myConfirm ( http://supercanard.phpnet.org/jquery-test/myconfirm/ )
 * 
 * 
 *
 * Auteur : Jonathan Coulet ( j.coulet@gmail.com )
 * 
 **/
(function($){
  $.fn.myConfirm = function(option){
    // Global var
    var param = jQuery.extend({
      popupWidth:       300,
      fadeSpeed:        150,
      txtConfirm:       'OK',
      txtExit:          'Annuler',
      containerColor:   '#ccc',
      popupColor:       '#f1f1f1',
      popupBorderColor: '#888',
      textColor:        '#888',
      linkTitle:        '',
      link:             ''}, option);


      var arrQuestion        = Array();
      var marginTopContainer = (document.body.clientHeight / 2) - 100;


      function idForAll(cible, value){
        $(cible).each(function(i){
          $(this).attr('id', value+'-'+i);
        });
      }


      function getAllQuestion(){
        $('.myConfirm').each(function(i){
          arrQuestion[$(this).attr('id')] = $(this).attr('title');
          $(this).removeAttr('title');
        });
      }


      function toggleContainer(){
        if ( $("#myConfirm-container").css('display') == 'none' ) {
          $('#myConfirm-container').show('fast', function(){
            $('#myConfirm-container').animate({
              opacity: '0.9'
            }, option.fadeSpeed);
          });
        }

        else {
          $('#myConfirm-container').css({ opacity: '0' });
          $('#myConfirm-container').hide();
	}
      }


      idForAll($(this), $(this).attr('class'));
      getAllQuestion();

      $('body').append('<div id="myConfirm-container"><div id="myConfirm-popup"></div></div>');

      $('#myConfirm-container').css({
        display: 'none',
        opacity: '0.9',
        position: 'absolute',
        top: '0',
        left: '0',
        zIndex: '1500',
        width: '100%',
        height: '200%',
        backgroundColor: option.containerColor
      });

      $('#myConfirm-popup').css({
        width: option.popupWidth+'px',
        overflow: 'hidden',
        opacity: '1',
        marginTop: marginTopContainer+'px',
        marginRight: 'auto',
        marginLeft: 'auto',
        padding: '15px',
        color: option.textColor,
        backgroundColor: option.popupColor,
        border: '1px solid '+option.popupBorderColor
      });

      $('#myConfirm-popup*').css({
        fontFamily: 'Verdana, Geneva, sans-serif',
        opacity: '1',
        fontSize: '12px'
      });

      $(this).each(function(){
        $($(this)).click(function(){
          var question = arrQuestion[$(this).attr('id')];
          var url = $(this).attr('href');
          var elem = $(this).attr('id');

          $(this).removeAttr('href');

          toggleContainer();

          var str = option.linkTitle;
          var i = question.indexOf(str,0);

          if ( i > -1 ) {
            var l = str.length;
            question = question.substring(0,i) + '<span id="myConfirm-linkCGV"><a href="#" onclick="window.open(\'' + option.link + '\');">' + option.linkTitle + '</a></span>' + question.substring(i+l,question.length);
          }
				$('#myConfirm-popup').append('<p id="myConfirm-question">'+question+'<div style="clear:both;"></div><a href="javascript:" class="bouton" id="myConfirm-confirm">'+option.txtConfirm+'</a><a href="javascript:" class="bouton" id="myConfirm-exit">'+option.txtExit+'</a></p>');
                                $('#myConfirm-question').css({
                                  color: '#000',
                                  fontSize: '14px',
                                  textAlign: 'left'
                                });
                                $('#myConfirm-question #myConfirm-linkCGV a').css({
                                  color: '#000',
                                  fontSize: '14px',
                                  textAlign: 'left'
                                }); 
                                $('#myConfirm-question #myConfirm-linkCGV a').hover(function(){
                                  $(this).css({
                                    color: '#ff6600'
                                  });
                                });
                                $('#myConfirm-question #myConfirm-linkCGV a').mouseout(function(){
                                  $(this).css({
                                    color: '#000'
                                  });
                                });
				$('#myConfirm-popup *').css({
					margin: '0'
				});
				$('#myConfirm-popup a.bouton').css({
					display: 'block',
					float: 'left',
					padding: '5px',
					marginTop: '15px',
					marginRight: '5px',
					cursor: 'pointer',
					color: '#fff',
					textDecoration: 'none',
					backgroundColor: option.textColor
				});
				$('#myConfirm-popup a.bouton').hover(function(){
					$(this).css({
						backgroundColor: '#646464'
					});
				});
				$('#myConfirm-popup a.bouton').mouseout(function(){
					$(this).css({
						backgroundColor: option.textColor
					});
				});
				$('#myConfirm-popup a#myConfirm-confirm').click(function(){
					$('#'+elem).attr('href', url);
					$('#myConfirm-popup').empty();
					toggleContainer();
					location.href = url;
				});
				$('#myConfirm-popup a#myConfirm-exit').click(function(){
					$('#'+elem).attr('href', url);
					$('#myConfirm-popup').empty();
					toggleContainer();
				});

			});
		});
	}
})(jQuery);