// Function commune utilisée dans les pages HTML de 
// l'application Web Médiatis - Espace Client
// auteur   : SDDC - G.PRUDHOMME
// date     : 10/07/2001
// revision :
// auteur   : SDDC - Brast
// date     : 02/05/2003

var dateJour = new Date();
dateJour.setTime(dateJour.getTime()+(24*60*60*1000));


// Controle que toutes les zones sont renseignées
function isWritten(obj0,obj1a,obj1,obj2,obj3,obj4)
{
//---------------------------//
// Controle zone Numéro Carte
//---------------------------//
 	if(!isValid(obj0)) {
 		obj0.value="3060";
 		obj0.focus();
 		return false;
 	}
	
 	if(!isValid2a(obj1a)) {
 		obj1a.value="";
 		obj1a.focus();
 		return false;
 	}

 	if(!isValid2(obj1)) {
 		obj1.value="";
 		obj1.focus();
 		return false;
 	}

	
//---------------------------//
// Controle les zones date
//---------------------------//
	if(obj2.value.length == 0)
	{
		alert(msg003 + "   /" + obj3.value + "/" + obj4.value + " " + msg004 + "\n" + msg023);
		obj2.focus();
		return false;
	}

	if(obj3.value.length == 0)
	{
		alert(msg003 + " " + obj2.value + "/  /" + obj4.value + " " + msg004 + "\n" + msg023);
		obj3.focus();
		return false;
	}

	if(obj4.value.length == 0)
	{
		alert(msg003 + " " + obj2.value + "/" + obj3.value + "/   " + msg004 + "\n" + msg023);
		obj4.focus();
		return false;
	}

	if ( (isDateJ(obj2, obj3, obj4) == true) && (isDateM(obj3,obj2, obj4) == true) && (isDateA(obj4, obj3, obj2) == true) )
	{
		return true;
	}
	 else
	{
		return false;
	}
}


//-------------------------------------------------------------//
// Controle la validité de ETAB_FINAN SOC_FINAN (4 positions)
//-------------------------------------------------------------//
function isValid(obj)
{
	if(!isNumeric(obj)) {
		obj.value = "3060";
		obj.focus();
		return false;
	}
		
	
	if (obj.value.length != 4)
	{
		obj.value = "3060";
		obj.focus();
		alert(msg001);
		return false;
	}

	if (obj.value.substring(0,4) != "3060")
	{
		obj.value = "3060";
		obj.focus();
		alert(msg001);
		return false;
	}

	return true;
}


//-------------------------------------------------------------//
// Controle la validité du numéro de carte (13 positions)
//-------------------------------------------------------------//
function isValid2a(obj)
{
	if(!isNumeric(obj)) {
		obj.value = "";
		obj.focus();
		return false;
	}
		
	
	if (obj.value.length != 2) 
	{
		obj.value = "";
		obj.focus();
		alert(msg001);
		return false;
	}

	return true;
}

function isValid2(obj)
{
	if(!isNumeric(obj)) {
		obj.value = "";
		obj.focus();
		return false;
	}
		
	
	if (obj.value.length != 11) 
	{
		obj.value = "";
		obj.focus();
		alert(msg001);
		return false;
	}

	return true;
}

//-------------------------------------------//
// Controle que la zone saisie est numerique
//-------------------------------------------//
function isNumeric(obj)
{
	var c;
	
//	alert(obj.value.length);
	
	if (obj.value.length == 0) 
	{
		obj.value = "";
		obj.focus();
		alert(msg024);
		return false;
	}


	for(var i=0; i<obj.value.length; i++)
	{
		c = obj.value.substring(i, i+1);
		if(c < "0" || c > "9" )
		{
			obj.value = "";
			obj.focus();
			alert(msg024);
			return false;
		}
	}
	return true;
}

//---------------------------//
// Controle du jour saisi
//---------------------------//
function isDateJ(obj, m, a)
{
	if(!isNumeric(obj)) {
		obj.value = "";
		obj.focus();
		return false;
	}

//	isNumeric(obj);
		
	if((obj.value.length == 1)&&(obj.value != "0"))
	{
	obj.value = "0" + obj.value;
	}
	if(obj.value.length != 0)
	{
		if(obj.value.length != 2)
		{
			alert(msg003 + " " + obj.value + "/" + m.value + "/" + a.value + " " + msg004 + "\n" + msg019);
			obj.value = "";
			m.value = "";
			a.value = "";
			obj.focus();
			return false;
		}

		if((Math.round(obj.value)>=1)&&(Math.round(obj.value)<=31))
		{
			ok=true;
		}
		else
		{
			alert(msg003 + " " + obj.value + "/" + m.value + "/" + a.value + " " + msg004 + "\n" + msg019);
			obj.value = "";
			m.value = "";
			a.value = "";
			obj.focus();
			return false;
		}

	}
	return true;
}

