/*

  TODO :
          validation numeric fields for precision, primep,    
	  for primep also accept 2^32+1
	  validation strings : take care of \ and of "
	  make external java script (it is more or less common for all input forms)
						  
*/

function trim(myString){
	while((myString.length!=-1) && (myString.charAt(0)==' '))
	myString=myString.substring(1);
	while((myString.length!=-1) && myString.charAt(myString.length-1)==' ')
		myString=myString.substring(0,myString.length-1)
	return myString
	}


function isEmpty(myString){
	var myString=trim(myString);
	if (myString=="") return true;
	return false;
	}

function isValidEmail(myString) {
  if (myString.indexOf(' ')==-1 && 0<myString.indexOf('@')
	     && myString.indexOf('@')+1 < myString.length
	       ) return true;
  else return false;
  }
		 
//check password not empty
function notEmptyPasswd(passwd){
        if (passwd==""){
	                alert("Password is empty");
			return false;
			}
	return true;
	}
		 
		 
function adjustSolvableAlgebras() {
    
    if (document.form.solvableAlgebras.checked){
    document.form.weyl.checked=document.form.solvableAlgebras.checked;
    document.form.weyl.disabled=true;
    document.form.shift.checked=document.form.solvableAlgebras.checked;
    document.form.shift.disabled=true;
    document.form.exterior.checked=document.form.solvableAlgebras.checked;
    document.form.exterior.disabled=true;
    document.form.universal.checked=document.form.solvableAlgebras.checked;
    document.form.universal.disabled=true;
    }
   else {
   document.form.weyl.disabled=false;
   document.form.shift.disabled=false;
   document.form.exterior.disabled=false;
   document.form.universal.disabled=false;
    
   }

}

// for the form that modifies a main system
function validateSelect(form){
if (form.system.value=="none") {
	alert("You did not select");
	form.system.focus();
	return false;
	}
return true;
}
function validMainForm(form){
 	if (isEmpty(form.system.value)){
        	alert("System Name is empty");
		form.system.focus();
		return false;
		}

	if (isEmpty(form.vendor.value)){
		alert("Vendor is empty");
		form.vendor.focus();
		return false;
		}
	if (isEmpty(form.link.value)){
		alert("Link is empty");
		form.link.focus();
		return false;
		}
	if (isEmpty(form.orms.value)){
		alert("ORMS Entry is empty");
		form.orms.focus();
		form.orms.value="---";
		return false;
		}
		
        if (isEmpty(form.name.value)||(form.name.value=="Name Surname")){
	                form.name.value="N.N.";
			                alert("Modified by was not filled!")
					                return false;	
		}
									
	 if (!isValidEmail(form.email.value)){
	        alert("Invalid Email");
		form.email.focus();
		return false;
		}
	// check that email has a correct format something@something.something
	return true;
	}

function validCComparison(form){
    if (form.system1.value==form.system2.value){
         alert("You want to compare a system with itself!");
	 form.system2.focus();
	 return false;
	}
    return true;
    }	

function validNCComparison(form){
    if (form.system1.value==form.system2.value){
      	alert("You want to compare a system with itself!");
	 form.system2.focus();
	 return false;
	 }
	return true;
	}
					       

function validC(form){
    if (isEmpty(form.system.value)){
		alert("System Name is empty");
		form.system.focus();
		return false;
		}
	if (isEmpty(form.packageName.value))
		form.packageName.value=form.system.value;
	
	if (isEmpty(form.link.value)){
		alert("Link is empty");
		form.link.focus();
		return false;
		}
	if (isEmpty(form.name.value)||(form.name.value=="Name Surname")){
		form.name.value="N.N.";
		alert("Modified by was not filled!");
		form.name.focus();
		return false;
		}
		
	if (!isValidEmail(form.email.value)){
		alert("Invalid Email");
		form.email.focus();
		return false;
		}
																		   
	return true;
	}
																				

function validNC(form){
	if (isEmpty(form.system.value)){
		alert("System Name is empty");
		form.system.focus();
		return false;
		}
		
	if (isEmpty(form.packageName.value))
		form.packageName.value=form.system.value;
	
	if (isEmpty(form.link.value)){
		alert("Link is empty");
		form.link.focus();
		return false;
		}	
	if (isEmpty(form.name.value)||(form.name.value=="Name Surname")){
	 	form.name.value="N.N.";
		alert("Modified by was not filled!")
		return false;
		}
									  
	if (!isValidEmail(form.email.value)){
		alert("Invalid Email");
		form.email.focus();
		return false;
		}
	
	return true;
	}	
