var ltie7 = ($.browser.msie && $.browser.version < 7);

$(function(){
	gestionMenu.init();
	gestionMenuHome.init();
	texteDefilant.init();
	moinsDonnees.init();
	plusDonnees.init();
//	dateHome.init();
	graphiqueProcess.init();

});

 /**************************************************************************/
var moinsDonnees = function () {
	function init () {
	 $('body.jsActif .close').click(
			function() {
//				$(this).parents(':first').css({display : 'none'});
				$(this).parents('.donnees:first').css({display : 'none'});
//				$('body.jsActif .more').css({display : 'inline'});
				$(this).parents('.donnees').siblings(".more:first").css({display : 'inline'});
				this.blur();
				return false;
		});
	}
	return {init:init}
}();

var plusDonnees = function () {
	function init () {
	$('body.jsActif .more').click(
		function() {
			$(this).css({display : 'none'});
//			$(this).next().css({display : 'block'});
			$(this).siblings(".donnees").css({display : 'block'});
			this.blur();
			return false;
	});
	$('body.jsActif .more:first').click();
	}
	return {init:init}
}();
/**************************************************************************/
var gestionMenu = function () {
	var menuItems, menuItemsLinks;
	var classAffiche='affiche';
	function init () {
		menuItems = $('#liste_item > li');
		menuItemsLinks = menuItems.find('.item_menu a').not('.single');
		menuItemsLinks.click(function(){
			var parent=$(this).parents('li:first');
			if (parent.is('.on')) parent.removeClass('on');
			else parent.toggleClass(classAffiche);
			return false;
		});
	}
	return {init:init}
}();

var gestionMenuHome = function () {
	var menuItems, menuItemsLinks;
	var classAffiche='affiche';
	function init () {
		menuItems = $('#ovals > .ovalsItem');
		menuItemsLinks = menuItems.find('a');
		menuItems.hover(function(){$(this).addClass(classAffiche)}, function(){$(this).removeClass(classAffiche)});
		menuItemsLinks.focus(function(){
			$(this).parents('.ovalsItem').addClass(classAffiche);
		}).blur(function(){
			$(this).parents('.ovalsItem').removeClass(classAffiche);
		});
	}
	return  {init:init}
}();
/***************************************gestion texte defilant*********/
var texteDefilant = function() {
	var info, line, lineLength, lineTotalMoveToDo, moveDuration;
	var swapDelay=30;
	var moveDelay=30;
	var moveLength=2;
	var displayWindowSize=400;
	function init() {
		info = $('#info');
		line = $(' > li:first',info);
		if (ltie7) line.css('display','inline');
		if (line.is('li')) lineMove(line);
	}
	function lineMove() {
		lineLength=getLineLength(line);
		lineTotalMoveToDo=lineLength+displayWindowSize*2;
		moveDuration=lineTotalMoveToDo*moveDelay/moveLength;
		info.bind('mouseover',function(){line.stop();}).bind('mouseout',function(){lineAnimate(line)}).find('>li:visible >a').bind('focus',function(){line.css({left: '1px'}).stop();}).bind('blur',function(){lineAnimate(line);});
		lineAnimate(line);
	}
	function lineSwap() {
		line.hide();
		line=line.next().is('li')?line.next():line.prevAll().eq(0).is('li')?line.prevAll().eq(0):line;
		line.css({display: 'inline', left: displayWindowSize});
		lineMove(line);
	}
	function getLineLength() {return parseInt(line.width());}
	function lineAnimate(){line.animate({left: -lineLength},moveDuration, function(){lineSwap($(this));});}

	function lineStop() {line.stop();}
	return{init:init,stop:lineStop,start:lineAnimate};
}();
/***************************Gestion date dans la home*********************/
/*
var dateHome=function() {
function init() {
navvers = navigator.appVersion.substring(0,1);
if (navvers > 3)
	navok = true;
else
	navok = false;
today = new Date;
numero = today.getDate();
if (numero<10)
	numero = "0"+numero;
	mois = today.getMonth();
if (navok)
	annee = today.getFullYear();
else
	annee = today.getYear();
if (annee < 2000) { annee += 1900 }
	annee = annee.toString().slice(2);
	mois++;
if (mois < 10)
	mois = "0" + mois;
	messageDate ="<p>"  + numero +"<span class='barre'>&nbsp;|&nbsp;</span>" + mois + "<span class='barre'>&nbsp;|&nbsp;</span>" + annee  + "</p>";
$('#date').html(messageDate);
}
return  {init:init}
}();
*/
/********************************************************************************/
var graphiqueProcess=function() {
function init() {
var rond,rondtexte,textecorrespondant,on;
rondtexte =$('.process_graph ol li .texte_graph_process').find('img');
rond = 	$('.process_graph ol li').find('img').not(rondtexte);
$('.process_graph ol li').find('img').not($('.process_graph ol li .texte_graph_process').find('img')).wrap('<a href="#"></a>');
rond.click(
	function() {
	$(this).parents('li:first').find('.texte_graph_process').show();
	on =$(this).parents('li:first').find('.texte_graph_process');
	$('.process_graph ol li .texte_graph_process').not(on).hide();
	this.blur();
	return false;
	});
	$('.process_graph ol li').each(function(){$(this).switchImage("","> div > a >img");});
	$('.process_graph ol li .un img').click();
}
return  {init:init}
}();

