
/******************************************************************/

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

/******************************************************************/
//Removes white space
function TrimString(aString) {
  aString = aString.replace( /^\s+/g, "" );// strip leading
  return aString.replace( /\s+$/g, "" );// strip trailing
}

/******************************************************************/
//Checks empty field
function isEmptyField(aValue){
 if (aValue==null||TrimString(aValue)==""){
    return true;
 }else{
   false;
 }
}

/******************************************************************/
//Checks valid number
function isNumeric(aValue){
    if (aValue==null||TrimString(aValue)==""){
    	return false;
    }else{
		var PNum = new String(aValue);	
		var regex = /[^0-9]/;	
		return !regex.test(PNum);
	}
}

/*****************************************************************/
function chiffres(event) {
	// Compatibilité IE / Firefox
	if(!event&&window.event) {
		event=window.event;
	}
	// IE
	if(event.keyCode < 48 || event.keyCode > 57) {
		event.returnValue = false;
		event.cancelBubble = true;
	}
	// DOM
	if(event.which < 48 || event.which > 57) {
		event.preventDefault();
		event.stopPropagation();
	}
}

function noSpace(event){
	// Compatibilité IE / Firefox
	if(!event&&window.event) {
		event=window.event;
	}
	// IE
	if(event.keyCode == 32) {
		event.returnValue = false;
		event.cancelBubble = true;
	}
	// DOM
	if(event.which == 32 ) {
		event.preventDefault();
		event.stopPropagation();
	}
}
/*****************************************************************/
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_openBrWindow(theURL,winName,features) {
  window.open(theURL,winName,features);
}

/******************************************************************************/
function displayError(errId){
        document.getElementById(errId).className = "error";//IE
}

function hideError(objId){
        document.getElementById(objId).className = "hidden";//IE    
}

function displayElement(objId){
        document.getElementById(objId).style.display = "block";
}
function hideElement(objId){
        document.getElementById(objId).style.display = "none";
}


/************************* MOTO **********************************/
function checkLoginForm(){
	var ok = false;
	var c = document.getElementById('code').value;
	var p = document.getElementById('pwd').value;
	ok = isNumeric(c) && !isEmptyField(p);
	return ok;
}

function villes(cpId){
	var cp = document.getElementById(cpId);
	var err_cp = 'err_'+cpId;	
	if(!isNumeric(cp.value)){
		displayError(err_cp);
		cp.select();
		return false;
	}
    document.getElementById('vveh').value='0';
    document.getElementById('accmon').value='0';
	document.getElementById('h').value=cpId;
	document.myForm.submit();
	return true;
}

function sendIfEnterKey(x, cpId){
	if(x==13){
		return villes(cpId);
	}
	return false;
}

function getMarqueList(listId){	
	var v = document.getElementById(listId).options[document.getElementById(listId).selectedIndex].value;
	if(isEmptyField(v)==true){
		return false;
	}else{
		document.getElementById('h').value=listId;
		document.myForm.submit();
		return true;
	}
}

function disable(checkBoxId, targetId) 
{  
   if (document.getElementById(checkBoxId).checked) 
      document.getElementById(targetId).disabled=true; 
   else 
      document.getElementById(targetId).disabled=false; 
}

function annulDevis(){
	document.getElementById('h').value='cdevis';
	document.myForm.submit();
	return true;	
	
}

function ajoutDevis(){
	//validerFormulaire!!!
	document.getElementById('h').value='adevis';
	document.myForm.submit();
	return true;	
}

function finalDevis(){
	document.getElementById('h').value='fdevis';
	document.myForm.submit();
	return true;			
}

function validateForm(){
   var i ;
   var elem;
   var err_id;
   var frm = document.myForm;
   if (frm == null){
		frm = document.forms[0];
   }
	for (i=0; i<frm.length; i++)
	{
		elem = frm[i];
		err_id = 'err_oblg_'+elem;
		if(elem.getAttribute("OBLIGATOIRE")=="true"){
			displayError(err_id);
			focusElement(elem);
			return false;
		}
	}
	return true;
}

