//_____________________________________________________________________________
function isEmpty(inputStr) {
	return (inputStr == "" || inputStr == null);
}
//_____________________________________________________________________________
function inRange(inputStr, lo, hi) {
	var num = parseInt(inputStr, 10);
	var ok=!(num < lo || num > hi);
	if(!ok) alert("Please, choose rating value by clicking on a star.");
	return ok;
}
//_____________________________________________________________________________
function isValidRadio(radio) {
    var valid = false;
    for (var i = 0; i < radio.length; i++) {
        if (radio[i].checked)  return true;
    }
    alert("Make a choice from the radio buttons.");
    return false;
}
//_____________________________________________________________________________
function focusIt(theForm, elem) {
    var elem = theForm.elements[elem];
    elem.focus();
	if(elem.type == "text" || elem.type == "textarea") elem.select();
}
//_____________________________________________________________________________
function minLen(theForm, theField, len) {
	var num = theField.value.length;
	if(num < len){
        elem="td_"+theField.name;
        td=ToObj(elem);
		td.color='red';
		alert("The length of this field must be "+len+" caracters at least.");
		focusIt(theForm,theField.name);
		return false;
	}
	td.color='#708FB6';
	return true;
}
//_____________________________________________________________________________
function eCheckChosen(sel) {
    return (sel.selectedIndex != 0);
}
//_____________________________________________________________________________
function CheckChosen(theForm){
   for(var i=1; i<arguments.length; i++){
        elem="td_"+arguments[i].name;
        td=ToObj(elem);
        if (!eCheckChosen(arguments[i])){
            td.color='red';
	        alert("Please make a choice from this list.");
			focusIt(theForm,arguments[i].name);
            return false;
        }
        else td.color='#708FB6';
   }
   return true;
}
//_____________________________________________________________________________
function eCheckSpecialChar(sn){
    var tofind='àâôèéêëçîïùûü';
    var n = tofind.length;
    for(var i=0;i<n;i++){ 
        var ch=tofind.charAt(i);
        var ind=sn.value.indexOf(ch);
        if(ind!=-1) return false;
    }
    return true;
}
//_____________________________________________________________________________
function CheckSpecialChar(theForm){
   for(var i=1; i<arguments.length; i++){
        elem="td_"+arguments[i].name;
        td=ToObj(elem);
        if (!eCheckSpecialChar(arguments[i])){
            td.color='red';
            alert("Field entry is not valid (Specials caraters)");
			focusIt(theForm,arguments[i].name);
            return false;
        }
        else td.color='#708FB6';
   }
   return true;
}
//_____________________________________________________________________________
function eCheckDate(sn) {
	if(sn.value=="") return true;
    y1=1900;
    y2=2100;
    m=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    vdate= sn.value;
    yyyy=vdate.substring(0,4);
    mm=vdate.substring(5,7);
    dd=vdate.substring(8,10);
    sep1=vdate.substring(4,5);
    sep2=vdate.substring(7,8);
    if(yyyy%4==0) m[1]++;
    if((sep1==sep2) && (sep1=='-' || sep1=='/'))
        if(yyyy>y1 && yyyy<y2)
            if(mm>0 && mm<13)
                if(dd>0 && dd<=m[mm-1])
                    return true;
    return false;
}
//_____________________________________________________________________________
function CheckDate(theForm){
   for(var i=1; i<arguments.length; i++){
        elem="td_"+arguments[i].name;
        td=ToObj(elem);
        if (!eCheckDate(arguments[i])){
            td.color='red';
            alert("Field entry is not valid (Date)");
			arguments[i].focusIt(theForm,arguments[i]);
            return false;
        }
        else td.color='#708FB6';
   }
   return true;
}
//_____________________________________________________________________________
function eCheckEMail(sn){
	if(sn.value=="") return true;
    pattern = /(.*){1,}@(.*){2,}\.(.*){2,}/;
    return (pattern.test(sn.value));
}
//_____________________________________________________________________________
function CheckEMail(theForm){
   for(var i=1; i<arguments.length; i++){
        elem="td_"+arguments[i].name;
        td=ToObj(elem);
        if (!eCheckEMail(arguments[i])){
            td.color='red';
            alert("Field entry is not valid (Mail)");
			focusIt(theForm,arguments[i].name);
            return false;
        }
        else td.color='#708FB6';
   }
   return true;
}
//_____________________________________________________________________________
function eCheckAlphaNum(sn){
    pattern = /^[A-Za-z0-9_&nbsp;]/;
    return pattern.test(sn.value);
}
//_____________________________________________________________________________
function CheckAlphaNum(theForm){
   for(var i=1; i<arguments.length; i++){
        elem="td_"+arguments[i].name;
        td=ToObj(elem);
        if (!eCheckAlphaNum(arguments[i])){
            td.color='red';
            alert("Field entry is not valid (AN)");
			focusIt(theForm,arguments[i].name);
            return false;
        }
        else td.color='#708FB6';
   }
   return true;
}
//_____________________________________________________________________________
function eCheckAlpha(sn){
    pattern = /^[A-Za-z_]/;
    return pattern.test(sn.value);
}
//_____________________________________________________________________________
function CheckAlpha(theForm){
   for(var i=1; i<arguments.length; i++){
        elem="td_"+arguments[i].name;
        td=ToObj(elem);
        if (!eCheckAlpha(arguments[i])){
            td.color='red';
            alert("Field entry is not valid (Alphabetique)");
			focusIt(theForm,arguments[i].name);
            return false;
        }
        else td.color='#708FB6';
   }
   return true;
}
//_____________________________________________________________________________
function eCheckNum(sn){
    pattern = /^[0-9]*$/;
    return pattern.test(sn.value);
}
//_____________________________________________________________________________
function CheckNum(theForm){
   for(var i=1; i<arguments.length; i++){
        elem="td_"+arguments[i].name;
        td=ToObj(elem);
        if (!eCheckNum(arguments[i])){
            td.color='red';
            alert("Invalid number");
			focusIt(theForm,arguments[i].name);
            return false;
        }
        else td.color='#708FB6';
   }
   return true;
}
//_____________________________________________________________________________
function CheckRequiredFields(theForm){
   var re = /.+/;
   for(var i=1; i<arguments.length; i++){
        elem="td_"+arguments[i].name;
        td=ToObj(elem);
		if(!arguments[i].value.match(re)){
            td.color='red';
            alert("This field is required");
			focusIt(theForm,arguments[i].name);
            return false;
        }
        else td.color='#708FB6';
   }
   return true;
}
//_____________________________________________________________________________
function CheckPasswords(theForm){
    if(arguments[1].value!=arguments[2].value){
        alert("Passwords don't matchs");
        arguments[2].value="";
		focusIt(theForm,arguments[2].name);
        return false;
    }
    return true;
}
//_____________________________________________________________________________
function CheckChecked(theForm){
   for(var i=0; i<arguments.length; i++){
        if(arguments[i].type != "checkbox") continue;
        elem="td_"+arguments[i].name;
        td=ToObj(elem);
        if(arguments[i].checked==false){
            td.color='red';
            alert("The Checkbox "+arguments[i].name+" must be checked.");
            return false;
        }
   }
   return true;
}
//_____________________________________________________________________________
function CheckForm_cfp(theForm){
if(CheckRequiredFields(theForm, theForm.titre,theForm.about, theForm.dfrom, theForm.dto, theForm.ddead,theForm.city,theForm.mains_topics,theForm.imp_dates,theForm.url))
	if(CheckChosen(theForm, theForm.type1, theForm.country))
	if(CheckDate(theForm,theForm.dfrom,theForm.dto,theForm.ddead))
	if(minLen(theForm,theForm.about, 25))
	if(CheckChecked(theForm.policy))
	return true;
	return false;
}
//_____________________________________________________________________________
function CheckForm_ann(theForm){
	if(CheckRequiredFields(theForm, theForm.titre,theForm.org_inst, theForm.description, theForm.ddead,theForm.url,theForm.contact))
	if(CheckChosen(theForm, theForm.country, theForm.domain))
	if(CheckDate(theForm, theForm.ddead))
	if(minLen(theForm,theForm.description, 25))
	if(CheckChecked(theForm.policy))
	return true;
	return false;
}
//_____________________________________________________________________________
function CheckForm_userstmp(theForm){
	if(CheckSpecialChar(theForm, theForm.Login))
	if(CheckRequiredFields(theForm, theForm.First_Name,theForm.Last_Name,theForm.Country,theForm.City,theForm.SP,theForm.ZPC,theForm.Email,theForm.Niveau,theForm.Login,theForm.Experience))
	if(CheckEMail(theForm, theForm.Email))
	if(CheckAlphaNum(theForm, theForm.Login))
	if(CheckChecked(theForm, theForm.policy))
	return true;
	return false;
}
//_____________________________________________________________________________
function CheckForm_userinfo(theForm){
	if(CheckSpecialChar(theForm, theForm.Login))
	if(CheckRequiredFields(theForm, theForm.First_Name,theForm.Last_Name,theForm.Country,theForm.City,theForm.SP,theForm.ZPC,theForm.Email,theForm.Niveau,theForm.Login,theForm.Experience))
	if(CheckEMail(theForm, theForm.Email))
	if(CheckAlphaNum(theForm, theForm.Login))
	return true;
	return false;
}
//_____________________________________________________________________________
function CheckForm_acr(theForm){
	if(CheckRequiredFields(theForm, theForm.type,theForm.title,theForm.keywords,theForm.users))
	return true;
	return false;
}
//_____________________________________________________________________________
//_____________________________________________________________________________
//_____________________________________________________________________________
//_____________________________________________________________________________