/*******************************************/
function getXmlHttpObject() {
	var xho = null;
	if (window.XMLHttpRequest)
		xho = new XMLHttpRequest();
	else if (window.ActiveXObject)
		xho = new ActiveXObject("Microsoft.XMLHTTP");
	return xho;
}

/*******************************************/
var verifSpontanee = function() {
	var form, prenom, nom, mail;
	form   = document.forms['form_spontanee'];
	prenom = form.prenom.value;
	nom    = form.nom.value;
	email  = form.email.value;
	tel    = form.tel.value;
	motiv  = form.uploadFile0.value;
	cv     = form.uploadFile1.value;

	extMotiv = motiv.substring(motiv.lastIndexOf( '.' ));
	extCV    = cv.substring(cv.lastIndexOf( '.' ));
	
	var erreur = '<ul>';
	var cadreFormulaire = $(' #form_spontanee ');
	var cadreErreurs    = $(' #erreurs ');
	var texteSucces = "<h1>Candidature reçue !</h1><p>Nous avons bien reçu votre candidature !<br />Nous vous remercions de l'intérêt que vous portez à notre entreprise, et prendrons contact avec vous dans les plus brefs délais.</p>";
	
	if (!prenom.match(/^[ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿa-zA-Z\-\s]+$/))
		erreur = erreur + '<li class="erreur">Pr&eacute;nom incorrect</li>';
	if (!nom.match(/^[ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿa-zA-Z\-\s]+$/))
		erreur = erreur + '<li class="erreur">Nom incorrect</li>';
	if (!email.match(/^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,4}$/))
		erreur = erreur + '<li class="erreur">Mail incorrect</li>';
	if (!tel.match(/^[0-9.-]+$/))
		erreur = erreur + '<li class="erreur">T&eacute;l&eacute;phone incorrect</li>';
	
	if (motiv == '')
//		erreur = erreur + '<li class="erreur">Pas de lettre de motivation</li>';
		erreur = erreur + '';
	else
		if (extMotiv != '.pdf' && extMotiv != '.rtf' && extMotiv != '.doc' && extMotiv != '.docx')
			erreur = erreur + '<li class="erreur">Mauvaise extension de la lettre de motivation: &laquo;' + extMotiv + ' &raquo;</li>';
	
	if (cv == '')
//		erreur = erreur + '<li class="erreur">Pas de CV</li>';
		erreur = erreur + '';
	else
		if (extCV != '.pdf' && extCV != '.rtf' && extCV != '.doc' && extCV != '.docx')
			erreur = erreur + '<li class="erreur">Mauvaise extension du CV: &laquo; ' + extCV + ' &raquo;</li>';

	erreur += '</ul>';
	if (erreur != '<ul></ul>') {
		cadreErreurs.html(erreur);
		return false;
	}
	return true;
}

