$(document).ready(function() {

/* animace leveho menu
  $(".submenu li[class!='active'] ul").addClass("hidden");
  $(".submenu li>a.sub").click(function() {
    $(this).parents("li").find("ul").slideToggle();
    return false;
  });
  */
  
  $("#mainMenu > ul > li").hover(
    function() { $(this).find(".msubmenu").css({ visibility: 'visible' }); },
    function() { $(this).find(".msubmenu").css({ visibility: 'hidden' }); }
  );
  

  $("a").filter(function() {
       return (
        this.href.match(/http:/) && 
        !this.href.match(/baraclude\./) && 
        !this.href.match(/hope-for-hepb\./) && 
        !this.href.match(/bms\.comptoirsdumultimedia\./) && 
		!this.href.match(/eurorscg\./)
       );
    }).click(function() {
      $.messageLightbox({
      text: 'You are now leaving the Hope-for-HepB website. Do you want to continue?',
      yes_text: 'Yes',
      no_text: 'No',
      yes_href: this.href
    });
    
    $(".lightbox a.yes").click(function() {  $(".lightbox").hide(); window.open(this.href); return false; });
    $(".lightbox a.no").click(function() { $(".lightbox").hide(); return false; });

    return false;
  });

	$('a').click(
		function (eventObject) {
			reg = new RegExp('/media.*\.(pdf|ppt)');
			url = $(this).attr('href');
			if (reg.test(url)) {
				// alert(url);
				var w_compteur = new wreport_counter('Telechargements','Tous',406886,0,'');
				w_compteur.add_content(url);
				w_compteur.count();
			}
		}
	)
  
});


/*
 * converter
 */
 
function isFloat(str) {
    f = parseFloat(str);

    if(isNaN(f))
      return false;

    if(f.toString()==str)
      return true;

    if(f.toFixed()==str || f.toExponential()==str)
      return true;

    return false;
}

// Returns the base-10 logarithm of the number
function log10(arg)
{
    return Math.log(arg)/Math.LN10;
}

var converter = {
units: {
    "copies_ml" : {
        "title" : "Copies/mL",
        "convertToCopiesMl": function(val) {return val},
        "convertFromCopiesMl": function(val) {return val}
    },
    "iu_versant" : {
        "title" : "IU/mL (for Versant)",
        "convertToCopiesMl": function(val) {return 5.6*val},
        "convertFromCopiesMl": function(val) {return val/5.6}
    },
    "iu_cobas_amplicor" : {
        "title" : "IU/mL (for Cobas Amplicor)",
        "convertToCopiesMl": function(val) {return 5.3*val},
        "convertFromCopiesMl": function(val) {return val/5.3}
    },
    "iu_taqman_realart" : {
        "title" : "IU/mL (for TaqMan & RealArt)",
        "convertToCopiesMl": function(val) {return 5.8*val},
        "convertFromCopiesMl": function(val) {return val/5.8}
    },
    "iu_meq" : {
        "title" : "MEq/mL",
        "convertToCopiesMl": function(val) {return 1000000*val},
        "convertFromCopiesMl": function(val) {return val/1000000}
    },
    "iu_log10copies" : {
        "title" : "log10 copies/mL",
        "convertToCopiesMl": function(val) {return Math.pow(10, val)},
        "convertFromCopiesMl": function(val) {return log10(val)}
    }
 },
 convert : function(val, unit_from, unit_to) {
    if(!unit_from || !unit_to)
    {
        alert('Error - select units');
        return NaN;
    }
    if(!this.units[unit_from] || !this.units[unit_to])
        return NaN;

    copies_ml = this.units[unit_from].convertToCopiesMl(val);
    result = this.units[unit_to].convertFromCopiesMl(copies_ml);
    return result;
 }
};

function convert()
{
    value = $("#converter-value").val();
    if(!isFloat(value))
    {
        alert('Please enter value (floating point number)');
        $("#converter-value").focus();
        return false;
    }
    value = parseFloat(value);

    unit_from = $("#converter-from").val();
    if(unit_from.length < 1)
    {
        alert('Please choose unit from which you want to convert the value');
        $("#converter-from").focus();
        return false;
    }

    unit_to = $("#converter-to").val();
    if(unit_to.length < 1)
    {
        alert('Please choose unit to which you want to convert the value');
        $("#converter-to").focus();
        return false;
    }

    result = parseFloat( converter.convert(value, unit_from, unit_to) );

    if(isNaN(result))
        $("#converter-result").html('Error - not a number');
    else
        $("#converter-result").html(
             value.toPrecision(4) + " " + converter.units[unit_from]["title"] + " =<br/>" +
            "<b>" + result.toPrecision(4) + "</b> "  + converter.units[unit_to]["title"]
        );

    return false;
}

function initConverter()
{
    for (var unit in converter.units) {
        $("#converter-from").addOption(unit, converter.units[unit]["title"], false);
        $("#converter-to").addOption(unit, converter.units[unit]["title"], false);
    }

    $("#converter form").bind("submit",convert);
    $("#converter").show();
}
