function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		bandeau2_GERARD_FUSTIER_over = newImage("images/bandeau2_GERARD-FUSTIER-ove.jpg");
		bandeau2_Les_Cannes___un_monde___d_couv_over = newImage("images/bandeau2_Les-Cannes---un-16.jpg");
		bandeau2_Vente_over = newImage("images/bandeau2_Vente-over.jpg");
		bandeau2_Achat_bandeau2_Salons_et_manifestations_over = newImage("images/bandeau2_Achat-bandeau2_Sal.jpg");
		bandeau2_Achat_over = newImage("images/bandeau2_Achat-over.jpg");
		bandeau2_Evaluation_bandeau2_Salons_et_manifestations_over = newImage("images/bandeau2_Evaluation-bandeau.jpg");
		bandeau2_Evaluation_over = newImage("images/bandeau2_Evaluation-over.jpg");
		bandeau2_____Canes___a_world_to_discove_over = newImage("images/bandeau2_----Canes---a-w-41.jpg");
		bandeau2_Salons_et_manifestations_over = newImage("images/bandeau2_Salons-et-manif-50.jpg");
		bandeau2_Salons_et_manifestations_over052 = newImage("images/bandeau2_Salons-et-manif-52.jpg");
		bandeau2_Salons_et_manifestations_over054 = newImage("images/bandeau2_Salons-et-manif-54.jpg");
		bandeau2_Salons_et_manifestations_over056 = newImage("images/bandeau2_Salons-et-manif-56.jpg");
		preloadFlag = true;
	}
}


function check_date(field){
var checkstr = "0123456789";
var DateField = field;
var Datevalue = "";
var DateTemp = "";
var seperator = "/";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
   err = 0;
   DateValue = DateField.value;
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) 
	  {
	  if (DateValue.substr(4,2) > 30) {
		DateValue = DateValue.substr(0,4) + '19' + DateValue.substr(4,2);
		}
		else {
		DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2);
		}
	  }
   if (DateValue.length != 8) {
      err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   month = DateValue.substr(2,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* Validation of day*/
   day = DateValue.substr(0,2);
   if (day < 1) {
     err = 22;
   }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) {
      DateField.value = day + seperator + month + seperator + year;
      return(true);
   }
   /* Error-message if err != 0 */
   else {
      return(false);
      //DateField.select();
	  //DateField.focus();
   }
}


function replaceChars(entry,out,add) {
  //out = "."; // replace this
  //add = ","; // with this
  temp = "" + entry; // temporary holder
  while (temp.indexOf(out)>-1) {
      pos= temp.indexOf(out);
      temp = "" + (temp.substring(0, pos) + add +
      temp.substring((pos + out.length), temp.length));
  }
  return temp;
}
function isDigit(num) {
    var string="1234567890";
    if (string.indexOf(num) != -1) {
        return true;
        }
    return false;
    }
function isNumeric(val) {
    var dp = false;
    for (var i=0; i < val.length; i++) {
        if (!isDigit(val.charAt(i))) {
            if (val.charAt(i) == ',') {
                if (dp == true) { return false; } // already saw a decimal point
                else { dp = true; }
                }
            else {
                return false;
                }
            }
        }
    return true;
    }
function isInteger(val) {
    if((val=='') || (val==null)) {
		return true;
    }
    else {
    for (var i=0; i < val.length; i++) {
        if (!isDigit(val.charAt(i))) { return false; }
        }
    }
    return true;
    }
function prepareSaveFormItem(from,to) {
    var newOptionItem;
    for (var i=0; i<from.options.length; i++) {
        var o = from.options[i];
        newOptionItem = new Option( o.text, o.value, false, false);
        to.options[to.options.length] = newOptionItem;
        }
    for (var i=0; i<to.options.length; i++) {
        to.options[i].selected=true;
        }
}
    
function selectAllOptions(obj) {
    for (var i=0; i<obj.options.length; i++) {
        obj.options[i].selected = true;
        }
    }
    
function moveSelectedOptions(from,to) {
    // Move them over
    var newOptionItem
    for (var i=0; i<from.options.length; i++) {
        var o = from.options[i];
        if (o.selected) {
            newOptionItem = new Option( o.text, o.value, false, false);
            to.options[to.options.length] = newOptionItem;
            }
        }
    // Delete them from original
    for (var i=(from.options.length-1); i>=0; i--) {
        var o = from.options[i];
        if (o.selected) {
            from.options[i] = null;
            }
        }
    from.selectedIndex = -1;
    to.selectedIndex = -1;
    }

