function emailCheck(emailStr)
{
// checks if the e-mail address is valid
	var emailPat = /^(\".*\"|[A-Za-z]\w*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]\w*(\.[A-Za-z]\w*)+)$/;
	var matchArray = emailStr.match(emailPat);
	if (matchArray == null)
	{
//		alert("Your email address seems incorrect.  Please try again (check the '@' and '.'s in the email address)");
		return false;
	}
// make sure the IP address domain is valid
	var IPArray = matchArray[2].match(/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/);
	if (IPArray != null)
	{
		for (var i=1;i<=4;i++)
		{
			if (IPArray[i]>255)
			{
//				alert("Destination IP address is invalid!")
				return false;
			}
   		}
	}
	return true;
}

function ValidatePloia(theForm, s1, s2, t1, msg1, msg2, msg3)
{
	if (ValidateS1(theForm, s1, msg1)) {
		if (ValidateS1(theForm, s2, msg2)) {
			if (CompareS(theForm, s1, s2)) {
				return ValidateT1(theForm, t1, msg3)
			} else {
				return false; }
		} else {
			return false; }	
	} else {
		return false; }
}

function ValidateKtel(theForm, s1, s2, msg1, msg2)
{
	if (ValidateS1(theForm, s1, msg1)) {
		if (ValidateS1(theForm, s2, msg2)) {
			return CompareS(theForm, s1, s2)
		} else {
			return false; }	
	} else {
		return false; }
}

function CompareS(theForm, s1, s2)
{
	var obj1 = eval(theForm + '.' + s1);
	var obj2 = eval(theForm + '.' + s2);	
	if (obj1.selectedIndex == obj2.selectedIndex) {
		alert('Επέλεξε διαφορετικό προορισμό');
		obj2.focus();
		return false;
	}
	return true
}

function ValidateCheckBoxes(theForm, s1, s2, ch, msg1, msg2)
{
	if (ValidateS1(theForm, s1, msg1)) {
		if (ValidateS1(theForm, s2, msg2)) {
			if (CompareS(theForm, s1, s2)) {
				return ValidateCheck(theForm, ch)
			} else {
				return false; }	
		} else {
			return false; }	
	} else {
		return false; }
}

function ValidateCheck(theForm, ch)
{
	var obj1 = eval(theForm + '.' + ch + '1');
	var obj2 = eval(theForm + '.' + ch + '2');
	var obj3 = eval(theForm + '.' + ch + '3');
	var obj4 = eval(theForm + '.' + ch + '4');
	var obj5 = eval(theForm + '.' + ch + '5');
	var obj6 = eval(theForm + '.' + ch + '6');
	var obj7 = eval(theForm + '.' + ch + '7');
	if (obj1.checked == false & obj2.checked == false & obj3.checked == false & obj4.checked == false & obj5.checked == false & obj6.checked == false & obj7.checked == false) {
		alert('Επίλεξε τουλάχιστον μία ημέρα');
		return false;
	}
	return true
}


function ValidateS2(theForm, s1, s2, msg1, msg2)

{
	if (ValidateS1(theForm, s1, msg1)) {
		return ValidateS1(theForm, s2, msg2)
	} else {
		return false; }
}

function ValidateS1(theForm, s1, msg1)
{
	var obj = eval(theForm + '.' + s1);
	if (obj.selectedIndex == '0')
	{
		alert("Επίλεξε " + msg1);
		obj.focus();
		return false;
	}
	return true;
}

function ValidateS1_EN(theForm, s1, msg1)
{
	var obj = eval(theForm + '.' + s1);
	if (obj.selectedIndex == '0')
	{
		alert("Choose a " + msg1);
		obj.focus();
		return false;
	}
	return true;
}

function ValidateS1_FR(theForm, s1, msg1)
{
	var obj = eval(theForm + '.' + s1);
	if (obj.selectedIndex == '0')
	{
		alert("Choisir une " + msg1);
		obj.focus();
		return false;
	}
	return true;
}

function ValidateS2_EN(theForm, s1, s2, msg1, msg2)
{
	if (ValidateS1_EN(theForm, s1, msg1)) {
		return ValidateS1_EN(theForm, s2, msg2)
	} else {
		return false; }
}

function ValidateS2_FR(theForm, s1, s2, msg1, msg2)
{
	if (ValidateS1_FR(theForm, s1, msg1)) {
		return ValidateS1_FR(theForm, s2, msg2)
	} else {
		return false; }
}

function ValidateT(theForm, t, number)
{
	var i;
	for (i=1; i<=number; i++) 
	{
		var obj = eval(theForm + '.' + t + i);
		if (obj.value != '')
		{
		return true;		
		}
	}	
	alert("Παρακαλώ συμπληρώστε τουλάχιστον ένα πεδίο");
	return false;
}


function ValidateT1(theForm, t1, msg1)
{
	var obj = eval(theForm + '.' + t1);
	if (obj.value == '')
	{
		alert("Παρακαλώ συμπληρώστε το πεδίο " + msg1);
		obj.focus();
		return false;
	}
	return true;
}

function ValidateT2(theForm, t1, t2, msg1, msg2)
{
	if (ValidateT1(theForm, t1, msg1)) {
		return ValidateT1(theForm, t2, msg2)
	} else {
		return false; }
}

function ValidateT3(theForm, t1, t2, t3, msg1, msg2, msg3)
{
	if (ValidateT1(theForm, t1, msg1)) {
		return ValidateT2(theForm, t2, t3, msg2, msg3)
	} else {
		return false; }
}

function ValidateT4(theForm, t1, t2, t3, t4, msg1, msg2, msg3, msg4)
{
	if (ValidateT1(theForm, t1, msg1)) {
		return ValidateT3(theForm, t2, t3, t4, msg2, msg3, msg4)
	} else {
		return false; }
}

function ValidateT5(theForm, t1, t2, t3, t4, t5, msg1, msg2, msg3, msg4, msg5)
{
	if (ValidateT1(theForm, t1, msg1)) {
		return ValidateT4(theForm, t2, t3, t4, t5, msg2, msg3, msg4, msg5)
	} else {
		return false; }
}

function Validate(theForm)
{
	okFKomma = false;
	strKomma = new Array(5)
	strKomma[0] = "ΠΑΣΟΚ"
	strKomma[1] = "ΝΔ"
	strKomma[2] = "ΚΚΕ"
	strKomma[3] = "ΣΥΝ"
	strKomma[4] = "ΔΗΚΚΙ"
	
	for (i=0;i<5;i++)
	{
		if (theForm.FKomma[i].checked == true)
		{
			okFKomma = true;
			KommaID = i;
		}
	}
	if (okFKomma == false) 
	{
		alert("Παρακαλώ επιλέξτε το κόμμα που θα κερδίσει τις εκλογές.");
		return (false);
	}

	if (theForm.Name.value == "")
	{
		alert("Παρακαλώ συμπληρώστε το πεδίο \"Ονοματεπώνυμο\".");
		theForm.Name.focus();
		return (false);
	}
	if (theForm.Name.value.length >50)
	{
		alert("Το πεδίο \"Ονοματεπώνυμο\" δεν μπορεί να περιέχει πάνω από 50 χαρακτήρες.");
		theForm.Name.focus();
		return (false);
	}

	if (theForm.City.value == "")
	{
		alert("Παρακαλώ συμπληρώστε το πεδίο \"Πόλη\".");
		theForm.City.focus();
		return (false);
	}
	if (theForm.Name.value.length >50)
	{
		alert("Το πεδίο \"Πόλη\" δεν μπορεί να περιέχει πάνω από 50 χαρακτήρες.");
		theForm.City.focus();
		return (false);
	}

	if (theForm.Tel.value == "")
	{
		alert("Παρακαλώ συμπληρώστε το πεδίο \"Τηλέφωνο\".");
		theForm.Tel.focus();
		return (false);
	}
	if (theForm.Name.value.length >50)
	{
		alert("Το πεδίο \"Τηλέφωνο\" δεν μπορεί να περιέχει πάνω από 50 χαρακτήρες.");
		theForm.Tel.focus();
		return (false);
	}

	if (theForm.Email.value != "")
	{
		if (emailCheck(theForm.Email.value) != true)
		{
			alert("Το πεδίο \"Email\" δεν περιέχει σωστά δεδομένα.");
			theForm.Email.focus();
			return (false);
		}
	}

	if (theForm.Agree.checked == false)
	{
		alert("Διάβαστε τους \"ορους συμετοχής στην διαγωνισμό\" και δήλωστε ότι συμφωνείτε για να συνεχίσετε.");
		return (false);
	}

	msg = "Εχεις επιλέξει τα παρακάτω στοιχεία:\n\n"
	msg = msg + "Α. 1o κόμμα " + strKomma[KommaID] +"\n"
	msg = msg + "Β. διαφορά του 1ου κόμματος από το 2ο \"" + theForm.Diff12.value +"\"\n\n"
	msg = msg + "ΠΡΟΣΩΠΙΚΑ ΣΤΟΙΧΕΙΑ \n"
	msg = msg + "Ονοματεπώνυμο: " + theForm.Name.value +"\n"
	msg = msg + "Πόλη: " + theForm.City.value + "\n"
	msg = msg + "Τηλέφωνο: " + theForm.Tel.value +"\n"
	msg = msg + "Email: "  + theForm.Email.value +"\n\n"
	msg = msg + "Πατήστε ΟΚ εάν τα παπαράνω στοιχεία είναι σωστά ή άκυρο (Cancel) εάν όχι."
	
	if (confirm(msg))
		return (true);
	return (false)
}