
window.onload = function()
{
	initMenu();
	scrollMeInit('scrollme');
}

function initMenu()
{
	_initMenu('62');
	_initMenu('69');
	_initMenu('70');
	_initMenu('71');
}

function _initMenu( id )
{
	var link = document.getElementById('menu_'+id);
	var list = document.getElementById('list_'+id);

	if( link )
	{
		link.onmouseover = function() { showMenu(list); }
		link.onmouseout = function() { hideMenu(list); }
	}

	if( list )
	{
		list.onmouseover = function() { showMenu(list); }
		list.onmouseout = function() { hideMenu(list); }
	}
}

function showMenu(link) {
	link.className ='';
}

function hideMenu(link) {
	link.className = 'hidden';
}

function nospam(adresse) {
	adresse = adresse.replace(/_AT_/g, '@');
	adresse = adresse.replace(/_DOT_/g, '.');
	return adresse;

}

/* Scroll Me */
var element2scroll; // L'élément a déplacer
var scrollMe_int = 200; // Vitesse.
var scrollMe_max = 110; // Position maximum
var scrollMe_delta = -1; // Progression à  chaque intervalle
var element2scroll = false;
var scrollMe_paused = false; // Pause.
var scrollMe_current = 0; // Posittion courante
var elementSize = 0 ;

function scrollMe() {
    if (element2scroll && !scrollMe_paused) {
        if (scrollMe_current < 0 - elementSize) {
            scrollMe_current = scrollMe_max;
        } else {
            if (scrollMe_direction = true) {
                scrollMe_current += scrollMe_delta;
            }
        }
        element2scroll.style.top = scrollMe_current + "px";
    }
}

function scrollMeInit(sElement2scroll) {
    if (!element2scroll) {
        element2scroll = document.getElementById(sElement2scroll);
		element2scroll.onmouseout = function() { scrollMe_paused=false;}
		element2scroll.onmouseover = function() { scrollMe_paused=true;}
    }
    elementSize = element2scroll.offsetHeight;
    scrollMe_current = scrollMe_max;
    window.setInterval("scrollMe()", scrollMe_max);
}

/*
Fonction permettant la validation javascript du formulaire externe
de suggestion et reclamations.
*/
function checkForm(requiredFields, typeForm)
{
	var chaine = "Les champs suivants sont requis :\n";
	var valid = true;
	
	for(id in requiredFields)
	{
		var node = document.getElementById(id);
		if(node.value == ""){
			valid = false;
			var label = document.getElementById(id + '_label');
			chaine += label.innerHTML + "\n";
		}
		else if(id == "00N20000001zaeS") // Champ email
		{
			if(!checkEmail(node.value)){
				valid = false;
				var label = document.getElementById(id + '_label');
				chaine += label.innerHTML + " (Syntaxe incorrecte)\n";
			}
		}
		else if(id == "date_probleme") // Champ date
		{
			if (!checkDate(node.value)){
				valid = false;
				var label = document.getElementById(id + '_label');
				chaine += label.innerHTML + " (Syntaxe incorrecte)\n";
			}
		}
	}
	if(!valid)
		alert(chaine);
		
	if(valid && typeForm == 'reclamation')
		fillReclamationForm();
		
	if(valid && typeForm == 'suggestion')
		fillSuggestionForm();
		
	return valid;
}

function checkEmail(email)
{
	var re=RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$");
	return re.test(email);
}

function checkDate(date)
{
	var adate = /([0-9]{1,2})(\/)([0-9]{1,2})(\/)([0-9]{4})/;
	return adate.test(date);
}

/**
	Une fois le formulaire validé, cette fonction formatte
	les champs du formulaire pour matcher avec le webservice
*/
function fillReclamationForm()
{
	// Remplissage du champ description
	var description = "";
	var item;
	
	// Pays
//	item = document.getElementById('pays');
//	if(item.value != "")
//		description += "Pays : " + item.value + "\n";
		
	// Fax
//	item = document.getElementById('fax');
//	if(item.value != "")
//		description += "Fax : " + item.value + "\n";
	
	// Horraire concernée
	var minute = "";
        var heure = "";
	item = document.getElementById('horraire_concernee');
	if(item.value != ""){
		description += "Heure : " + item.value + "\n";
                horaire = item.value.split(":");
                heure = horaire[0];
                minute = horaire[1];
		if(minute == ""){
                	horaire = item.value.split("h");
               		heure = horaire[0];
                	minute = horaire[1];
			
		}

	}
	
	// Remplacement du champ date par le timestamp correspondant
	item = document.getElementById('date_probleme');
	if(item.value != null)
	{
		elem = item.value.split('/');
		dateField = document.getElementById('00N20000001zaea');
		description += "Date : " + item.value + "\n";
		dateField.value = getTimeStamp(elem[0], elem[1], elem[2], heure, minute);
	}
	// Numero de ligne
	item = document.getElementById('numero_ligne');
	if(item.value != "")
		description += "Ligne : " + item.value + "\n";
	
	// Direction
	item = document.getElementById('direction');
	if(item.value != "")
		description += "Destination : " + item.value + "\n";
		
	// Arrêt concerné
	item = document.getElementById('arret_concerne');
	if(item.value != "")
		description += "Arrêt concerné : " + item.value + "\n";
		
	// On stocke tout ça dans le champ description
	item = document.getElementById('description');
	description += "\nMessage:\n\n" + item.value;
	item.value = description;
}

function fillSuggestionForm()
{
	// rempli le champ date par le timestamp courant
	var dateField = document.getElementById('00N20000001zaea');
	dateField.value = getTimeStamp();
}

function getTimeStamp(day, month, year, hour, minute)
{
	if(day != null && month != null && year != null)
		var date = new Date(year, month-1, day, hour, minute);
	else
		var date = new Date();
	var ts = Math.round(date.getTime() / 1);
	return ts;
}





