jQuery.fn.extend({
findPos : function() {
obj = $(this).get(0);
var curleft = obj.offsetLeft || 0;
var curtop = obj.offsetTop || 0;
while (obj = obj.offsetParent) {
curleft += obj.offsetLeft
curtop += obj.offsetTop
}
return {x:curleft,y:curtop};
}
});
// MédiAlsace
$(document).ready(function () {
recalcul_page();
if ($(".petit_cadre_mh:eq(0)").attr("id") == "") {
$(".txt_petit_cadre").show();
}
$("#titre").show();
$("#texte_footer").show();
$(window).bind('resize', recalcul_page);
animate();
taille_normale();
taille_augmente();
taille_diminue();
externalLinks();
});
function recalcul_page() {
change_banniere();
change_menu();
taille_cadre_footer_min();
change_footer();
deplace_menu();
deplace_titre_textefooter();
if ($(".petit_cadre_mh:eq(0)").attr("id") == "") {
deplace_txt_petit_cadre();
}
}
// Animation du logo
var frame=0;
var aniframes = new Array(18);
for(var i = 0; i < 18; i++) {
aniframes[i] = new Image();
}
function animate() {
document.animation.src = aniframes[frame].src; // Display the current frame
frame = (frame + 1)%18; // Update the frame counter
timeout_id = setTimeout("animate()", 120); // Display next frame later.
}
// Largeur minimale du cadre et du footer
function taille_cadre_footer_min() {
var footer = $("#footer");
var cadre = $("#cadre");
var menu_width = $("#menu2").width();
var marge = 100;
var cadre_width = cadre.width();
if (cadre_width <= menu_width + marge) {
cadre_width = menu_width + marge;
}
if (cadre_width <= $(window).width()) {
cadre_width = "95%";
}
cadre.css('width', cadre_width);
footer.css('width', cadre_width);
}
// Positionnement du menu et repositionnement quand redimensionnement du navigateur
function deplace_menu() {
var menu1 = $("#menu1");
var menu2 = $("#menu2");
var cadre = $("#cadre");
var cadre_x = cadre.findPos().x;
var cadre_y = cadre.findPos().y;
var pos_menu_x = cadre_x + 50;
var pos_menu_y = cadre_y - 25;
menu1.css({'left' : pos_menu_x + 'px', 'top' : pos_menu_y + 'px', 'width' : cadre.width() - 50 + 'px'});
menu2.css({'left' : pos_menu_x + 'px', 'top' : pos_menu_y + 'px'});
}
// Positionnement et repositionnement du titre et du texte footer lors du redimensionnement du navigateur
function deplace_titre_textefooter() {
var titre = $("#titre");
var cadre = $("#cadre_mh");
var footer = $("#footer");
var texte = $("#texte_footer");
var titre_width = titre.width();
var titre_height = titre.height();
var texte_width = texte.width();
var texte_height = texte.height();
var cadre_width = cadre.width();
var cadre_height = cadre.height();
var cadre_x = cadre.findPos().x;
var cadre_y = cadre.findPos().y;
var footer_width = footer.width();
var footer_height = footer.height();
var footer_x = footer.findPos().x;
var footer_y = footer.findPos().y;
var pos_titre_x = cadre_x + Math.round(cadre_width / 2) - Math.round(titre_width / 2);
var pos_titre_y = cadre_y + cadre_height - Math.round(( 30 - titre_height ) / 2) - titre_height;
var pos_texte_x = footer_x + Math.round(footer_width / 2) - Math.round(texte_width / 2);
var pos_texte_y = footer_y + footer_height - Math.round(( 45 - texte_height ) / 2) - texte_height;
titre.css({'left' : pos_titre_x + 'px', 'top' : pos_titre_y + 'px'});
texte.css({'left' : pos_texte_x + 'px', 'top' : pos_texte_y + 'px'});
}
function deplace_txt_petit_cadre() {
var petit_cadre = $(".petit_cadre_mh");
var txt = $(".txt_petit_cadre");
var txt_width = txt.width();
var txt_height = txt.height();
var petit_cadre_width = petit_cadre.width();
var petit_cadre_height = petit_cadre.height();
var petit_cadre_x = petit_cadre.findPos().x;
var petit_cadre_y = petit_cadre.findPos().y;
var pos_txt_x = petit_cadre_x + Math.round(petit_cadre_width / 2) - Math.round(txt_width / 2);
var pos_txt_y = petit_cadre_y + petit_cadre_height - Math.round(( txt_height ) / 2) - txt_height + 5;
// teste si Firefox/x.x ou Firefox x.x
if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
var ffversion=new Number(RegExp.$1); // capture la portion x.x et la stocke dans une var nombre
if (ffversion>=2 && ffversion<3) {
var pos_txt_x = petit_cadre_x + (Math.round(petit_cadre_width / 2))*1.5 - Math.round(txt_width / 2);
}
}
txt.css({'left' : pos_txt_x + 'px', 'top' : pos_txt_y + 'px'});
}
// Changement de banniere selon la taille de fenetre du navigateur
function change_banniere() {
var banniere = $("#banniere");
var logo =$("#logo");
var bord = 100;
var taille_fenetre = $(window).width();
var logo_width = 0;
var logo_height = 0;
if (taille_fenetre > 1440 + bord) {
banniere.css('background-image','url(http://www.cerbox.com/images/banniere/banner_1440)');
banniere.css('width','1440px');
banniere.css('height','360px');
logo_width = 200;
logo_height = 200;
}
if (taille_fenetre <= 1440 + bord && taille_fenetre > 1024 + bord) {
banniere.css('background-image','url(http://www.cerbox.com/images/banniere/banner_1024)');
banniere.css('width','1024px');
banniere.css('height','256px');
logo_width = 142;
logo_height = 142;
}
if (taille_fenetre <= 1024 + bord && taille_fenetre > 800 + bord) {
banniere.css('background-image','url(http://www.cerbox.com/images/banniere/banner_800)');
banniere.css('width','800px');
banniere.css('height','200px');
logo_width = 111;
logo_height = 111;
}
if (taille_fenetre <= 800 + bord && taille_fenetre > 640 + bord) {
banniere.css('background-image','url(http://www.cerbox.com/images/banniere/banner_640)');
banniere.css('width','640px');
banniere.css('height','160px');
logo_width = 89;
logo_height = 89;
}
if (taille_fenetre <= 640 + bord && taille_fenetre > 460 + bord) {
banniere.css('background-image','url(http://www.cerbox.com/images/banniere/banner_460)');
banniere.css('width','460px');
banniere.css('height','115px');
logo_width = 64;
logo_height = 64;
}
if (taille_fenetre <= 460 + bord && taille_fenetre > 240 + bord) {
banniere.css('background-image','url(http://www.cerbox.com/images/banniere/banner_240)');
banniere.css('width','240px');
banniere.css('height','60px');
logo_width = 33;
logo_height = 33;
}
if (taille_fenetre <= 240 + bord) {
banniere.css('background-image','url(http://www.cerbox.com/images/banniere/banner_200)');
banniere.css('width','200px');
banniere.css('height','50px');
logo_width = 33;
logo_height = 33;
}
// Le logo n'existe pas pour la petite banniere (200px)
if (banniere.width() != 200) {
var ratio_x = 0.12;
var ratio_y = 0.43;
var banniere_x = banniere.findPos().x;
var banniere_y = banniere.findPos().y;
var banniere_width = banniere.width();
var banniere_height = banniere.height();
var url_logo = "images/logo/logo_" + banniere_width + "_" + frame;
document.animation.src = url_logo;
for(var i = 0; i < 18; i++) {
aniframes[i].src = "/images/logo/logo_" + banniere_width + "_" + i; // Tell it what URL to load.
}
var logo_x = Math.round(banniere_x + banniere_width * ratio_x - logo_width / 2);
var logo_y = Math.round(banniere_y + banniere_height * ratio_y - logo_height / 2);
// deplacement du logo
logo.css({'left' : logo_x + 'px', 'top' : logo_y + 'px'});
logo.css('width','' + logo_width + 'px');
logo.css('height','' + logo_height + 'px');
// Affichage du logo
logo.show();
}
else {
logo.hide();
}
}
// Met un menu classique HTML à la place des onglets si navigateur < 400px
function change_menu() {
if ($(window).width() <= 400) {
$("#menu2").hide();
$("#menu1").show();
}
if ($(window).width() > 400) {
$("#menu1").hide();
$("#menu2").show();
}
}
// Enlève le motif gauche du footer si navigateur < 400px
function change_footer() {
if ($(window).width() < 400) {
$("td#footer_motif_g").html("");
}
if ($(window).width() > 400) {
$("td#footer_motif_g").html('
');
}
}
// Supprime le dégradé du cadre si largeur du cadre < 400px
function change_cadre() {
if ($("#cadre").width() < 400) {
// $("td#cadre_mh").html("");
// $("td#cadre_mh").css('width','');
}
if ($("#cadre").width() > 400) {
// $("td#cadre_mh").html('
');
// $("td#cadre_mh").css('width','290px');
}
}
// Impression d'une page
function imprime() {
url=location.href;
if(url.indexOf('?') == -1) {
res_url=url + "/impression/";
} else {
res_url=url.replace('?','/impression/?');
}
window.open(res_url,null,'width=800,height=600, status=no, directories=no, toolbar=no, location=no, menubar=no, scrollbars=no, resizable=no')
}
// Changer la taille du texte
// Reset Font Size
function taille_normale() {
var originalFontSize = $('p').css('font-size');
$(".resetFont").click(function() {
$('p').css('font-size', originalFontSize);
deplace_titre_textefooter();
});
}
// Increase Font Size
function taille_augmente() {
$(".increaseFont").click(function() {
var currentFontSize = $('p').css('font-size');
var currentFontSizeNum = parseFloat(currentFontSize, 10);
var newFontSize = currentFontSizeNum*1.2;
$('p').css('font-size', newFontSize);
deplace_titre_textefooter();
return false;
});
}
// Decrease Font Size
function taille_diminue() {
$(".decreaseFont").click(function() {
var currentFontSize = $('p').css('font-size');
var currentFontSizeNum = parseFloat(currentFontSize, 10);
var newFontSize = currentFontSizeNum*0.8;
$('p').css('font-size', newFontSize);
deplace_titre_textefooter();
return false;
});
}
// Ouvrir les liens externes dans une nouvelle page ou un nouvel onglet. Code HTML :
function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i