//---------------------------//	
// Controle du mois saisi
//---------------------------//
function isDateM(obj, j, a)
{
	if(!isNumeric(obj)) {
		obj.value = "";
		obj.focus();
		return false;
	}

  	ok=true;
//	isNumeric(obj);
	
	if((obj.value.length == 1)&&(obj.value != "0"))
	{
	obj.value = "0" + obj.value;
	}

	if(obj.value.length != 0)
	{
		if(obj.value.length != 2)
		{
			alert(msg003 + " " + j.value + "/" + obj.value + "/" + a.value + " " + msg004 + "\n" + msg020);
			obj.value = "";
			j.value = "";
			a.value = "";
			j.focus();
			return false;
		}

		if((Math.round(obj.value)>=1)&&(Math.round(obj.value)<=12))
		 {
			ok=true;
		}
		 else
		{
			alert(msg003 + " " + j.value + "/" + obj.value + "/" + a.value + " " + msg004 + "\n" + msg020);
			obj.value = "";
			j.value = "";
			a.value = "";
			j.focus();
			return false;
		}

		if ((j.value.length != 0) && ((obj.value == "04")||(obj.value == "06")||(obj.value == "09")||(obj.value == "11")))
		{
			if((Math.round(j.value)>=1)&&(Math.round(j.value)<=30))
			{
				ok=true;
			}
			else
			{
				alert(msg003 + " " + j.value + "/" + obj.value + "/" + a.value + " " + msg004 + "\n" + msg019);
				obj.value = "";
				j.value = "";
				a.value = "";
				j.focus();
				return false;
			}
		}

		if ((j.value.length != 0) && (obj.value=="02"))
		{
			if ((Math.round(j.value)>=1)&&(Math.round(j.value)<=29))
			{
				ok=true;
			}
			else
			{
				alert(msg003 + " " + j.value + "/" + obj.value + "/" + a.value + " " + msg004 + "\n" + msg019);
				obj.value = "";
				j.value = "";
				a.value = "";
				j.focus();
				return false;
			}
		}
	}
	return true;

}

//---------------------------//
// Controle de l'année saisie
//---------------------------//
function isDateA(obj, m, j)
{
	if(!isNumeric(obj)) {
		obj.value = "";
		obj.focus();
		return false;
	}
	
	ok=true;                               
//	isNumeric(obj);
	
	if(obj.value.length != 0)
	{
		if(obj.value.length != 4)
		{
			alert(msg003 + " " + j.value + "/" + m.value + "/" + obj.value + " " + msg004 + "\n" + msg021);
			obj.value = "";
//			m.value = "";
//			j.value = "";
			obj.focus();
			return false;
		}

		bi= ((parseInt(obj.value)%4)==0);

		if ((obj.value<"1890")||(obj.value>"2050")) 
		{ 
			alert(msg003 + " " + j.value + "/" + m.value + "/" + obj.value + " " + msg004 + "\n" + msg021);
			obj.value = "";
			m.value = "";
			j.value = "";
			j.focus();
			return false;
		}

		if((m.value=="02")&&(!bi))
		{
			if ((Math.round(j.value)>=1)&&(Math.round(j.value)<=28))
			{
				ok=true;
			}
			else
			{
				alert(msg003 + " " + j.value + "/" + m.value + "/" + obj.value + " " + msg004 + "\n" + msg019);
				obj.value = "";
				m.value = "";
				j.value = "";
				j.focus();
				return false;
			}
		}
	}
	
	return true;
}


