function PopupPic(sPicURL) { 
				window.open("/Library/popup.php?"+sPicURL, "", "resizable=1,LEFT=200,TOP=100,HEIGHT=150,WIDTH=200");
			}

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 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_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 deleteOption(object,index) {
    object.options[index] = null;
}

function addOption(object,text,value) {
    var defaultSelected = false;
    var selected = false;
    var optionName = new Option(text, value, defaultSelected, selected)
    object.options[object.length] = optionName;
    object.options[object.length-1].selected = false;
    
}

function sortOptions(what,how) {
    var copyOption = new Array();
    for (var i=0;i<what.options.length;i++)
        copyOption[i] = new Array(what[i].value,what[i].text);
	if(how=='valeur'){
	    copyOption.sort(function(a,b) { return a[0]-b[0]; });
	}
	else{
	    copyOption.sort(function(a,b) { return a[1]-b[1]; });
	}
    for (var i=what.options.length-1;i>-1;i--)
        deleteOption(what,i);

    for (var i=0;i<copyOption.length;i++)
        addOption(what,copyOption[i][1],copyOption[i][0])
}

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_validateForm() { //v5.0
  var i,p,q,nm,pswd,test,num,min,max,errors='',args=MM_validateForm.arguments;
  var lg=args[0];
  for (i=1; i<(args.length-2); i+=3) { 
  	test=args[i+2]; 
	val=MM_findObj(args[i]); 
	val2=MM_findObj(args[i+1]);
    if (val) { 
		nm=val.name; 
		if (val2 && val) {
			if ((val2.value=="" && val.value=="") && (test.charAt(0) == 'R')) {
				if(lg=='FR') errors += '- L\'un des champs '+nm+' et '+val2.name+' est obligatoire.\n'; 
				else errors += 'One of the fields '+nm+' and '+val2.name+' is required.\n';
			}
		}
		else if ((val=val.value)!="") {
			if (test.indexOf('isEmail')!=-1) { 
				p=val.indexOf('@');
				if (p<1 || p==(val.length-1)) {
					if(lg=='FR') errors+='- Le champ '+nm+' doit contenir une adresse e-mail correcte.\n';
					else errors += 'The '+nm+' field must be filled with an email address.\n';
				}
      		} 
			else if (test!='R') {
        		if (isNaN(val)) {
					if(lg=='FR') errors+='- Le champ '+nm+' doit contenir un nombre.\n';
					else errors += '- The '+nm+' field must be filled with a number.\n';
				}
        		if (test.indexOf('inRange') != -1) { 
					p=test.indexOf(':');
          			min=test.substring(8,p);
					max=test.substring(p+1);
          			if (val<min || max<val) {
					if(lg=='FR') errors+='- Le champ '+nm+' doit être un nombre entre '+min+' et '+max+'.\n';
					else errors += 'The '+nm+' field must be filled with a number between '+min+' and '+max+'.\n';
				}
    			}
			}
			/*if (pswd != "" && val==pswd) {
				errors+='Le champ '+nm+' est invalide.\n'
			} */
		}
		else if (test.charAt(0) == 'R') {
					if(lg=='FR') errors += '- Le champ '+nm+' est obligatoire.\n'; 
					else errors += 'The '+nm+' field is required.\n';
				}
	}
  } 
  if (errors) {
					if(lg=='FR') alert('Les erreurs suivantes sont apparues :\n\n'+errors); 
					else alert('The following errors appeared:\n\n'+errors); 
				}
  document.MM_returnValue = (errors == '');
}