/*******************************************/
var verifPresse = function() {
	var form		= document.forms['candidature'];
	var nom			= form.nom.value;
	var prenom		= form.prenom.value;
	var age			= form.age.value;
	var adresse		= form.adresse.value;
	var telephone	= form.telephone.value;
	var mobile		= form.mobile.value;
	var email		= form.email.value;
	
	var erreur		= '<ul>';
	var cadreErreur = $(' #erreurs ');
	
	if (!nom.match(/^[ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿa-zA-Z\-\s]+$/) || nom == '')
		erreur += '<li class="erreur">Nom incorrect</span>';
	if (!prenom.match(/^[ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿa-zA-Z\-\s]+$/) || prenom == '')
		erreur += '<li class="erreur">Prénom incorrect</span>';
	if (!age.match(/^[0-9]{1,2}$/) || age == '' || age == '0')
		erreur += '<li class="erreur">Age incorrect</span>';
	if (!adresse.match(/^[ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿa-zA-Z0-9\-\s]+$/) || adresse == '')
		erreur += '<li class="erreur">Adresse incorrecte</span>';
	if (!telephone.match(/^[0-9\s]{8,15}$/) || telephone == '')
		erreur += '<li class="erreur">Téléphone incorrect</span>';
	if (!mobile.match(/^[0-9\s]{8,15}$/) || mobile == '')
		erreur += '<li class="erreur">Mobile incorrect</span>';
	if (!email.match(/^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,4}$/) || email == '')
		erreur += '<li class="erreur">Adresse email incorrecte</span>';
	
	erreur += '</ul>';
	if (erreur != '<ul></ul>') {
		cadreErreur.html(erreur);
		return false;
	}

	return true;
}

/*******************************************/
// fonction switchImage()
$.fn.switchImage=function(eventTargetSelector, changeTargetSelector, options) {
	var eventTargetSelector, changeTargetSelector, eventTarget, changeTarget;
	if (!eventTargetSelector) eventTargetSelector = '$myself';
	if (!changeTargetSelector) changeTargetSelector = '$myself';
	var settings = {
	stringDefault: '_off',
	stringHover: '_on'
};
if (options) {
	jQuery.extend(settings, options);
}
if (eventTargetSelector == '$myself') eventTarget=$(this);
else eventTarget = $(this).find(eventTargetSelector);
if (changeTargetSelector == '?myself') changeTarget=$(this);
else changeTarget = $(this).find(changeTargetSelector);
eventTarget.filter(function(index){
return (changeTarget.is("input[@type=image][@src]") || changeTarget.is("img[@src]"));
}).mouseover(function(){switchToHover(changeTarget)}).focus(function(){switchToHover(changeTarget)}).mouseout(function(){switchToDefault(changeTarget)}).blur(function(){switchToDefault(changeTarget)});
function switchToHover(e) {
	var src = e.attr('src');
	var srcPathSplit = src.split('/');
	var fileName=srcPathSplit.pop();
	var filePath=srcPathSplit.join('/');
	if (fileName.indexOf(settings.stringDefault) != -1) {
	e.attr('src', filePath+'/'+fileName.replace(settings.stringDefault, settings.stringHover));
	}
}
function switchToDefault(e) {
	var src = e.attr('src');
	var srcPathSplit = src.split('/');
	var fileName=srcPathSplit.pop();
	var filePath=srcPathSplit.join('/');
	if (fileName.indexOf(settings.stringHover) != -1) {
	e.attr('src', filePath+'/'+fileName.replace(settings.stringHover, settings.stringDefault));
	}
}


return this;
}

/**
*
*  UTF-8 data encode / decode
*  http://www.webtoolkit.info/
*
**/

var Utf8 = {

    // public method for url encoding
    encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    },

    // public method for url decoding
    decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }

}
