function leftTrim(strObj){
	if(typeof(strObj)=="string" && strObj.length>0){
		stringLength = strObj.length;
		for(i=0;i<stringLength;i++){
			if(strObj.substr(i,1)!=" ") {strObj = strObj.substr(i); break;}
		}
	}
	return strObj;
}
//**************************************************************************
function rightTrim(strObj){
	if(typeof(strObj)=="string" && strObj.length>0){
		stringLength = strObj.length;
		for(i=stringLength-1;i>-1;i--){
			if(strObj.substr(i,1)!=" ") {strObj = strObj.substring(0, i+1); break;}
		}
	}
	return strObj;
}
//**************************************************************************
function trim(strObj){
	if(typeof(strObj)=="string" && strObj.length>0){
		strObj = rightTrim(strObj);
		strObj = leftTrim(strObj);
	}
	return strObj;
}
//**************************************************************************
function NumberType(key) {
	//return ((key==13) || (key > 47 && key < 58)) ? true : false;		'Bugs in mozilla
	return (((key > 31 && key < 48) || (key > 57)) ? false : true);
	//return ((key > 57 && key < 127) ? false : true);
}
//**************************************************************************

//**************************************************************************
function CharType(key) {
	//return ((key > 32 && key < 65) ? false : true);				'Bugs in mozilla
	return ((key > 47 && key < 65) ? false : true);
}
//**************************************************************************

//**************************************************************************
function DateType(key, txt) {
	var IsSeparator = false;
	sepChars = new Array(32, 45, 47)

	for(i in sepChars) {
		if(txt !=="" && sepChars[i]==key) IsSeparator = true;
	}

	if((key==13) || (key > 47 && key < 58) || IsSeparator) {
		return true;
	} else {
	return event.returnValue=false;
	}

}
//**************************************************************************

//**************************************************************************
function isDateForm(field) {

var dateMask1 = new RegExp("^\\d{1,2}\\-\\d{1,2}\\-\\d{2}$");
var dateMask2 = new RegExp("^\\d{1,2}\\-\\d{1,2}\\-\\d{4}$");
var dateMask3 = new RegExp("^\\d{1,2}\\/\\d{1,2}\\/\\d{2}$");
var dateMask4 = new RegExp("^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$");
var dateMask5 = new RegExp("^\\d{1,2}\\ \\d{1,2}\\ \\d{2}$");
var dateMask6 = new RegExp("^\\d{1,2}\\ \\d{1,2}\\ \\d{4}$");

if(field.value.length) {
	for(i=1; i < 7; i++) {
	regexpr = eval("dateMask" + i)

		if (regexpr.test(field.value) &&  isValidDate(field)) {
			return true;
		}
	}
			alert("Η ΗΜ/ΝΙΑ μπορεί να έχει τις εξής μορφές: \n \n" + String.fromCharCode(9) + "1. H[H]-M[M]-EE \n" + String.fromCharCode(9) + "2. H[H]-M[M]-EEEE \n" + String.fromCharCode(9) + "3. H[H]/M[M]/EE \n" + String.fromCharCode(9) + "4. H[H]/M[M]/EEEE \n" + String.fromCharCode(9) + "5. H[H] M[M] EE \n" + String.fromCharCode(9) + "6. H[H] M[M] EEEE");
			field.focus();
			field.select();
			return false;
}
}
//**************************************************************************

//**************************************************************************
function isValidDate(field) {
var str = field.value;
var splitChrArr = Array("-","/"," ");
var splitChar;

	for(i=0;i<splitChrArr.length;i++){
		if (str.indexOf(splitChrArr[i])!=-1) splitChar = splitChrArr[i];
	}
var strTested = str.split(splitChar);
if(strTested.length==2) {strTested.length = 3; strTested[2] = strTested[1];strTested[1] = strTested[0]; strTested[0] = 1}
var dt = new Date(strTested[2], strTested[1]-1, strTested[0]);

	if(dt=='NaN' || (strTested[1]-1)>11 || strTested[0]>31) {
		alert("ΛΑΝΘΑΣΜΕΝΗ ΜΟΡΦΗ ΗΜΕΡΟΜΗΝΙΑΣ");
		return false;
	}
	else return true;

}
//**************************************************************************

//**************************************************************************
function grDate(str) {

var splitChrArr = Array("-","/"," ");
var splitChar;

	for(i=0;i<splitChrArr.length;i++){
		if (str.indexOf(splitChrArr[i])!=-1) splitChar = splitChrArr[i];
	}
var strTested = str.split(splitChar);
var dt = new Date(strTested[2], strTested[1]-1, strTested[0]);

	if(dt=='NaN' || strTested[1]>11 || strTested[0]>31) {
		alert("ΛΑΝΘΑΣΜΕΝΗ ΜΟΡΦΗ ΗΜΕΡΟΜΗΝΙΑΣ");
		return false;
	}
	else return dt;

}
//**************************************************************************

//**************************************************************************
function emailType(key, field) {

if(key!=32) {
	if(field.value.length==0 && key!=64) {
			return true;
	}

	if(field.value.length > 0) {
		if(field.value.indexOf("@") < 0) return true;
		if(field.value.indexOf("@") > 0 && key!=64) return true;
	}

}

return false;

}
//**************************************************************************

