/*----------------------------------------------------------------------------//
// Javascript pour le site client  -------------------------------------------//
//----------------------------------------------------------------------------//
// Client : -
// Note   : -
// Date   : -
//----------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------*/
// Inclusion dynamique des fichiers externes javascripts
/*----------------------------------------------------------------------------*/
function importJavascript(src)
{
	document.write("<script type=\"text/javascript\" src=\"" + src + "\"></scr" + "ipt>");
}
function importCss(href, media)
{
	document.write('<link rel="stylesheet" type="text/css" media="' + media + '" href="' + href + '" />');
}

/*----------------------------------------------------------------------------*/
// Importations de fichiers
/*----------------------------------------------------------------------------*/
	importJavascript("/includes/js/plugins/abso.thickbox.js");
	importCss("/includes/js/plugins/abso.thickbox.css", "screen");
	importJavascript("/includes/js/plugins/abso.labelfocus.js");
	importJavascript("/includes/js/plugins/abso.caroussel.js");
/*----------------------------------------------------------------------------*/
// Declarations jQuery
/*----------------------------------------------------------------------------*/
/*Global Vars*/
var onepixel = 6.25;//1px in %
var normalpx = 10;
var moyenpx = 11;
var grandpx = 12;

var animateAccordeon = false;


jQuery(document).ready(function () {

    /* Abso Caroussel */

    AbsoCaroussel.init({
        id: 'CarousselClient',
        wrap: true,
        statusBullet: '<em>&bull;</em>',
        autostart: {
            interval: 6000
        }
    });

    $("input.LabelFocus, textarea.LabelFocus").labelfocus();

    $('a.Btn').append('<em>&nbsp;</em>');
    $('a.BtnGros').wrapInner('<span class="text" />').prepend('<span class="left" />');

    /* Tabs */

    if ($("ul.TabsPlugin a").length > 0) {
        $("div.TabContenu").css("display", "none");
        $("div.TabContenu:first").css("display", "block");


        $("ul.TabsPlugin a:first").addClass("On");
        $("ul.TabsPlugin a").each(function () {
            var currentTabId = $(this).attr("href");
            $(this).attr("href", "javascript:void(0);");
            $(this).click(function () {
                $("div.TabContenu").css("display", "none");
                $("ul.TabsPlugin li a").removeClass("On");
                $("div" + currentTabId).css("display", "block");
                $(this).addClass("On");
            });
        });

    }

    /* -- Liens barrÃ©s et dÃ©barrÃ©s --*/
    jQuery("a.Locked").append('&nbsp;<img src="/images/Ico_CadenasBarre.gif" width="8" height="10" alt="" />');
    jQuery("a.Unlocked").append('&nbsp;<img src="/images/Ico_CadenasDebarre.gif" width="8" height="12" alt="" style="vertical-align:text-top;" />');

    /* Cellules tableaux */
    $(".Tableau tr td:last-child").css("border-right", "none");
    $(".TableauSuivi tr:last td").css("border-bottom", "none");

    /* Accordeon - Temoignages et documentation technique */
    if (jQuery(".BlocAccordeon").length > 0) {
        //jQuery(".BlocAccordeon .ContenuAccordeon").hide();
        /*jQuery(".BlocAccordeon .TitreAccordeon").hover(
        function(){
        $(this).css("background-image", "url(/images/Bg_LienSSMenu-over.gif)").css("color","#343434");	
				
        },
        function(){
        $(this).css("background-image", "url(/images/Bg_LienSSMenu.gif)").css("color","#0069AA");															  
        });*/

        jQuery(".BlocAccordeon .TitreAccordeon").click(function () {
            if (!jQuery(this).next(".ContenuAccordeon").hasClass("On") && animateAccordeon == false) {
                jQuery(".BlocAccordeon").children(".ContenuAccordeon.On").slideUp("fast")
                jQuery(".BlocAccordeon").children(".On").removeClass("On");
                animateAccordeon = true;
                jQuery(this).addClass("On");
                jQuery(this).next(".ContenuAccordeon").slideDown("fast", function () {
                    jQuery(this).addClass("On");
                    animateAccordeon = false;
                });
            }
            if (jQuery(this).next(".ContenuAccordeon").hasClass("On")) {
                jQuery(this).next(".ContenuAccordeon").slideUp("fast").removeClass("On");
                jQuery(this).removeClass("On");
            }
        });
    }


    /* -- Changement de la grosseur de texte
    -------------------------------------------*/
    jQuery("a.PoliceRedim").each(function () {
        jQuery(this).attr("href", "javascript:void(0);");
        jQuery(this).click(function () {
            //Get size type
            var sizeType = jQuery(this).attr("rel");
            switch (sizeType) {
                case "Grand":
                    newSize = grandpx;
                    break;
                case "Moyen":
                    newSize = moyenpx;
                    break;
                case "Normal":
                default:
                    newSize = normalpx;
            }
            var formattedSize = (newSize * onepixel) + "%";
            jQuery("body").css("font-size", formattedSize);
            putcookie("font-size", formattedSize, 30);
            putcookie("font-size-type", sizeType, 30);
            //Ajout de la classe active
            jQuery("a.PoliceRedim").removeClass("On");
            jQuery(this).addClass("On");
        });
    });
    if ($("ul#PlanSite")) {

        $("ul#PlanSite ul li.PlanSiteSousItem:first-child").each(function () {
            var sm_height = $(this).height();

            if ($(this).next().height() > sm_height)
                sm_height = $(this).next().height();
            else
                $(this).next().height(sm_height);

            if ($(this).next().next().height() > sm_height)
                sm_height = $(this).next().next().height();
            else
                $(this).next().next().height(sm_height);
        });

        $("ul#PlanSite li.PlanSiteSousItem:nth-child(3n+1)").css("clear", "both");

    }

    equalHeight('body.Sondage div.Bloc');


    $('#BlocDernieres dt span').click(function () {
        var $this = $(this);

        if (!$this.hasClass('On')) {
            $(this)
				.addClass('On')

				.parents('dt')
					.siblings()
						.removeClass('On')
						.find('span')
							.removeClass('On')
						.end()
					.end()

					.next('dd')
						.addClass('On')
					.end()
				.end()
			;
        } else {
            return false;
        }
    });
    $('#BlocDernieres dt:first-child span').click();





    // Ã‰vÃ©nements 
    // -------------------------------------------
    $('#AccueilEvenements dt').click(function () {
        var $this = $(this);

        if (!$this.hasClass('On')) {
            $this
				.siblings().removeClass('On').end()
				.next('dd').andSelf().addClass('On').end()
			;
        } else {
            return false;
        }
    });
    $('#AccueilEvenements dt:first-child').click();

    AbsoCaroussel.init({
        id: 'EvenementsPhotos',
        wrap: true,
        transition: 'slideLeft'

    });

    if ($('#EvenementsPhotos a').length) {
        $('#EvenementsPhotos a').colorbox({
            previous: '<<<',
            next: '>>>',
            current: '{current} / {total}',
            close: 'X'
        });
    }

    var lang = $('body').attr('id').split('-')[1].toLowerCase();

    window.addthis_config = { ui_language: lang };
    $('div.EvenementPartage a.Partager').each(function () {
        window.addthis.button($(this).get(0), {}, {
            url: window.location.toString(),
            title: document.title
        });
    });
    $('div.EvenementPartage a.Linkedin,div.EvenementPartage a.Twitter').each(function () {
        $(this).attr('href', $(this).attr('href') + '?url=' + escape(window.location.toString()) + '&title=' + escape($('h1').text()));
    });

    $('span.FacebookLike').html('<iframe src="http://www.facebook.com/plugins/like.php?href=' + escape(window.location.toString()) + '&amp;layout=standard&amp;show_faces=true&amp;width=375&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=24&amp;locale=' + ((lang == 'en') ? 'en_US' : 'fr_FR') + '" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:375px; height:24px;" allowTransparency="true"></iframe>');

    equalHeight('body.EvenementsListe ul.Specialistes li');



    $('li.OutilsPageDaccueil a').bind('click', function (e) {
        e.preventDefault();
        document.body.style.behavior = 'url(#default#homepage)';
        document.body.setHomePage(document.location);
    });

    $('li.OutilsFavoris a').bind('click', function (e) {
        e.preventDefault();
        if (window.sidebar) {
            window.sidebar.addPanel(document.title, window.location, "");
        } else if (window.external) {
            window.external.AddFavorite(window.location, document.title);
        }
    });

    $('li.OutilsImprimer a').bind('click', function (e) {
        e.preventDefault();
        window.print();
    });



    if ($('#Contenu.Fabd #BlocDernieres').length) {
        var s = 0;
        setInterval(function () {
            s = (s + 1) % 2;
            $('#BlocDernieres dl dt:eq(' + s + ') span').click();
        }, 6000);
    }

    setUserInfo();
});

