//alert('code JS2');

$(document).ready(function(){
    //$(".radio_list_parent :checkbox").click( function() { checkSelectBox(this.value); } );

    $.prettyLoader();

	$('.soon').tooltip({
	    delay: 0, 
	    fade: 250,
	    showURL: false,
	    bodyHandler: function() { 
	        return "Disponible prochainement"; 
	    } 
	});

  $('.help').tooltip({
        delay: 0,
        fade: 250,
        showURL: false
    });

  $(".toggle-rel").click(function () {
    id = $(this).attr("rel");
    $("#"+id).slideToggle("slow");
  });

  openBlankLink();

  openDialogableLink();

  $.browser.msie6 = $.browser.msie &&/MSIE 6\.0/i.test(window.navigator.userAgent) &&!/MSIE 8\.0/i.test(window.navigator.userAgent) &&!/MSIE 7\.0/i.test(window.navigator.userAgent);

  if($.browser.msie6) {
    var left_position = ($(window).width()/2)-($('#ie6').width()/2);
    $('#ie6').css('left', left_position+'px');
    $('#ie6').css('display', 'block');
  }
	
});

function castInt(variable)
{
  if(typeof(variable) != 'undefined')
    return parseInt(variable);
  else
    return 0;
}

function openDialogableLink() {
  $("a.dialogable").bind("click", function(e) {
      // Configuration et ouverture de la popup
      var rel_dialog = $(this).attr('rel');

      //$(rel_dialog).attr('title', $(this).attr('title'));

      $(rel_dialog).dialog({
          autoOpen: false,
          width: 500,
          modal: true,
          close: function(event, ui) {
              $(rel_dialog).dialog('destroy');
          }
      });

      $('.ui-dialog').each(function() {
          $(this).css('overflow','visible');
      })
      $('.ui-dialog-container').each(function() {
          $(this).css('overflow','hidden');
      })

      $(rel_dialog).dialog('option', 'title', $(this).attr('title'));
      $(rel_dialog).dialog('open');

      // Envoi de la requete
      jQuery.ajax({
          url : $(this).attr('href'),
          type : 'get',
          dataType   : 'html',
          cache : false,
          success    : function(data, textStatus){
              jQuery(rel_dialog).html(data);
          },
          beforeSend : function(XMLHttpRequest){
              $(rel_dialog).html('<img src="/images/ajax-loader.gif" />')
          }
      });

      return false;
  });
}

function openBlankLink() {
var liens = $('a.blank');
    for (var i = 0 ; i < liens.length ; i++)  {
        liens[i].onclick = function()  {
            window.open(this.href);
            return false;
        };
    }
}

function selectSecteur(json) {
	
	/*
	var responses = eval('(' + data + ')');
	$('#sssecteur').loader_hide();
	$('#sssecteur').html(responses.html);
	$('#checkSelectChild').val(responses.defaults)
	if(responses.html != "")
		$(".radio_list_child :checkbox").click( function() { checkSelectBoxChild(this.value); } );
	*/
	html = json.html;
	defaults  = json.defaults;
	$('#sssecteur').loader_hide();
	$('#sssecteur').html(html);
	$('#checkSelectChild').val(defaults)
	if(html != "")
		$(".radio_list_child :checkbox").click( function() { checkSelectBoxChild(this.value); } );
}

function showPreview(json) {
	html = json.html;
	div  = json.div;
	$('#'+div).loader_hide();
	$('#'+div).html(html);
}

function popupcentree(page,largeur,hauteur) {
    var top=(screen.height-hauteur)/2;
    var left=(screen.width-largeur)/2;
    var options="toolbar=0,location=0,directories=0,status=0,scrollbars=1,resizable=1,copyhistory=0,menubar=0";
    window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}

function autocompleteCity(url, zipcode_id, city_id, country_id)
{
  $('#'+zipcode_id).blur(function() {
    zipcode = $(this).val();
    country = $('#'+country_id).val();
    $.getJSON(url, {zipcode: zipcode, country: country }, function(data) {
      $('#'+city_id).val(data.city);
    });
  })
}




var popupModalInstance;

function overlayConfirm(message, target) {
	popupModalInstance = new popupModal($('#confirmTpl'), {
		content: message,
		actions: [{
	            	   button: $('#confirmTpl').find('#confirmTplYes'),
	            	   value: target.yes
	            	},
	            	{
	            		button:  $('#confirmTpl').find('.no'),
	            		value: target.no
	            	}]
	});
	popupModalInstance.load();
}