function isDate(val, obj)
{
	ok=true;                               
	if(val.length == 8)
	{
		j = val.substring(0,2);
		m = val.substring(2,4);
		a = val.substring(4,8);
		aa= val.substring(6,8);  
	}

	if(val.length == 10)
	{
		j = val.substring(0,2);
		m = val.substring(3,5);
		a = val.substring(6,10);
		aa= val.substring(8,10);  
	}
	if((val.length != 8)&&(val.length != 10))
	{
		return false;
	}

	//obj.value = j + "/" + m + "/" + a;
	bi= ((parseInt(aa)%4)==0);

	if ((a<"1890")||(a>"2050")) 
	{ 
		return false;
	}

	if ((m == "01")||(m == "03")||(m == "05")||(m == "07")||(m == "08")||(m == "10")||(m == "12"))
	{
		if((Math.round(j)>=1)&&(Math.round(j)<=31))
	 	{
 			ok=true;
 		}
	 	else
 		{
 			return false;
 		}
	}
	
	if ((m == "04")||(m == "06")||(m == "09")||(m == "11"))
	{
		if((Math.round(j)>=1)&&(Math.round(j)<=30))
	 	{
 			ok=true;
 		}
	 	else
 		{
 			return false;
 		}
	}
	
	if((m=="02")&&(bi))
	{
		if ((Math.round(j)>=1)&&(Math.round(j)<=29))
		{
			ok=true;
		}
		else
		{
			return false;
		}
	}
	
	if((m=="02")&&(!bi))
	{
		if ((Math.round(j)>=1)&&(Math.round(j)<=28))
		{
			ok=true; 
		}
		else
		{
			return false;
		}
	}
	
	if(m>"12")
	{
		return false; 
	}	
	
	if(m<"01")
	{
		return false; 
	}
	
	var an, mn, jn;
	an  = parseInt(a);
	mn  = parseInt(m);
	jn  = parseInt(j);
	
	if (an > adj)
	{
		return false;
	}
	
	if ((an == adj)&&(mn  > mdj))
	{
		return false;
	}     
	
	if ((an == adj)&&(mn == mdj)&&(jn > jdj))
	{
		return false;
	}       
	obj.value = j + "/" + m + "/" + a;
	return true;
}

function SetCookie(name, value){
	document.cookie=name+"="+escape(value)+";expires="+dateJour.toGMTString();
}