function computePrice(v){
	document.myForm.elements['px'].value=v;
	document.myForm.submit();
}

/*********************************************************************************************/
function annulCmd(){
	document.getElementById('h').value='ccmd';
	document.myForm.submit();
	return true;		
}

function ajoutCmd(){
	//validerFormulaire!!!
	document.getElementById('h').value='acmd';
	document.myForm.submit();
	return true;	
}

function finalCmd(){
	document.getElementById('h').value='fcmd';
	document.myForm.submit();
	return true;			
}

/**********************************/
function choixCivilite2(v, i){
	
	if(v=="0"){
		document.getElementById('ste'+i).style.display="";
		document.getElementById('civnom'+i).style.display="none";
		document.getElementById('civprenom'+i).style.display="none";
	}else{
		document.getElementById('ste'+i).style.display="none";
		document.getElementById('civnom'+i).style.display="";
		document.getElementById('civprenom'+i).style.display="";
	}
}
/***************************************************/
function choixCivilite(v){
	
	if(v=="Ste"){
		document.getElementById('ste').style.display="";
		document.getElementById('civnom').style.display="none";
		document.getElementById('civprenom').style.display="none";
	}else{
		document.getElementById('ste').style.display="none";
		document.getElementById('civnom').style.display="";
		document.getElementById('civprenom').style.display="";
	}
}
/*************************************/
function updateCpField(selectId, cpId){
	var myselect = document.getElementById(selectId);
	var ville = myselect.options[myselect.selectedIndex].text;
	if(isEmptyField(ville)){
		return false;
	}else{
		var i = ville.lastIndexOf('(')+1;
		var f = ville.lastIndexOf(')');
		var cp = ville.substring(i, f);
		//var reg = new RegExp("\([0-9]+\)");
		//var x = reg.exec(v)[0];
		//document.getElementById(id).value=x;
		document.getElementById(cpId).value=cp;
		return true;
	}
}
/****************************************/
function textCounter(fieldId,cntfieldId,maxlimit) {
	var field = document.getElementById(fieldId);
	var cntfield = document.getElementById(cntfieldId);
	
	if (field.value.length > maxlimit){// if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
	}else{// otherwise, update 'characters left' counter
		cntfield.value = maxlimit - field.value.length;
	}		
}
/*****************************************/
function showHide(id, count, name){
	for(i=0; i<count; i++){
		document.getElementById(name+i).style.display="none";
	}
	document.getElementById(name+id).style.display="block";
}
/********************************************/
function Flash() {
	if (visible == 0) {
		window.status=message;
		visible=1;
	} else {
		window.status="";
		visible=0;
	}
		setTimeout('Flash()', speed);
}
/***********************************************/
function getInfo(){
		var nVer = navigator.appVersion;
		var nAgt = navigator.userAgent;
		var browserName  = '';
		var fullVersion  = 0; 
		var majorVersion = 0;
		var OSName="Unknown OS";
		
		// In Internet Explorer, the true version is after "MSIE" in userAgent
		if ((verOffset=nAgt.toUpperCase().indexOf("MSIE"))!=-1) {
			browserName  = "Microsoft Internet Explorer";
			fullVersion  = parseFloat(nAgt.substring(verOffset+5));
			majorVersion = parseInt(''+fullVersion);
			cssClass='className';
		}

		// In Opera, the true version is after "Opera" 
		else if ((verOffset=nAgt.toUpperCase().indexOf("OPERA"))!=-1) {
			browserName  = "Opera";
			fullVersion  = parseFloat(nAgt.substring(verOffset+6));
			majorVersion = parseInt(''+fullVersion);
		}

		// In most other browsers, "name/version" is at the end of userAgent 
		else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) < (verOffset=nAgt.lastIndexOf('/')) ) 
		{
			browserName  = nAgt.substring(nameOffset,verOffset);
			fullVersion  = parseFloat(nAgt.substring(verOffset+1));
			if (!isNaN(fullVersion)) majorVersion = parseInt(''+fullVersion);
			else {fullVersion  = 0; majorVersion = 0;}
		}

		// Finally, if no name and/or no version detected from userAgent...
		if (browserName.toLowerCase()==browserName.toUpperCase()||fullVersion==0||majorVersion==0)
		{
			browserName  = navigator.appName;
			fullVersion  = parseFloat(nVer);
			majorVersion = parseInt(nVer);
		}
		//OS name
		if (navigator.appVersion.toUpperCase().indexOf("WIN")!=-1) OSName="Windows";
		if (navigator.appVersion.toUpperCase().indexOf("MAC")!=-1) OSName="MacOS";
		if (navigator.appVersion.toUpperCase().indexOf("X11")!=-1) OSName="UNIX";
		if (navigator.appVersion.toUpperCase().indexOf("LINUX")!=-1) OSName="Linux";
		/*var s = '';
		try{
			s = navigator.appCodeName+
			navigator.appMinorVersion+
			navigator.appName+
			navigator.appVersion+
			navigator.browserLanguage+
			navigator.cookieEnabled+
			navigator.cpuClass+
			navigator.javaEnabled()+
			navigator.language+
			navigator.mimetypes+
			navigator.onLine+
			navigator.platform+
			navigator.plugins+
			navigator.preference()+
			navigator.systemLanguage+
			navigator.taintEnabled()+
			navigator.userAgent+
			navigator.userLanguage+
			navigator.userProfile;		
		}catch(exception){
			if(exception.description != null)
			alert(exception.description);
			alert(exception.message);
		}
		return s;*/
}