function IsEmailForm(field) {

if(field.value.length > 0) {
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\"[^\"\\]+\"))@((\[(([0-1]?[0-9]{1,2}\.)|(2[0-4][0-9]\.)|(25[0-5]\.)){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
    validMail = re.test(field.value);

	if(validMail) return true;
	alert("Προσοχή!" + String.fromCharCode(9) + " \n Λανθασμένη μορφή email..\n \n [Ορθή μορφή:userName@domainName]");
	field.focus();
	field.select();
	return false;
}

}
//=========================================================================
function valid_email() {

frm = document.forms[0];
field = frm.txt_Email;

if(field.value.length > 0) {
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\"[^\"\\]+\"))@((\[(([0-1]?[0-9]{1,2}\.)|(2[0-4][0-9]\.)|(25[0-5]\.)){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
    validMail = re.test(field.value);

	if(validMail) return true;
}

alert("Προσοχή!" + String.fromCharCode(9) + " \n Λανθασμένη μορφή email..\n \n [Ορθή μορφή:userName@domainName]");
field.focus();
field.select();
return false;

}
//=========================================================================
function checkPass(){

frm = document.forms[0];

if (frm.pwd_Pwd_Repeat.value==frm.pwd_Pwd.value) return true; else {alert("Έχετε πληκτρολογήσει διαφορετικό κωδικό στα πεδία:\n\"Κωδικός Πρόσβασης\" και \"Επανάληψη κωδικού\"!");frm.pwd_Pwd_Repeat.select(); return false;}
}
//=========================================================================
function checkMemberData(initRegistration){

var FName, LName, Company, Job, Phone, Email, UserName, Password, FName2, LName2
var frm = document.forms[0];
var messages = new Array("Το πεδίο \"Όνομα\" δε μπορεί να είναι κενό!", "Το πεδίο \"Επώνυμο\" δε μπορεί να είναι κενό!", "Το πεδίο \"Εταιρία\" δε μπορεί να είναι κενό!", "Το πεδίο \"Θέση\" δε μπορεί να είναι κενό!", "Το πεδίο \"Τηλέφωνο\" δε μπορεί να είναι κενό!", "Το πεδίο \"email\" δε μπορεί να είναι κενό!", "Το πεδίο \"Όνομα Χρήστη\" δε μπορεί να είναι κενό!", "Το πεδίο \"Κωδικός Πρόσβασης\" δε μπορεί να είναι κενό!\n\nΕπιπλέον τα πεδία \"Κωδικός Πρόσβασης\" & \"Επανάληψη κωδικού\"\nπρέπει να είναι ακριβώς τα ίδια!", "Το πεδίο \"Προσφ. Επών.\" δε μπορεί να είναι κενό!", "Το πεδίο \"Προσφ. Όν.\" δε μπορεί να είναι κενό!");
	FName = frm.txt_FName;
	if (!FName || !FName.value.length) {alert(messages[0]); FName.focus(); return false;}

	LName = frm.txt_LName;
	if (!LName || !LName.value.length) {alert(messages[1]); LName.focus(); return false;}

	LName2 = frm.txt_LName2;
	if (LName2 && !LName2.value.length) {alert(messages[8]); LName2.focus(); return false;}

	FName2 = frm.txt_FName2;
	if (FName2 && !FName2.value.length) {alert(messages[9]); FName2.focus(); return false;}

	Company = frm.txt_Company;
	if (!Company || !Company.value.length) {alert(messages[2]); Company.focus(); return false;}

	Job = frm.txt_Job;
	if (!Job || !Job.value.length) {alert(messages[3]); Job.focus(); return false;}

	Phone = frm.txt_Phone;
	if (!Phone || !Phone.value.length) {alert(messages[4]); Phone.focus(); return false;}

	Email = frm.txt_Email;
	if (!Email || !Email.value.length) {alert(messages[5]); Email.focus(); return false;}

	if(initRegistration){
		UserName = frm.txt_UserName;
		if (!UserName || !UserName.value.length) {alert(messages[6]); UserName.focus(); return false;}

		Password = frm.pwd_Pwd;
		if (!Password || !Password.value.length) {alert(messages[7]); Password.focus(); return false;}
	}

return (valid_email() && checkPass());
}
//=========================================================================
function checkChangedCredentials(){

var oldPassword, newPassword
var frm = document.forms[0];
var messages = new Array("Το πεδίο \"Παλιός Κωδικός Πρόσβασης\" δε μπορεί να είναι κενό!", "Το πεδίο \"Νέος Κωδικός Πρόσβασης\" δε μπορεί να είναι κενό!");

	oldPassword = frm.pass_OldPasswd;
	if (!oldPassword || !oldPassword.value.length) {alert(messages[0]); oldPassword.focus(); return false;}

	newPassword = frm.pass_NewPasswd;
	if (!newPassword || !newPassword.value.length) {alert(messages[1]); newPassword.focus(); return false;}

if (frm.pass_NewPasswdRetype.value!=newPassword.value) {alert("Έχετε πληκτρολογήσει διαφορετικό κωδικό στα πεδία:\n\"Νέος Κωδικός Πρόσβασης\" και \"Επανάληψη Νέου Κωδικού Πρόσβασης\"!");newPassword.select(); return false;}

return true;
}
//=========================================================================
function validateMailForm(frmObj, strRequired, strReqCaption, strMsgStart){

	if(!frmObj) return false;

	if(strRequired && strRequired.length){
		var i, fld, arrFields, arrCaptions

		if(!strMsgStart) strMsgStart = "Check field: ";
		if(!strReqCaption) strReqCaption = strRequired;

		arrFields = strRequired.split(",");
		arrCaptions = strReqCaption.split(",");
		for(i=0;i<arrFields.length;i++){
			fld = frmObj.elements[arrFields[i]];
			if(fld && !fld.value.length) {alert(strMsgStart+"''"+arrCaptions[i]+"''"); fld.focus(); return false;}
		}
	}
	frmObj.action = "main/Visitor.Tools/aitisionlinesendMail.asp";
	return true;
}
