
	
		var bErrorFound	= false;
		var aErrorFields	= new Array();

		function NoErrorFound() { return !bErrorFound; }

		function EndValidation() { return !bErrorFound; }
		
		function StartValidation() {
			bErrorFound = false;
			ClearAllErrorFields();
		}

		function ClearAllErrorFields() {
			aErrorFields.length = 0;
		}

		function SetErrorField(sFieldName) {
			aErrorFields[aErrorFields.length] = sFieldName;	
		}

		function DisplayError(sFieldName, sFieldError) {
			if (sFieldName == "")
				alert(sFieldError);
			else
				alert(sFieldName + " : " + sFieldError);
			bErrorFound = true;
		}

		function FlagError( field, sFieldError) {
			SetErrorField(field.name);
			DisplayError("", sFieldError);
			if (field != null)
				field.focus();
				field.select();
		}


		function ValidateRequiredField(field, sFieldError, iMinLen, iMaxLen) {
			var bValid = true;
			if (!bErrorFound) {
				if ((field != null) && (!field.disabled)) {
					if (field.value.length < iMinLen || field.value.length > iMaxLen) {
						FlagError(field, sFieldError);
						bValid = false;
					}
				}
			}	
			return bValid;
		}

		function ValidateOptionalField(field, sFieldError, iMinLen, iMaxLen) {
			var bValid = true;
			if (!bErrorFound) {
				if ((field != null) && (!field.disabled)) {
					if (field.value.length > 0)
						bValid = ValidateRequiredField(field, sFieldError, iMinLen, iMaxLen);
				}
			}	
			return bValid;
		}

		function ValidateRequiredCheckboxField( myform, fieldError, iStart, iStop)
		{

				var bValid = true;
				if (!bErrorFound) {
					for(var iCount = iStart; iCount <= iStop; iCount++) {
						if (myform.elements[iCount].checked)
							return bValid;
						
					}

					SetErrorField(myform.elements[iStart].name);
					DisplayError("", fieldError);
					myform.elements[iStart].focus();
					bValid = false;
				}
				return bValid;
		}


		
		function Loader( field) {
			if (field != null)
				field.focus();
		}

		function ValidateRequiredRadioField( radiofield, fieldError)
		{
				var bValid = true;
				if (!bErrorFound) {
					var numberOfRB = radiofield.length;
					for (var i=0;i<numberOfRB;i++){
						if ( radiofield[i].checked == "1") {
							return bValid;
						}
					}
					SetErrorField(radiofield.name);
					DisplayError("", fieldError);
					radiofield[0].focus();
					bValid = false;
				}
				return bValid;
		}

		function ValidateEmail( field, sFieldError) {
			var bValid = true;
			if (!bErrorFound) {
			        
				if ((field != null) && (!field.disabled)) {
					
					var  pos1 = field.value.indexOf("@");
			        	var  pos2 = field.value.lastIndexOf(".");
					var  len = field.value.length; 
				
					if (pos1 == - 1 || pos2 == -1 || pos1 > pos2 || ((len - pos2) < 3)) {
						FlagError(field, sFieldError);
						bValid = false;
					}
				}
			}	
			return bValid;
                    
		}

		function stateRadioButtonChecker( radioButtonField) {
			var checkedButtonValue = "";
			var numberOfRB = radioButtonField.length;
			for (var i=0;i<numberOfRB;i++){
				if ( radioButtonField[i].checked == "1") {
					checkedButtonValue=radioButtonField[i].value;
				}
			}
			return checkedButtonValue
		}

		function MatchPasswords(password, repassword, sFieldError){
			var bValid = true;
			if (!bErrorFound) {
				if (password.value != repassword.value)
				{
					SetErrorField(password);
					SetErrorField(repassword)
					DisplayError("", sFieldError);
					password.focus();
					return false;
				}
			}		
			return bValid;	
		}

		function GoodChars( field, fieldError, strGoodChars)
		{
			var bValid = true;

			if (!bErrorFound) {
				if ((field != null) && (!field.disabled)) {
					var bFound;
					for (var i = 0; i < field.value.length; i++) {
						bFound = false;
						for (var j = 0; j < strGoodChars.length; j++) {
							if (field.value.charAt(i) == strGoodChars.charAt(j)) {
								bFound = true;
								break;
							}
						}
					
						if (!bFound) {	
							FlagError( field, fieldError);
							return false;
						}
					}
				}
			}		
			return bValid;	
		}

		function BadChars( field, fieldError, strBadChars)
		{
			var bValid = true;
			if (!bErrorFound) {
				if ((field != null) && (!field.disabled)) {
					for (var i = 0; i < field.value.length; i++) {
						for (var j = 0; j < strBadChars.length; j++) {
							if (field.value.charAt(i) == strBadChars.charAt(j)) {
								FlagError( field, fieldError);
								return false;
							}
						}
					}
				}
			}		
			return bValid;	
		}

		function FindBadChars( field, fieldError)
		{
			var strBadChars = "\t"; 
			return (BadChars( field, fieldError, strBadChars));
		}
		
		function FindBadPasswordChars( field, fieldError)
		{
			var strBadChars = ":._/()[]{}<>%+-=|*,;?&%$#@!~`Ç\t\'\"\\ ";
			return (BadChars( field, fieldError, strBadChars));
		}
		
		function FindBadUsernameChars( field, fieldError)
		{
			var strBadChars = "/()<>%+=|*,;\t\'\"\\ ";
			return (BadChars( field, fieldError, strBadChars));
		}

		function FindNoAlphaNumChars( field, fieldError)
		{
			var strBadChars = ":._/()<>%+=|*,;\t\'\"\\ ";
			return (BadChars( field, fieldError, strBadChars));
		}

		function FindNoAlphaDotChars( field, fieldError)
		{
			var strBadChars = "0123456789:_/()<>%+=|*,;\t\'\"\\";
			return (BadChars( field, fieldError, strBadChars));
		}


		function FindBadNumericChars(field, fieldError)
		{
			var strGoodChars = "0123456789";
			return (GoodChars( field, fieldError, strGoodChars));
		}
		

		function FindBadPhoneChars(field, fieldError)
		{
			var strGoodChars = "+./0123456789 ";
			return (GoodChars( field, fieldError, strGoodChars));
		}

		function FindBadPriceChars(field, fieldError, nNumPart, nDecPart)
		{
			var bValid = true;
			if (!bErrorFound) {
				if ((field != null) && (!field.disabled)) {
					var nCount = 0;
					var nPos = field.value.length;
					var repairString = ""
					for (var i = 0; i < field.value.length; i++) {

						if (field.value.charAt(i) == "." || field.value.charAt(i) == ",") {
							nCount++;
							nPos = i;
							repairString += "."
						} else {
							repairString += field.value.charAt(i);
						}		
					}
					if ( nCount > 1) {	
						FlagError( field, fieldError);
						return false;
					}
					if ( nPos > nNumPart ||  (field.value.length - nPos) > ++nDecPart ) {
						FlagError( field, fieldError);
						return false;
					}
				}
				field.value = repairString;
				var strGoodChars = "0123456789.";
				return (GoodChars( field, fieldError, strGoodChars));			
			}
			return bValid;	

		}
		
		function NumberInterval(field, fieldError, nMax, nMin)
		{
			var bValid = true;
			if (!bErrorFound) {
				if ((field != null) && (!field.disabled)) {
					if ( field.value > nMax || field.value < nMin || field.value.length == 0) {
						FlagError( field, fieldError);
						return false;
					}
				}
			}
			return bValid;	

		}

		function CheckGoodValues(field, fieldError, PosibleValues)
		{
			var bValid = false;
			for (var i=2; i<arguments.length; i++) {
				if ((field != null) && (!field.disabled)) {
					if (field.value == arguments[i]) {
						bValid = true;
					}	
				}
			}
			if (!bValid) FlagError(field, fieldError);
			return bValid;
		}

		function CheckRequiredLength(field, fieldError, RequiredLength)
		{
			var bValid = false;
				if ((field != null) && (!field.disabled)) {
					if (field.value.length == parseInt(RequiredLength)) {
						bValid = true;
					} else {
						FlagError(field, fieldError);
					}
				}
			return bValid;
		}

		function ValidateEmailField(field, fieldError) {
			var bValid = true;
			if (!bErrorFound) {
				if ((field != null) && (!field.disabled)) {
					if (  field.value.length > 0 ) {
						if ((field.value.indexOf(".") == -1) || (field.value.indexOf("@") == -1)) {
							FlagError(field, fieldError);
							bValid = false;
						}
					}
				}
			}	
			return bValid;
		}

		function ReplaceAt( field) {
				field.value = replaceString( "@", "*at*", field.value);
		}

		function DescWin() {
			var newWindow=window.open('about:blank', 'Description', 'toolbar=no,location=no,directories=no,status=no,menubar=no, resizable=yes, scrollbars=yes,width=350,height=50');
			newWindow.focus();
		}

		function changeURL(fileName) 
		{   
				location.replace(fileName)
		}

		function replaceString( oldS, newS, fullS) 
		{// Replaces oldS with newS in the string fullS  
		
			sOld = fullS;
			sNew = "";
			var i = 0;
			while ( i < sOld.length )	{
				if ( sOld.substring( i, i + oldS.length ) == oldS ) {
					sNew += newS;
				} else {
					sNew += sOld.substring( i, i + 1);
				}
				i++;
			}
			return sNew
		}

		function ValidateCheckboxStatus(field)
		{

				var bValid = true;
				if (!bErrorFound) {
					if (!field.checked)
						field.value='N';
				}
				return bValid;
		}

	
		function DeleteItem (AddParams) {

		var url="../confirm_u.d2w/open" + AddParams;
   		var features = 'toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,scrollbars=no,width=250,height=100';
   		var newWindow=window.open(url, 'Confirm', features);
   		newWindow.focus();
		}

		
		function FirstStepsPopUp(url)
		{
  			var features='toolbar=0,location=0,directories=0,satus=0,menubar=0,scrollbars=1,resizable=1,copyhistory=0,width=565,height=405';
  			window.open(url, 'FirstSteps', features);
		}