function overlayAlert(message) {
	popupModalInstance = new popupModal($('#alertTpl'), {
		content: message,
		actions: []
	});
	popupModalInstance.load();
}


function popupModal(popup, params) {

	this.popup = popup;
	this.params = params;
	this.api = null;

	this.load = function() {
		this.setOverlay();
		this.setTitle(this.params.title);
		this.setContent(this.params.content);
		this.setActions(this.params.actions);
	}

	this.setOverlay = function() {
		this.api = this.popup.overlay({
	        top: "center",
	        expose: {
	            color: '#333',
	            loadSpeed: 200,
	            opacity: 0.9
	        },
		    closeOnClick: false,
		    api: true
		});
		this.api.load();
	}

	this.setTitle = function(title) {
		if (typeof(title) != 'undefined') {
			this.popup.find('.title').html(title);
		}
	}

	this.setContent = function(content) {
		if (typeof(content) != 'undefined') {
			this.popup.find('.content').html(content);
		}
	}

	this.setActions = function(actions) {
		for (var i=0;i<actions.length; i++) {
			actions[i].button.data({popupModal: this, value: actions[i].value});
			actions[i].button.bind('click', function () {
				switch(typeof($(this).data().value)) {
					case 'function': $(this).data().value(); break;
					case 'string': $(location).attr('href', $(this).data().value()); break;
				}
				$(this).data().popupModal.api.close();
			});
		}
	}

}

function sprintf()
{
   if (!arguments || arguments.length < 1 || !RegExp)
   {
      return;
   }
   var str = arguments[0];
   var re = /([^%]*)%('.|0|\x20)?(-)?(\d+)?(\.\d+)?(%|b|c|d|u|f|o|s|x|X)(.*)/;
   var a = b = [], numSubstitutions = 0, numMatches = 0;
   while (a = re.exec(str))
   {
      var leftpart = a[1], pPad = a[2], pJustify = a[3], pMinLength = a[4];
      var pPrecision = a[5], pType = a[6], rightPart = a[7];

      numMatches++;
      if (pType == '%')
      {
         subst = '%';
      }
      else
      {
         numSubstitutions++;
         if (numSubstitutions >= arguments.length)
         {
            alert('Error! Not enough function arguments (' + (arguments.length - 1)
               + ', excluding the string)\n'
               + 'for the number of substitution parameters in string ('
               + numSubstitutions + ' so far).');
         }
         var param = arguments[numSubstitutions];
         var pad = '';
                if (pPad && pPad.substr(0,1) == "'") pad = leftpart.substr(1,1);
           else if (pPad) pad = pPad;
         var justifyRight = true;
                if (pJustify && pJustify === "-") justifyRight = false;
         var minLength = -1;
                if (pMinLength) minLength = parseInt(pMinLength);
         var precision = -1;
                if (pPrecision && pType == 'f')
                   precision = parseInt(pPrecision.substring(1));
         var subst = param;
         switch (pType)
         {
         case 'b':
            subst = parseInt(param).toString(2);
            break;
         case 'c':
            subst = String.fromCharCode(parseInt(param));
            break;
         case 'd':
            subst = parseInt(param) ? parseInt(param) : 0;
            break;
         case 'u':
            subst = Math.abs(param);
            break;
         case 'f':
            subst = (precision > -1)
             ? Math.round(parseFloat(param) * Math.pow(10, precision))
              / Math.pow(10, precision)
             : parseFloat(param);
            break;
         case 'o':
            subst = parseInt(param).toString(8);
            break;
         case 's':
            subst = param;
            break;
         case 'x':
            subst = ('' + parseInt(param).toString(16)).toLowerCase();
            break;
         case 'X':
            subst = ('' + parseInt(param).toString(16)).toUpperCase();
            break;
         }
         var padLeft = minLength - subst.toString().length;
         if (padLeft > 0)
         {
            var arrTmp = new Array(padLeft+1);
            var padding = arrTmp.join(pad?pad:" ");
         }
         else
         {
            var padding = "";
         }
      }
      str = leftpart + padding + subst + rightPart;
   }
   return str;
}

function getFlashVersion(){
  // ie
  try {
    try {
      // avoid fp6 minor version lookup issues
      // see: http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
      var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');
      try { axo.AllowScriptAccess = 'always'; }
      catch(e) { return '6,0,0'; }
    } catch(e) {}
    return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1];
  // other browsers
  } catch(e) {
    try {
      if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){
        return (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1];
      }
    } catch(e) {}
  }
  return '0,0,0';
}