function setUserInfo() {
    $.ajax({
        url: "/WebServices/MembershipService.asmx/GetUserInfo",
        data: null,
        dataType: "json",
        type: "POST",
        contentType: "application/json; charset=utf-8",
        success: function (data) {
            if (data.d.IsAuthenticated) {

                $(".BlocConnectez .OnNewsletterEnterSubscribe").val(data.d.UserEmail);
                $("#NavCompte .PremierItem").append(' ').append(data.d.UserFullName)
            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            var err = eval("(" + XMLHttpRequest.responseText + ")");
            alert(err.Message);
        }
    });
}

function getBlogFeed(expression, url, culture) {
    $.ajax({
        url: "/WebServices/BlogService.asmx/GetBlogFeed",
        data: "{'url': '" + url + "', 'culture': '" + culture + "'}",
        dataType: "json",
        type: "POST",
        contentType: "application/json; charset=utf-8",
        success: function (data) {
            $(expression).html(data.d);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            var err = eval("(" + XMLHttpRequest.responseText + ")");
            alert(err.Message);
        }
    });
}

function getRSSFeed(expression, culture) {
    $.ajax({
        url: "/WebServices/BlogService.asmx/GetFABDRSSFeed",
        data: "{'culture': '" + culture + "'}",
        dataType: "json",
        type: "POST",
        contentType: "application/json; charset=utf-8",
        success: function (data) {
            $(expression).html(data.d);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            var err = eval("(" + XMLHttpRequest.responseText + ")");
            alert(err.Message);
        }
    });
}


function equalHeight() {
	var $o = $(arguments[0]);
	 $o.height( Math.max.apply(Math, $o.map(function(){ return $(this).height(); }).get()) );
}

/* -- Fonction initialisation Taille du texte
   -------------------------------------------*/
function initFontSize(){
	//Set last size
	var cookieSize = getcookie("font-size");
	var cookieSizeType = getcookie("font-size-type");

	if(cookieSize) {
		jQuery("body").css("font-size", cookieSize);
		//Ajout de la classe active
		jQuery("a.PoliceRedim").removeClass("On");
		jQuery("." + cookieSizeType +" a.PoliceRedim").addClass("On");
	}
}

/* -- Fonctions pour la gestion des cookies
   -------------------------------------------*/
function putcookie(name, value, days){
  var expire = "";
  if(days != null) {
    expire = new Date((new Date()) + days);
    expire = "; expires=" + expire.toGMTString()+";";
  }
  document.cookie = name + "=" + escape(value) + expire + "path=/";
}
function getcookie(name){
  var cookieValue = "";
  var search = name + "=";
  if(document.cookie.length > 0)
  { 
    offset = document.cookie.indexOf(search);
    if (offset != -1) { 
      offset += search.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      cookieValue = unescape(document.cookie.substring(offset, end))
    }
  }
  return cookieValue;
}
/* - Fonction : Validation des champs de formulaire - */

function ValidateForm(groupName, OnlyOneErrorByField, classError) {
	var msg = new Array();
	var ctl = new Array();
	if (classError != '') jQuery('.' + classError).removeClass(classError);
	//Ne pas oublier d'appliquer "Page_ClientValidate()" avant d'appeler cette procÃ©dure
	for (var i = 0; i < Page_Validators.length; i++) {
		if (Page_Validators[i].validationGroup == groupName && !Page_Validators[i].isvalid) {
			if (OnlyOneErrorByField) {
				var exist = false;
				for (var y = 0; y < ctl.length; y++) {
					if (ctl[y] == Page_Validators[i].controltovalidate)
						exist = true;
				}

				if (!exist) {
					msg[msg.length] = Page_Validators[i].errormessage;
					if (classError != '') jQuery('#' + Page_Validators[i].controltovalidate).addClass(classError);
				}

			}
			else {
				msg[msg.length] = Page_Validators[i].errormessage;
				if (classError != '') jQuery('#' + Page_Validators[i].controltovalidate).addClass(classError);
			}

			ctl[i] = Page_Validators[i].controltovalidate;
		}
	}
	return msg;

}

function LoginCallBack(params) {
    var redirectId = params['redirectId'];
    if (redirectId != null) {
        $('#redirectId').attr('value', redirectId);
    }
}

function LoginExternal(lang) {
    
    var redirectUrl = 'http://promotion.partenaires-desjardins.com/login.aspx';
    var token = null;
    var newWindow = window.open("http://www.partenaires-desjardins.com/financement/les-solutions-de-financement-automobile-et-biens-durables.html");
    if (redirectUrl != null) {
        $.ajax({
            url: "/WebServices/MembershipService.asmx/CreateToken",
            data: '{}',
            type: "POST",
            processData: true,
            contentType: "application/json; charset=utf-8",
            timeout: 10000,
            dataType: "json",
            success: function(data, textStatus) {
                newWindow.location.href = redirectUrl + "?token=" + data.d.Token + '&lang=' + lang, '_blank';
                newWindow.focus();
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                
            }
        });
    }
    return false;

}



function CheckForm(validationGroup) {
    if (typeof (Page_ClientValidate) == 'function') {
        if (!Page_ClientValidate(validationGroup)) {
            var msg = ValidateForm(validationGroup, true, "Erreur");
            return false;
        }
    }
    return true;
}

function SubmitOnEnter(textboxclass, buttonclass, validationgroup) {
    // -----------------------------------------------------------------------------------------------------------------
    // Submit Form On Enter Keypress --------------------------------------------------------------------------------------
    // -----------------------------------------------------------------------------------------------------------------
    jQuery("." + textboxclass).keypress(function(e) {
        var c = e.which ? e.which : e.keyCode;
        if (c == 13) {
            if (validationgroup == undefined || CheckForm(validationgroup)) {
                var submitUrl = jQuery('.' + buttonclass).attr("href");
                window.location.href = submitUrl;
            }
            return false;
        }
    });
}

