// JavaScript Document

/****************************************/
/*** FONCTIONS LIEES A LA "SCROLLBAR" ***/
/****************************************/

var ScrollBar = new Class({

		Implements: [Events, Options],

		options: {
			maxThumbSize: 10,
			wheel: 8
		},

		initialize: function(content, track, thumb, options){
			this.setOptions(options);

			this.content = $(content);
			this.track = $(track);
			this.thumb = $(thumb);

			this.bound = {
				'start': this.start.bind(this),
				'end': this.end.bind(this),
				'drag': this.drag.bind(this),
				'wheel': this.wheel.bind(this),
				'page': this.page.bind(this)
			};

			this.position = {};
			this.mouse = {};
			this.update();
			this.attach();
		},
		
		updateElements: function(){
			this.contentSize = this.content.offsetHeight;
			this.contentScrollSize = this.content.scrollHeight;
			this.trackSize = this.track.offsetHeight;
			
			this.contentRatio = this.contentSize / this.contentScrollSize;

			this.thumbSize = this.thumb.offsetHeight;
			
			this.scrollRatio = (this.contentScrollSize - this.contentSize) / (this.trackSize - this.thumbSize);
		},
		
		update: function(){
			this.updateElements();
		
			this.thumb.setStyle('height', this.thumbSize);
			
			this.updateThumbFromContentScroll();
			this.updateContentFromThumbPosition();
		},

		updateContentFromThumbPosition: function(){
			this.updateElements();
			this.content.scrollTop = this.position.now * this.scrollRatio;
		},

		updateThumbFromContentScroll: function(){
			this.updateElements();
			this.position.now = (this.content.scrollTop / this.scrollRatio);
			this.thumb.setStyle('top', this.position.now);
		},

		attach: function(){
			this.thumb.addEvent('mousedown', this.bound.start);
			if (this.options.wheel) this.content.addEvent('mousewheel', this.bound.wheel);
			this.track.addEvent('mouseup', this.bound.page);
		},

		wheel: function(event){
			this.content.scrollTop -= event.wheel * this.options.wheel;
			this.updateThumbFromContentScroll();
			event.stop();
		},

		page: function(event){
			if (event.page.y > this.thumb.getPosition().y) this.content.scrollTop += this.content.offsetHeight;
			else this.content.scrollTop -= this.content.offsetHeight;
			this.updateThumbFromContentScroll();
			event.stop();
		},

		start: function(event){
			this.mouse.start = event.page.y;
			this.position.start = this.thumb.getStyle('top').toInt();
			document.addEvent('mousemove', this.bound.drag);
			document.addEvent('mouseup', this.bound.end);
			this.thumb.addEvent('mouseup', this.bound.end);
			event.stop();
		},

		end: function(event){
			document.removeEvent('mousemove', this.bound.drag);
			document.removeEvent('mouseup', this.bound.end);
			this.thumb.removeEvent('mouseup', this.bound.end);
			event.stop();
		},

		drag: function(event){
			this.mouse.now = event.page.y;
			this.position.now = (this.position.start + (this.mouse.now - this.mouse.start)).limit(0, (this.trackSize - this.thumbSize));
			this.updateContentFromThumbPosition();
			this.updateThumbFromContentScroll();
			event.stop();
		}

	});



function createScrollBar(){
	var scr = new ScrollBar('bloc_scroll_conteneur', 'barre_scroll', 'bt_scroll');	
	return scr;
}

/* MAJ scrollBAR*/

function updateScrollBar(){
		if ($("bloc_scroll_conteneur")){
			var myx = $("bloc_scroll").offsetHeight;
			var myn = $("bloc_scroll_conteneur").offsetHeight;
			if(myx>myn){
				var el = $("bt_scroll");
				if(el)
					el.style.height='';
			}else{
				var el = $("barre_scroll");
				if(el)
					el.className='invisible';
			}
		}
	}

/**********************************/
/*** INITIALISATION DES DSELECT ***/
/**********************************/