function GetCookieVal(offset){
	var endstr = document.cookie.indexOf(";",offset);
	if(endstr==-1)
		endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie(name){
	var arg=name+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while(i<clen){
		var j=i+alen;
		if(document.cookie.substring(i,j)==arg)
			return GetCookieVal(j);
		i=document.cookie.indexOf("",i)+1;
		if(i==0)break;
	}
	return 0;
}

function ctrCookie(){
	var nbr = GetCookie("nbmedcook");
	if(nbr<6){
		return true;
	}
	else{
		return false;
	}
}


// recupération de la date du jour
var dj = new Date();
jdj = dj.getDate();
mdj = dj.getMonth() + 1;
if(navigator.appName=="Netscape"){
     adj = dj.getYear() + 1900;
}
else {
    adj = dj.getYear();
}

// les fonctions cache et affiche permettent (comme leur nom l'indique)
// de cacher et d'afficher l'image correspondant au bouton valider qui 
// envoi le submit du formulaire afin d'eviter les doubles click.
var nav = navigator.appName ;
function cache(val){
	if(nav.indexOf("Netscape") == 0)
		document.layers[val].visibility="hidden";
	else
		document.all(val).style.visibility="hidden";
}

function affiche(val){
	if(nav.indexOf("Netscape") == 0)
		document.layers[val].visibility="show";
	else
		document.all(val).style.visibility="visible";
}
	

	
// Controle que la zone saisie est alphanumerique
function isAlpha(obj)
{
 
	var c;
	for(var i=0; i<obj.value.length; i++)
	{
		c = obj.value.substring(i, i+1);
		if(c >= "0" && c <= "9" )
		{
			alert(msg002);
			return false;
		}
	}
	return true;
}

// Controle que la zone specifie est bien renseignee
function isEmpty(obj)
{
	if(obj.value == "")
	{	
		//alert("Veuillez renseigner cette information");
		return true;
	}
	return false;
}

// Controle que la date saisie est inférieure au nombre d'annee specifiees
function ctrlDate(obj, year)
{
	if (obj.value=="")return true;
	if (checkDate(obj))
	{
		if (obj.value.length == 8)
		{
			j = obj.value.substring(0,2);
			m = obj.value.substring(2,4);
			a = obj.value.substring(4,8);
			aa= obj.value.substring(6,8);
		}

		if (obj.value.length == 10)
		{
			j = obj.value.substring(0,2);
			m = obj.value.substring(3,5);
			a = obj.value.substring(6,10);
			aa= obj.value.substring(8,10);
		}
		if (adj-a < year) return true;
		if (adj-a == year){
			if (mdj == m) {
				if (jdj < j) {
					return true;
				}
			} else {
				if (mdj < m) {
					return true;
				}
			}
		}
		return false;
	}
}


function majuscule(obj)
{
	obj.value = obj.value.toUpperCase();
	return true;
}

// Controle des dates de naissances (age inférieur a 18 ans) format JJMMAAAA et formattage avec des slash intermediaires
function controleDate(obj)
{
	if(obj.value == "") return true;
	if(!checkDate(obj)){
		obj.focus();
		return false;
	}
	if(ctrlDate(obj,0)){
		alert(msg010);
		obj.focus();
		return false;
	}
	if(ctrlDate(obj,18)){
		alert(msg011);
		obj.focus();
		return false;
	}
	return true;
}


// Controle des dates saisies au format JJMMAAAA et formattage avec des slash intermediaires
function controlDat(obj)
{
	if(obj.value == "") return true;
	if(!checkDate(obj)){
		return false;
	}
	if(ctrlDate(obj,0)){
		alert(msg001);
		return false;
	}
	return true;
}

// Controle des dates saisies au format MMAAAA et formattage avec des slash intermediaires
function controleDate2(obj){

	if(obj.value.length > 5){
		if(obj.value.length == 6)
		{
			m = obj.value.substring(0,2);
			a = obj.value.substring(2,6);
		}

		if(obj.value.length == 7)
		{
			m = obj.value.substring(0,2);
			a = obj.value.substring(3,7);
		}

		if ((a<"1890")||(a>"2050")) 
		{ 
			alert("Année incohérente !");
			return false;
		}

		if ((m < "01")||(m > "12"))
		{
	 		alert("Mois invalide !");
	 		return false;
	 	}
		else
	 	{
	 		ok=true;
	 	}
	
		var an, mn;
		an  = parseInt(a);
		mn  = parseInt(m);
	
		if (an > adj)
		{
			alert(msg001);
			return false;
		}
	
		if ((an == adj)&&(mn  > mdj))
		{
			alert(msg001);
			return false;
		}     
		obj.value = m + "/" + a;
		return true;
	}	
	
	return false;		
}



function controleFormulaire(obj)
{
	//Contrôles de l'adresse e-mail
	if(isEmpty(obj.MAIL_CONTACT)){
		alert(msg031);
		obj.MAIL_CONTACT.focus();
		return false;
	}

	var c=obj.MAIL_CONTACT.value;
	if (c.search("@") == -1){
		alert(msg040);
		obj.MAIL_CONTACT.focus();
		return false;
	}
	
	var d=c.substring(c.indexOf("@"));
	if (d.indexOf(".") < d.indexOf("@")){
		alert(msg041);
		obj.MAIL_CONTACT.focus();
		return false;
	}
	
	if (c.indexOf("@") == 0){
		alert(msg042);
		obj.MAIL_CONTACT.focus();
		return false;
	}
	
	if ((d.indexOf(".") == (d.length - 1)) || (d.indexOf(".") == (d.length - 2)) || (d.indexOf(".") == 1)){
		alert(msg043);
		obj.MAIL_CONTACT.focus();
		return false;
	}

	//Contrôles du téléphone
	if (isEmpty(obj.TEL_CONTACT)){
		alert(msg030);
		obj.TEL_CONTACT.focus();
		return false;
	}

	if(!isNumeric(obj.TEL_CONTACT)){			
		obj.TEL_CONTACT.focus();
		return false;
	}

	if(obj.TEL_CONTACT.value.length < 10){
		alert(msg045);
		obj.TEL_CONTACT.focus();
		return false;
	}

	var prefixe = obj.TEL_CONTACT.value.substring(0,2);
	if((prefixe<"01") || (prefixe>"06")){
		alert(msg046);
		obj.TEL_CONTACT.focus();
		return false;
	}

	if( (!obj.RENSEIGNEMENT_CONTACT[0].checked) && (!obj.RENSEIGNEMENT_CONTACT[1].checked) && (!obj.RENSEIGNEMENT_CONTACT[2].checked)  &&
	    (!obj.RENSEIGNEMENT_CONTACT[3].checked) && (!obj.RENSEIGNEMENT_CONTACT[4].checked) && (!obj.RENSEIGNEMENT_CONTACT[5].checked) ) {
		obj.RENSEIGNEMENT_CONTACT[0].focus();
		alert(msg050);
		return false;
	}

	return true;
}


function controle_Linkeo(obj)
{
	//Contrôles du numéro de téléphone obligatoire
	if (isEmpty(obj.TELEPHONE)){
		alert(msg030);
		obj.TELEPHONE.focus();
		return false;
	}

	if(!isNumeric(obj.TELEPHONE)){			
		obj.TELEPHONE.focus();
		return false;
	}

	if(obj.TELEPHONE.value.length < 10){
		alert(msg045);
		obj.TELEPHONE.focus();
		return false;
	}

	var prefixe = obj.TELEPHONE.value.substring(0,2);
	if((prefixe<"01") || (prefixe>"06")){
		alert(msg046);
		obj.TELEPHONE.focus();
		return false;
	}

	//Contrôles de l'adresse e-mail si elle est saisie ( non obligatoire )
	if(!isEmpty(obj.EMAIL)){

		var c=obj.EMAIL.value;
		if (c.search("@") == -1){
			alert(msg040);
			obj.EMAIL.focus();
			return false;
		}

		var d=c.substring(c.indexOf("@"));
		if (d.indexOf(".") < d.indexOf("@")){
			alert(msg041);
			obj.EMAIL.focus();
			return false;
		}

		if (c.indexOf("@") == 0){
			alert(msg042);
			obj.EMAIL.focus();
			return false;
		}
	
		if ((d.indexOf(".") == (d.length - 1)) || (d.indexOf(".") == (d.length - 2)) || (d.indexOf(".") == 1)){
			alert(msg043);
			obj.EMAIL.focus();
			return false;
		}

	}
	
	return true;
}

function controle_NewsLetter(obj)
{
	//Contrôles de l'adresse e-mail si elle est saisie ( non obligatoire )
	if(!isEmpty(obj)){

		var c=obj.value;
		if (c.search("@") == -1){
			alert(msg040);
			obj.focus();
			return false;
		}

		var d=c.substring(c.indexOf("@"));
		if (d.indexOf(".") < d.indexOf("@")){
			alert(msg041);
			obj.focus();
			return false;
		}

		if (c.indexOf("@") == 0){
			alert(msg042);
			obj.focus();
			return false;
		}
	
		if ((d.indexOf(".") == (d.length - 1)) || (d.indexOf(".") == (d.length - 2)) || (d.indexOf(".") == 1)){
			alert(msg043);
			obj.focus();
			return false;
		}

	}
	
	return true;
}





//---------------------------//
// Pop-ups, etc...
//---------------------------//
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

//function onContextMenu(buttons) {
	//if (navigator.appName == "Netscape" &&
		//buttons.which != 3) return true;

	//alert("Médiatis, vive le crédit !");
	//return false;
//}

// Détournement du menu contextuel
if (navigator.appName != "Netscape") {
	document.oncontextmenu = onContextMenu;
}else{ 
	document.onMouseDown = onContextMenu;
}

 
function Valider_Formulaire(){
	if( isWritten(document.ident.num_carte1,document.ident.num_carte2a,document.ident.num_carte2,document.ident.JOUR,document.ident.MOIS,document.ident.ANNEE) )
	{
		document.ident.num_carte.value = document.ident.num_carte1.value + document.ident.num_carte2a.value + document.ident.num_carte2.value;
//		alert(" Valider_Formulaire / numcarte = " + document.ident.num_carte.value);
		document.ident.action="https://secure.mediatis.fr/espaceclientmed/servlet/rmiMediatis.servlet.ServletIdentificationXML";
		document.ident.submit();
	}
}


function setfocus(obj)
{ //alert ( "obj.name = " + obj.name)
	if ( obj.name=="JOUR")
	{
		if ( obj.value.length > 1 )
		{
			document.ident.MOIS.focus();
		}
	}
	else
	{
		if ( obj.value.length > 1 )
		{
			document.ident.ANNEE.focus();
		}
	}
}


function op_ppr(montant, mensu) {
	str = "http://www.mediatis.fr/next20/site/print_ppr.asp?montant=" + montant + "&mensu=" + mensu;
window.open(str,'', 'width=310, height=640');
}

function op_ppc(typeppc,montant,mensu,duree,teg,cout) {
str = "http://www.mediatis.fr/next20/site/print_ppc.asp?typeppc=" + typeppc + "&montant=" + montant + "&mensu=" + mensu + "&duree=" + duree + "&teg=" + teg + "&cout=" + cout;
	window.open(str,'', 'width=310, height=620');
}



function pops() {
  window.open('http://www.mediatis.fr/voile','', 'width=650 height=550');
}

function popt() {
  window.open('sarko_popup.html','', 'width=418 height=500 scrollbars=yes');
}

function popcne() {
  window.open('cnepop.html','', 'width=300 height=300');
}

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.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;
}

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];}
}