function initAnnulCmdForm(){
	var mode = document.forms[0].elements[0].checked;
	if(mode==true){
		document.getElementById('mode').value="1";
		document.getElementById('banque').setAttribute("WAFObligatoire", "false", 0);
		document.getElementById('guichet').setAttribute("WAFObligatoire", "false", 0);
		document.getElementById('compte').setAttribute("WAFObligatoire", "false", 0);
		document.getElementById('rib').setAttribute("WAFObligatoire", "false", 0);
	}else{
		document.getElementById('mode').value="2";
	}
}

var soc_id = null;

function safeOnChange1(code, delay )

{
	delay = delay || 750;

	window.clearTimeout( soc_id );

	soc_id = window.setTimeout( code, delay );
}

function change(checkboxId, targetId){
	   if (document.getElementById(checkboxId).checked){
	  		document.getElementById(targetId).disabled=false;
	   }else{
	  		document.getElementById(targetId).disabled=true; 	
	   }
}

function openModalDialog(url, name){
	window.showModalDialog(url,name,"dialogWidth:800px;dialogHeight:800px;center:1;scroll:0;help:0;status:0; resizable:1");
	return false;
}

function openwindows(url,name){
    var w = window.open(url,name,"width=400,height=400,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no");
    return false;
}

function openwindows(url,name, width, height){
    var v = "width="+width+",height="+height+",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes";
    var w = window.open(url,name,v);
    return false;
}

function showStatusMsg(){
	window.status='MotobyCAT'; 
	return true;
}

 function showHideMenu(e) {
	var el = document.getElementsByName(e);
	for(var i=0;i<el.length;i++){
		if (el[i].style.display == "none") {
			el[i].style.display = "";
		} else {
			el[i].style.display = "none";
		}
	}
	return false;
}

/****************************************************************************************************/
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; 
    for(i=0; i<a.length; i++)
      if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function activer(id1, id2)
{
    document.getElementById(id1).disabled=false;
    document.getElementById(id2).disabled=false;
    document.getElementById(id1).value='0';
    document.getElementById(id2).value='0';
    return true;
}

function desactiver(id1, id2)
{
    document.getElementById(id1).disabled=true;
    document.getElementById(id2).disabled=true;
    document.getElementById(id1).value='0';
    document.getElementById(id2).value='0';
    return true;
}
/*****************************/
function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

/*****************************/
var tab = new Array(false , false, false, false, false, false, false, false, false, false); 
var hauteur;