function switchOngletFAQ(index)
{
	var i = 0;
	var j = getFormatedIndex(i);
	
	var titreFAQ = document.getElementById('ctl00_ContentPlaceHolder1_rptFaq_ctl' + j + '_titrefaq');
	var txtFAQ = document.getElementById('ctl00_ContentPlaceHolder1_rptFaq_ctl' + j + '_txtfaq');
	
	while (titreFAQ && txtFAQ )
	{
		if (i == index)
			openOngletFaq(titreFAQ, txtFAQ);
		else
			closeOngletFaq(titreFAQ, txtFAQ);
		
		i++;
		j = getFormatedIndex(i);
		titreFAQ = document.getElementById('ctl00_ContentPlaceHolder1_rptFaq_ctl' + j + '_titrefaq');
		txtFAQ = document.getElementById('ctl00_ContentPlaceHolder1_rptFaq_ctl' + j + '_txtfaq');
	}
}

    // Index sur 2 chiffres (ex: 00, 01...)
    function getFormatedIndex(i)
    {
        var index = i;
        if (i < 10)
        {
            index = '0' + i;
        }
        return index;
    }
	
	function openOngletFaq(titreFAQ, txtFAQ)
	{
		if (titreFAQ)
		{
			if (titreFAQ.className != 'titre_faq')
				titreFAQ.className = 'titre_faq';
			else
				titreFAQ.className = 'titre_faq2';
		}
		if (txtFAQ)
		{
			if (txtFAQ.className != 'grey2')
				txtFAQ.className = 'grey2';
			else
				txtFAQ.className = 'invisible';
		}
		if (MYSCROLLBAR)
		{
			var newtop = titreFAQ.offsetTop;
			newtop = newtop - 15;
			MYSCROLLBAR.content.scrollTop = newtop;
			MYSCROLLBAR.updateThumbFromContentScroll();
			MYSCROLLBAR.updateContentFromThumbPosition();
		}
	}
	
	function closeOngletFaq(titreFAQ, txtFAQ)
	{
		if (titreFAQ)
		{
			if (titreFAQ.className != 'titre_faq2')
				titreFAQ.className = 'titre_faq2';
		}
		if (txtFAQ)
		{
			if (txtFAQ.className != 'invisible')
				txtFAQ.className = 'invisible';
		}
	}

/***************************************/
/*** INITALISATION DE LA POPIN PRINT ***/
/***************************************/

function showPopinPrint(idpopin){
	var el = document.getElementById(idpopin);
	if(el){
		el.className='popin_print';
		var version = parseFloat(navigator.appVersion.split("MSIE")[1])
		if((version >= 5.5 && version < 7.0))
			alphaBackgrounds();
	}
}

function hidePopinPrint(idpopin){
	var el = document.getElementById(idpopin);
	if(el)
		el.className='invisible';
}


/*******************************************/
/*** INITALISATION DE LA POPIN "CONFIRM" ***/
/*******************************************/

function back(idEventSource,
                tbxNameValue, idTbxName,
                tbxVinValue, idTbxVin,
                ddlEquipmentValue, nameDdlEquipment,
                tbxPhoneValue, idTbxPhone,
                ddlCountryValue, nameDdlCountry,
                ddlOperatorValue, nameDdlOperator,
                tbxIdGoogleValue, idTbxIdGoogle,
                tbxConfirmIdGoogleValue, idTbxConfirmIdGoogle){
    if (!isModified(tbxNameValue, idTbxName,
                    tbxVinValue, idTbxVin,
                    ddlEquipmentValue, nameDdlEquipment,
                    tbxPhoneValue, idTbxPhone,
                    ddlCountryValue, nameDdlCountry,
                    ddlOperatorValue, nameDdlOperator,
                    tbxIdGoogleValue, idTbxIdGoogle,
                    tbxConfirmIdGoogleValue, idTbxConfirmIdGoogle))
    {
        WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(idEventSource, "", true, "", "", false, true));
    }
    else
    {
        winSize('ucpopinbkg3');
        showPopin('BackPopin');
    }
}

function isModified(
    tbxNameValue, idTbxName,
    tbxVinValue, idTbxVin,
    ddlEquipmentValue, nameDdlEquipment,
    tbxPhoneValue, idTbxPhone,
    ddlCountryValue, nameDdlCountry,
    ddlOperatorValue, nameDdlOperator,
    tbxIdGoogleValue, idTbxIdGoogle,
    tbxConfirmIdGoogleValue, idTbxConfirmIdGoogle){
    
    var modified = false;
    
    var el1 = document.getElementById(idTbxName);
    var el2 = document.getElementById(idTbxVin);
    var el3 = document.forms[0].elements[nameDdlEquipment];
    var el4 = document.getElementById(idTbxPhone);
    var el5 = document.forms[0].elements[nameDdlCountry];
    var el6 = document.forms[0].elements[nameDdlOperator];
    var el7 = document.getElementById(idTbxIdGoogle);
    var el8 = document.getElementById(idTbxConfirmIdGoogle);
    
    if (el1)
    {
        if (el1.value != tbxNameValue)
        {
            modified = true;
        }
    }
    if (el2)
    {
        if (el2.value != tbxVinValue)
        {
            modified = true;
        }
    }
    if (el3)
    {
        if (el3.value != ddlEquipmentValue)
        {
            modified = true;
        }
    }
    if (el4)
    {
        if (el4.value != tbxPhoneValue)
        {
            modified = true;
        }
    }
    if (el5)
    {
        if (el5.value != ddlCountryValue)
        {
            modified = true;
        }
    }
    if (el6)
    {
        if (el6.value != ddlOperatorValue)
        {
            modified = true;
        }
    }
    if (el7)
    {
        if (el7.value != tbxIdGoogleValue)
        {
            modified = true;
        }
    }
    if (el8)
    {
        if (el8.value != tbxConfirmIdGoogleValue)
        {
            modified = true;
        }
    }
    return modified
}

