	function submitonce(theform){
		//if IE 4+ or NS 6+
		if (document.all||document.getElementById){
			//Ελέγχω τα πεδία της φόρμας και οταν βρώ το submit το απενεργοποιώ.
			for (i=0;i<theform.length;i++){
				var tempobj=theform.elements[i]
				if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
				//Απενεργοποίηση του element.
				tempobj.disabled=true
			}
		}
	}

 //Ελέγχω με regexp τα πεδία της φόρμας που έχουν ορισμένο το pattern.
 function verify(frmElem){
		 var regex, pattern, errmsg;
		 var result;
		 var aElm;
		 
		 aElm = frmElem.getElementsByTagName('*');

		 //loop σε όλα τα elements της φόρμας
		 for(var i = 0;i < aElm.length;i++){
									 
				 //φορτώνω το Patern που αντιστοιχεί στο element.
				 pattern = aElm[i].getAttribute('testcode');

				 //ελέγχω αν το patern έχει οριστεί
				 if(!(pattern===null)){

						 //Φτιάχνω ενα regular expression object με το patern.
						 regex = new RegExp(aElm[i].getAttribute('testcode'),"i");
						 
						 //τρέχω το regular epression
						 if(!(regex.test(aElm[i].value))){
								 //ελέγχω για σφάλματα.
								 errmsg = aElm[i].getAttribute('testerror');
								
								 //φτιάχνω το μήνυμα του σφάλματος
								 if(errmsg===undefined){
										 errmsg = "Παρακαλώ ελέγξτε την τιμή του πεδίου."
								 }

								 //Εμφανίζω alert box με το σφάλμα και κάνω focus το πεδίο που έχει πρόβλημα.
								 alert(errmsg);
								 //Κάνω focus μόνο τα πεδία που δεν είναι hidden. Στα hidden χτυπάει js error.
								 if (!(aElm[i].type == 'hidden')){
									 if (!(aElm[i].style && aElm[i].style.display && (aElm[i].style.display == "none"))) {
										 aElm[i].focus();									 
									}
									 if (aElm[i].style) {
										 aElm[i].style.borderColor = "red";
										 aElm[i].style.borderStyle = "solid";
										 aElm[i].style.borderSize = "1px";
									 }	
								 }
								 return false;
						 }
				 }
		 }
		 return true;
 }