function moveAllOptions(from,to) {
    for (var i=0; i<from.options.length; i) {
        from.options[i].selected=true;
        moveSelectedOptions(from,to);
        }
    }

function swapOptions(obj,i,j) {
    var o = obj.options;
    var i_selected = o[i].selected;
    var j_selected = o[j].selected;
    var temp = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
    var temp2= new Option(o[j].text, o[j].value, o[j].defaultSelected, o[j].selected);
    o[i] = temp2;
    o[j] = temp;
    o[i].selected = j_selected;
    o[j].selected = i_selected;
    }

function moveOptionUp(obj) {
    // If > 1 option selected, do nothing
    var selectedCount=0;
    for (i=0; i<obj.options.length; i++) {
        if (obj.options[i].selected) {
            selectedCount++;
            }
        }
    if (selectedCount > 1) {
        return;
        }
    // If this is the first item in the list, do nothing
    var i = obj.selectedIndex;
    if (i == 0) {
        return;
        }
    swapOptions(obj,i,i-1);
    obj.options[i-1].selected = true;
    }

function moveOptionDown(obj) {
    // If > 1 option selected, do nothing
    var selectedCount=0;
    for (i=0; i<obj.options.length; i++) {
        if (obj.options[i].selected) {
            selectedCount++;
            }
        }
    if (selectedCount > 1) {
        return;
        }
    // If this is the last item in the list, do nothing
    var i = obj.selectedIndex;
    if (i == (obj.options.length-1)) {
        return;
        }
    swapOptions(obj,i,i+1);
    obj.options[i+1].selected = true;
    }
	
function emailCheck(emailStr) {
var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|COM|NET|ORG|EDU|INT|MIL|GOV|ARPA|BIZ|AERO|NAME|COOP|INFO|PRO|MUSEUM)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
    alert("L\'adresse EMail est incorrecte (vérifier le @ et le \'.\')");
	return false;
}
var user=matchArray[1];
var domain=matchArray[2];
for (i=0; i<user.length; i++) {
	if (user.charCodeAt(i)>127) {
        alert("Le nom d\'utilisateur contient des caratères invalides.");
		return false;
	}
}
for (i=0; i<domain.length; i++) {
	if (domain.charCodeAt(i)>127) {
        alert("Le nom de domaine contient des caratères invalides.");
		return false;
	}
}
if (user.match(userPat)==null) {
    alert("Le nom d\'utilisateur n\'est pas valide.");
	return false;
}
var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
	for (var i=1;i<=4;i++) {
		if (IPArray[i]>255) {
            alert("L\'adresse IP est invalide.");
			return false;
		 }
	}
	return true;
}
var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
	if (domArr[i].search(atomPat)==-1) {
        alert("Le nom de domaine n\'est pas valide.");
		return false;
	}
}
if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
	alert("L\'email doit se terminer par un domaine connu ou les deux lettres du pays.");
	return false;
}
if (len<2) {
    alert("L\'extention de domaine est manquante.");
	return false;
}
return true;
}

function emailCheckus(emailStr) {
var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|COM|NET|ORG|EDU|INT|MIL|GOV|ARPA|BIZ|AERO|NAME|COOP|INFO|PRO|MUSEUM)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
    alert("The email address is not correct(check the @ and the \'.\')");
	return false;
}
var user=matchArray[1];
var domain=matchArray[2];
for (i=0; i<user.length; i++) {
	if (user.charCodeAt(i)>127) {
        alert("The user name is not correct.");
		return false;
	}
}
for (i=0; i<domain.length; i++) {
	if (domain.charCodeAt(i)>127) {
        alert("The domain name is not correct.");
		return false;
	}
}
if (user.match(userPat)==null) {
    alert("The user name is not valid.");
	return false;
}
var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
	for (var i=1;i<=4;i++) {
		if (IPArray[i]>255) {
            alert("The IP address is not valid.");
			return false;
		 }
	}
	return true;
}
var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
	if (domArr[i].search(atomPat)==-1) {
        alert("The domain name is not valid.");
		return false;
	}
}
if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
	alert("The email must finish with a known domain or the two letters of a country.");
	return false;
}
if (len<2) {
    alert("The domain extension is missing.");
	return false;
}
return true;
}