function update(idEventSource,
    tbxVinValue, idTbxVin,
    ddlEquipmentValue, nameDdlEquipment,
    tbxPhoneValue, idTbxPhone,
    ddlCountryValue, nameDdlCountry,
    ddlOperatorValue, nameDdlOperator,
    tbxIdGoogleValue, idTbxIdGoogle,
    tbxConfirmIdGoogleValue, idTbxConfirmIdGoogle){
    if (isNecessaryNewActivationCode(
            tbxVinValue, idTbxVin,
            ddlEquipmentValue, nameDdlEquipment,
            tbxPhoneValue, idTbxPhone,
            ddlCountryValue, nameDdlCountry,
            ddlOperatorValue, nameDdlOperator,
            tbxIdGoogleValue, idTbxIdGoogle,
            tbxConfirmIdGoogleValue, idTbxConfirmIdGoogle))
    {
        winSize('ucpopinbkg4');
        showPopin('UpdateActivationCodePopin');
    }
    else
    {
        WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(idEventSource, "", true, "", "", false, true));
    }
}

function isNecessaryNewActivationCode(
    tbxVinValue, idTbxVin,
    ddlEquipmentValue, nameDdlEquipment,
    tbxPhoneValue, idTbxPhone,
    ddlCountryValue, nameDdlCountry,
    ddlOperatorValue, nameDdlOperator,
    tbxIdGoogleValue, idTbxIdGoogle,
    tbxConfirmIdGoogleValue, idTbxConfirmIdGoogle){
    
    var modified = false;
    
    var el1 = document.getElementById(idTbxVin);
    var el2 = document.forms[0].elements[nameDdlEquipment];
    var el3 = document.getElementById(idTbxPhone);
    var el4 = document.forms[0].elements[nameDdlCountry];
    var el5 = document.forms[0].elements[nameDdlOperator];
    var el6 = document.getElementById(idTbxIdGoogle);
    var el7 = document.getElementById(idTbxConfirmIdGoogle);
    
    if (el1)
    {
        if (el1.value != tbxVinValue)
        {
            modified = true;
        }
    }
    if (el2)
    {
        if (el2.value != ddlEquipmentValue)
        {
            modified = true;
        }
    }
    if (el3)
    {
        if (el3.value != tbxPhoneValue)
        {
            modified = true;
        }
    }
    if (el4)
    {
        if (el4.value != ddlCountryValue)
        {
            modified = true;
        }
    }
    if (el5)
    {
        if (el5.value != ddlOperatorValue)
        {
            modified = true;
        }
    }
    if (el6)
    {
        if (el6.value != tbxIdGoogleValue)
        {
            modified = true;
        }
    }
    if (el7)
    {
        if (el7.value != tbxConfirmIdGoogleValue)
        {
            modified = true;
        }
    }
    return modified
}