function popup1() {
	// ouvre une fenetre sans barre d'etat, ni d'ascenceur
	var hauteur=0;
	var dimhaut=0;
	for (j=0; j<10; j++) {
	  if (tab[j])  {
	      hauteur++;}
	  }
	if (hauteur!=0){
	    dimhaut= (hauteur*33)+42; 	
	}
	var fenetre="width=205, height="+dimhaut+",scrollbars=no, toolbar=no, status=no, location=no, directories=no, top=500, left=700, resizable=yes"; 
	var nomacc = new Array("Blouson/veste", 
							"Bottes",
							"Bulles",
							"Carenage", 
							"Casque",
							"Moteur",
				 			"Pneus",
							"Pot d'échapement", 
							"Sacoches", 
							"Top case");	
	var w=open("",'Accessoires',fenetre);
	w.document.write("<HEAD><script type=\"text/javascript\">function analysAccess(formulaire){");
	w.document.write("alert(formulaire.elements[0].value);}");
	w.document.write("</script></HEAD>");
	w.document.write("<TITLE>Acesssoires</TITLE>");
	w.document.write("<BODY style='margin-top:0px'>");
	w.document.write("<FORM method='post'>");
	w.document.write("<table>");
	for (i=0; i<10; i++) {
	  if(tab[i]){
	w.document.write("<tr><td>"+nomacc[i]+"</td><td><input type='text' value='0' name='accessoire"+[i]+"' size='3'>&nbsp;&euro;</td></tr>");
	            }
					    }
	w.document.write("<BR><tr><td><input type='button' value='Fermer'name='monbouton' onclick='analysAccess(this.form)'><td></tr>");				    
	w.document.write("</table>");
	w.document.write("</FORM>");
	w.document.write("</BODY>");
	w.document.close();
}

function onclickAccess(object, index){ 
  var checkedBool = object.checked; 
  tab[index]=checkedBool;
} 

function callpopupAccess(event)
{
	var boxcoche = false;
	for( i=0; i<10; i++){
		el = document.getElementById('acc' + i);
    	if (tab[i])
    	{
    		if (!boxcoche)			//si c'est le premier element coché, on lui set le focus
    		{
    			//D'abord on affiche le grand DIV
    			bigDiv = document.getElementById('content3');
				domTT_activate(this, event, 'content', bigDiv, 'type', '', "doPosition");
				
				el.style.display = '';	//Le div doit être visible pour pouvoir donner le focus au input
				
				//focus apres un petit bout de temps, sinon bug sous IE
				setTimeout("document.getElementById('inpAcc'+" + i + ").focus()", 1200);
    		}
    		el.style.display = '';
  			boxcoche = true;
  		}else{
  			el.style.display = 'none';
  		}
    }
   
   //point 8 retour recette 2406
   /*
	if(!boxcoche)
	{
		alert("Aucun accessoire n'a été coché");
	}
	*/
}

function calcAcc()
{
	ret = 0;
	
	for( i=0; i<10; i++){
		inptVal = document.getElementById('inpAcc' + i).value;
    	if (tab[i]){
    		document.getElementById("apl" + i).value = inptVal; 
    		ret += parseInt(inptVal);
  		}
    }
    document.getElementById('accmon').value = ret.toFixed(0);
    //document.getElementsByName("apl")[0].value = 0;
}

//Pour le cas ou le formulaire est rechargé apres validation négative
//On appel cette méthode pour rétablir l'etat precedent des vars javascript 
function onLoadTasks()
{
	//Simulation de click sur les checkbox d'accessoire
	for (i = 0 ; i < 10 ; i++)
	{
		onclickAccess(document.getElementById("chkAccessLst" + i), i);
	}
	
	//Reactivation des input assurance si bouton radio coché
	if(document.getElementById("radio1").checked )
	{
	    document.getElementById("vveh").disabled=false;
    	document.getElementById("accmon").disabled=false;
	}
	
	//Remplissage de la liste des accéssoires
	for( i=0; i<10; i++)
   		document.getElementById('inpAcc' + i).value = document.getElementById("apl" + i).value; 
}