// JavaScript Document

var errorColor = '#ffaaaa';
var okColor = '#eeeeee';

function validateAfm (afm) {
    var a, b, c, d, e, f, g, h, i, s, y;
    var ret;

    if (afm.value != "" && afm.value.length != 9) {
		afm.style.backgroundColor=errorColor;
    	window.alert('Παρουσιάστηκαν τα παρακάτω προβλήματα:\n - Tο ΑΦΜ πρέπει να έχει 9 ψηφία.')
	  
      return false;
    }
  
    a = afm.value.charAt(0);
    b = afm.value.charAt(1);
    c = afm.value.charAt(2);
    d = afm.value.charAt(3);
    e = afm.value.charAt(4);
    f = afm.value.charAt(5);
    g = afm.value.charAt(6);
    h = afm.value.charAt(7);
    i = afm.value.charAt(8);
  
    s = a * 256 + b * 128 + c * 64 + d * 32 + e * 16 + f * 8 + g * 4 + h * 2;
    y = s % 11;
  
    ret = true;
    if ((y == 10) && (i != 0)) ret = false;
    if ((y < 10) && (i != y)) ret = false;
  
    if (ret == false) {
		afm.style.backgroundColor=errorColor;
     	window.alert('Παρουσιάστηκαν τα παρακάτω προβλήματα:\n - Tο ΑΦΜ που εισάγατε δεν είναι σωστό.');	 	
    }else{
		afm.style.backgroundColor=okColor;
	}
	
  
    return ret;
}


function validateForm() {

  var i,p,q,nm,restr,minChars,errors='',args=validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) {
	//START FOR
	val=findObj(args[i]);	
	minChars=args[i+1];
  	restr=args[i+2];
	try{
		if (val) {
			nm=val.id;
			if ((vl=val.value)!="") {
				if (restr.indexOf('isEmail')!=-1) {
					p=vl.indexOf('@');
					q=vl.indexOf('.');
					if (p<1 || p==(length-1) || q<1 || q==(length-1)) {
						errors+=' - Το πεδίο \"'+nm+'\" πρέπει να περιέχει το email σας.\n';
						val.style.backgroundColor=errorColor;
					}
				}else if (restr.indexOf('isNum')!=-1) {
					p=isNaN(vl);
					if (p){
						errors+=' - Το πεδίο \"'+nm+'\" πρέπει να περιέχει αριθμητική τιμή.\n';
						val.style.backgroundColor=errorColor;
					}
				}else if (vl.length<minChars){
					errors+=' - Το πεδίο \"'+nm+'\" δεν μπορεί να περιέχει λιγότερο από '+minChars+' χαρακτήρες .\n';
					val.style.backgroundColor=errorColor;
				}
			}else if (restr.charAt(0) == 'R') {
				errors += ' - Το πεδίο \"'+nm+'\" είναι προαπαιτούμενο.\n'; 
				val.style.backgroundColor=errorColor;			
			}
		}
	}catch(e){
		//FOR OPTIONLISTS...
		var lstObjs,k,j,tmpSel=false;
		for(k=0;k<document.forms.length;k++){
			if(lstObjs=document.forms[k].elements[args[i]]) break;
		}		
		for(j=0;j<lstObjs.length;j++){
			tmpSel=tmpSel||lstObjs[j].checked;
		} 
		if(!tmpSel){
			errors += ' - Πρέπει να επιλέξετε τουλάχιστο ένα από: \"'+lstObjs[0].id+'\".\n';
			lstObjs[0].style.backgroundColor=errorColor;
		}else{
			lstObjs[0].style.backgroundColor='none';
		}
	}
	
	if(!(errors.indexOf(nm)>=0) && val.style){
		if (val.style.backgroundColor)	val.style.backgroundColor=okColor;		
	}
	//END FOR
  }
  if (errors) alert('Παρουσιάστηκαν τα παρακάτω προβλήματα:\n'+errors);

  document.returnValue = (errors == '');
}

function requireAtLeastOne(){
	var args=requireAtLeastOne.arguments;
	var searchStuff="";
	for (i=1; i<args.length; i++) {
		searchStuff+=document.forms[args[0]][args[i]].value;
	}
	if (searchStuff==""){
		for (i=1; i<args.length; i++) {
			document.forms[args[0]][args[i]].style.backgroundColor=errorColor;
		}
		alert("Πρέπει να εισάγετε κάποιο ελάχιστο κείμενο.");		
		document.returnValue=false;
	}else{
		for (i=1; i<args.length; i++) {
			document.forms[args[0]][args[i]].style.backgroundColor=okColor;
		}
		document.returnValue=true;
	}
}

function comparePasswords(pass1,pass2){
	  if (findObj(pass1).value!=findObj(pass2).value){
			alert("Οι κωδικοί που εισάγατε διαφέρουν.");
			return false;
			}else return true;		
}