function showPopin(idpopin)
{
	var el = document.getElementById(idpopin);
	if (el)
	{
		el.className = 'popin';
		// Conservation de l'état des popin dans un input hidden pour pouvoir
		// les remettre tels quelles lors du PostBack
		if (idpopin == 'ctl00_popInLogin_logPopin')
		{
            var input = document.getElementById('ctl00_popInLogin_classLogin');
            if (input)
                input.value = 'popin';
		}
		if (idpopin == 'ctl00_popInLostPassword_lostPopin')
		{
            var input = document.getElementById('ctl00_popInLostPassword_classLostPopin');
            if (input)
                input.value = 'popin';
		}
		
		// Initialisation de la popin login
		if (idpopin == 'ctl00_popInLogin_logPopin')
		{
            var tbxEmailDisplay = document.getElementById('ctl00$popInLogin$tbxEmail$Display');
            var tbxEmail = document.getElementById('ctl00$popInLogin$tbxEmail');
            var tbxEmailEmptyMessage = document.getElementById('ctl00$popInLogin$tbxEmail$EmptyMessage');
            
            var tbxPasswordClear = document.getElementById('ctl00$popInLogin$tbxPassword$tbxClear');
            var tbxPassword = document.getElementById('ctl00$popInLogin$tbxPassword');
            var tbxPasswordEmptyMessage = document.getElementById('ctl00$popInLogin$tbxPassword$EmptyMessage');
            if (tbxEmailDisplay && tbxEmail && tbxEmailEmptyMessage && tbxPasswordClear && tbxPassword && tbxPasswordEmptyMessage)
            {
                tbxEmailDisplay.value = tbxEmailEmptyMessage.value;
                tbxEmailDisplay.className = "input_text email";
                tbxEmail.value = '';
                tbxPasswordClear.value = tbxPasswordEmptyMessage.value;
                tbxPasswordClear.className = 'input_text passe';
                tbxPassword.value = '';
                tbxPassword.className = 'input_text passe';
                checkDefaultPassword('ctl00$popInLogin$tbxPassword', 'ctl00$popInLogin$tbxPassword$Clear', 'ctl00$popInLogin$tbxPassword$Password')
                $('ctl00_popInLogin_lblErrorMessage').innerHTML = '';
            }
        }
        // Initialisation de la popin mot de passe perdu
        if (idpopin == 'ctl00_popInLostPassword_lostPopin')
        {
            var tbxEmailDisplay = document.getElementById('ctl00$popInLostPassword$tbxEmail$Display');
            var tbxEmail = document.getElementById('ctl00$popInLostPassword$tbxEmail');
            var tbxEmailEmptyMessage = document.getElementById('ctl00$popInLostPassword$tbxEmail$EmptyMessage');
            if (input && tbxEmailDisplay && tbxEmail && tbxEmailEmptyMessage)
            {
                tbxEmailDisplay.value = tbxEmailEmptyMessage.value;
                tbxEmailDisplay.className = "input_text email";
                tbxEmail.value = '';
                $('ctl00_popInLostPassword_lblErrorMessage').innerHTML = '';
            }
		}
	}
}

// Si on ferme la popin login ou mot de passe perdu alors on initialise les champs de ces 2 popin
function hidePopin(idpopin)
{
	var el = document.getElementById(idpopin);
	if (el)
	{
		el.className = 'invisible';
	}
	if (idpopin == 'ctl00_popInLogin_logPopin')
	{
	    var input = document.getElementById('ctl00_popInLogin_classLogin');
	    if (input)
	    {
	        input.value = 'invisible';
	    }
	}
    if (idpopin == 'ctl00_popInLostPassword_lostPopin')
	{
	    var input = document.getElementById('ctl00_popInLostPassword_classLostPopin');
	    if (input)
	    {
	        input.value = 'invisible';
	    }
	}
}


/* taille de la page et largeur de la div */

function winSize(elem)
{
	if (document.body)
	{
		var larg = (document.body.clientWidth);
		var haut = (document.body.clientHeight);
	}
	else
	{
		var larg = (window.innerWidth);
		var haut = (window.innerHeight);
	}
	//larg haut
	$(elem).setStyle('width', larg);
	$(elem).setStyle('height', haut);
}


/* changer le type de l'input */
function changeType(_id)
{	
  if (_id == 1)
  {
    $('idType1').innerHTML = "<input type='password' class=\"input_text passe\" name=\"passe\" id=\"passe\" />";
    $('passe').focus(); 
  }
  
  if (_id == 2)
  {
    $('idType2').innerHTML = "<input type='password' class=\"input_text passe\" name=\"confirm_passe\" id=\"confirm_passe\" />";
    $('confirm_passe').focus(); 
  }
}

/* Authentification */
function confirmLogin(ev, idEventSource, activation, WEBO_ZONE, WEBO_PAGE, ID_SITE, WEBO_TITRE)
{
    if (ev.keyCode == 13)
    {
        if (activation && WEBO_ZONE >= 0)
        {
            webo_zpi(WEBO_ZONE, WEBO_PAGE, ID_SITE, WEBO_TITRE);
        }
        __doPostBack(idEventSource, '');
    }
}

function isNumeric(ev)
{
    var IE = false;
    if (ev.keyCode)
    {
        IE = true;
        code = ev.keyCode;
    }
    else
    {
        code = ev.which;
    }
    if (code < 48 || code > 57)
    {
        if (IE)
        {
            ev.returnValue = false;
        }
        else
        {
            ev.preventDefault();
        }
    }
}

/* Démonstration */
function windowFlash(url)
{ 
    properties = "top=0, left=0, resizable=yes, status=no, directories=no, addressbar=no, toolbar=no, scrollbars=yes, menubar=no, location=no, statusbar=no, width=1100, height=670";
    win = window.open(url, "", properties);
} 
