<!--

function getElementObject(formobj,name){
	//var propertyform = document.forms['wconfig'];	
	for (var i = 0; i <  formobj.elements.length; i++) {
	        formElement = formobj.elements[i];	
			if(formElement.name == name){
				//alert(formElement.name);
				return formElement;	
			}	
	}	
}




function validateElement(formObj,elementToCheck,type,validation,errorMsg,mandatory,maxlength){
	//alert("validate " + elementToCheck + " of type ("+type+")");
	formElement = getElementObject(formObj,elementToCheck);
	// Textarea
	if(formElement){
		if(type=="textarea"){		
				if(formElement.name == elementToCheck) {
					if (maxlength == '')
						maxlength = '10000';
					if (formElement.value.length > maxlength) {
						allValid = false;
						msg += errorMsg + " is too large."
					}
	
					if (mandatory == 'yes' && escape(formElement.value).length < 1) {
						allValid = false;
						msg += errorMsg + "\n";
					}
	                        return;
				}
		}

		// Select
		//else if(type=="select"){	
		//		if(formElement.name == elementToCheck) {
					// get the selected value
		//				var selectedValue = formElement[formElement.selectedIndex].value;
		//				if (mandatory == 'yes' && escape(selectedValue).length < 1) {
		//					allValid = false;
		//					msg += errorMsg + "\n";
		//				}
	    //                    return;
		//		}
		//}		
		
		// Checkbox
		else if(type=="checkbox"){
			if(formElement.name == elementToCheck) {
                        checkBoxCollection = document.getElementsByName(elementToCheck);
                        noneChecked = true;
				if (mandatory == 'yes') {
                                   for(cbc=0;cbc<checkBoxCollection.length;cbc++){
                                        if(checkBoxCollection[cbc].checked){noneChecked = false;}
                                    }
					if(noneChecked) {
	 					allValid = false;
						msg += errorMsg + "\n";
					}
                                   
				}
	                return;
			}
		}
		
	
		// Number validation (is this being used anywhere?)
		else if(validation=="number"){
			if(formElement.name == elementToCheck) {
				var checkOK_number = "1234567890";
				var checkStr = escape(formElement.value); 
	
				if (mandatory == 'yes' && checkStr.length < 1) {
					allValid = false;
					msg += errorMsg + "\n";
				} else {
					for (b = 0;  b < checkStr.length;  b++){
						ch = checkStr.charAt(b);
						for (j = 0;  j < checkOK_number.length;  j++)
							if (ch == checkOK_number.charAt(j))
							break;
						if (j == checkOK_number.length){
							allValid = false;
							msg += errorMsg + "\n";
							break;
						}
					}
				}
	                return;
			}
		}
	
	
	
		// Time validation (Is there an example of this)?
		else if(validation=="time"){
			if(formElement.name == elementToCheck) {
				var checkOK_time = "1234567890&#58;";
				var checkStr = formElement.value; 
	
				if (mandatory == 'yes' && checkStr.length < 1) {
					allValid = false;
					msg += errorMsg + "\n";
				}
				else {
					for (b = 0;  b < checkStr.length;  b++){
						ch = checkStr.charAt(b);
						for (j = 0;  j < checkOK_time.length;  j++)
							if (ch == checkOK_time.charAt(j))
							break;
						if (j == checkOK_time.length){
							allValid = false;
							msg += errorMsg + "\n";
							break;
						}
					}
				}
	                return;
			}
		}
		
	
		// Not really validation but method need to concatnate date on submit. - Copy yyyy-mm-dd from select to hidden field : No real need to validate since there will always be a value present 
		else if(validation=="time"){
			if(formElement.name == elementToCheck) {
				var day   = eval("form." + elementToCheck + "day[form." + elementToCheck + "day.selectedIndex].value");
				var month = eval("form." + elementToCheck + "month[form." + elementToCheck + "month.selectedIndex].value");
				var year  = eval("form." + elementToCheck + "year[form." + elementToCheck + "year.selectedIndex].value");
	
				formElement.value = year+'-'+month+'-'+day;
	                return;
			}
		}

		// Not really validation but method needs to modify url appropriately.
		else if(validation=="url"){
			if(formElement.name == elementToCheck) {
				var checkStr = formElement.value; 
				if (mandatory == 'yes' && checkStr.length < 1) {
					allValid = false;
					msg += errorMsg + "\n";
				}
				else {
					/* check there is no http:// */
					if(checkStr.indexOf("http://")!=-1 || checkStr.indexOf(" ")!=-1){
						allValid = false;
						msg += errorMsg + "\n";
					}
					
				}	
			return;
			
			}
		}		
				
	
		// Word validation
		else if(validation=="word"){
			if(formElement.name == elementToCheck) {
				var checkOK = "%20-()ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
				var checkStr = escape(formElement.value); 
	
				if (mandatory == 'yes' && checkStr.length < 1) {
					allValid = false;
					msg += errorMsg + "\n";
				}
				else {
					for (b = 0;  b < checkStr.length;  b++){
						ch = checkStr.charAt(b);
						for (j = 0;  j < checkOK.length;  j++)
							if (ch == checkOK.charAt(j))
							break;
						if (j == checkOK.length){
							allValid = false;
							msg += errorMsg + "\n";
							break;
						}
					}
				}
	                return;
			}
		}
		
		
		// Password validation
		else if(validation=="password"){
			if(formElement.name == elementToCheck) {
				pwdok = true;
				if (mandatory == 'yes' && escape(formElement.value).length < 8) {
					allValid = false;
					pwdok = false;
					msg += errorMsg+"\n";
				}
				else if (pwdok)	// check for whitespace
				{
					whitespace = ' \t\n\r';
					for (c = 0; c < escape(formElement.value).length; c++)
					{
						ch = formElement.value.charAt(c);
						if (whitespace.indexOf(ch) != -1)
						{
							pwdok = false;
							allValid = false;
							msg += errorMsg + "\n";
							break;
						}
					}
				}
	                return;
			}
		}
		
	
		// e-mail validation
		else if(validation=="e-mail"){
			if(formElement.name == elementToCheck) {
				if (mandatory == 'yes' && escape(formElement.value).length < 1) {
					allValid = false;
					msg += errorMsg + "\n";
				}
				else {
					// Returns true if val vaguely resembles an email address and is not empty, false otherwise
					if ((escape(formElement.value).length > 0) && (formElement.value.indexOf("@") == -1 || formElement.value.indexOf(".") == -1)) {
						allValid = false;
						msg += errorMsg + "\n";
					}
				}
	                return;
			}
		}
		
		
		// Filename validation
		else if(validation=="filename"){
			if(formElement.name == elementToCheck) {
				var checkOK_number = "1234567890"; 
				var checkStr = escape(formElement.value); 
				var loadedFile =  document.getElementById(formElement.name + '_original') ;
				if (mandatory == 'yes' && checkStr.length < 1 && (loadedFile == null || loadedFile.value.length  < 1 ) ) 
				{
					allValid = false;
					msg += errorMsg + "\n";
				}
				else {
					var pos, ch;
			 		var val = formElement.value;
	        			var platform, separator, version;
	        			if(val == null) return(false);
	       				platform = navigator.platform;
	
	       			if (platform.indexOf("Win") == 0) {
	        				separator = "\\";
	        			} 
	        
	        			else if (platform.indexOf("Mac") == 0) {
				 		var IE4 = (document.all && !document.getElementById) ? true : false;
						var NS4 = (document.layers) ? true : false;
						var IE5 = (document.all && document.getElementById) ? true : false;
						var N6 = (document.getElementById && !document.all) ? true : false;
	
				            	if (IE4) 		{ separator = "%2F"; }
				             else if (IE5) 	{ separator = "/"; }
				        	else if (N6)  	{ separator = ":"; }
				        	else if (NS4) { separator = "/"; }
				       	else 		{ separator = "/"; }
	
	        			} 
	        			else { 		        
	        				separator = "/";				 
	        			}
	        
				       var seppos = val.lastIndexOf(separator);
				       seppos++;
				      	for(pos = seppos; pos < val.length; pos++) {
		                		ch = val.charAt(pos);
				            if(! 
				            		(
				            			((ch >= 'A') && (ch <= 'Z')) ||
				            			((ch >= 'a') && (ch <= 'z')) ||
				                   		((ch >= '0') && (ch <= '9')) ||
				                    	((ch == '_') || (ch == '.') || (ch == '-') || (ch == '/') || (ch == '/')) 
				             		)
				             	) {						                  
				                 	allValid = false;
							msg += errorMsg + "\n";
							break;
				                } 
				        }
	
		       		lcval=val.toLowerCase();
	
		      		if(lcval.length<=4) {}
	      			else if(lcval.lastIndexOf(".zip") == lcval.length-4) {}
					else if(lcval.lastIndexOf(".pdf") == lcval.length-4) {}
					else if(lcval.lastIndexOf(".csv") == lcval.length-4) {}
					else if(lcval.lastIndexOf(".txt") == lcval.length-4) { }
					else if(lcval.lastIndexOf(".htm") == lcval.length-4) {}
					else if(lcval.lastIndexOf(".doc") == lcval.length-4) {}
					else if(lcval.lastIndexOf(".rtf") == lcval.length-4) {}
					else if(lcval.lastIndexOf(".wav") == lcval.length-4) {}
					else if(lcval.lastIndexOf(".mov") == lcval.length-4) {}
					else if(lcval.lastIndexOf(".mpg") == lcval.length-4) {}
					else if(lcval.lastIndexOf(".mp3") == lcval.length-4) {}
					else if(lcval.lastIndexOf(".mer") == lcval.length-4) {}
					else if(lcval.lastIndexOf(".ppt") == lcval.length-4) {}
					else if(lcval.lastIndexOf(".xls") == lcval.length-4) {}
					else if(lcval.lastIndexOf(".exe") == lcval.length-4) {}
					else if(lcval.lastIndexOf(".html") == lcval.length-5) {}
					else if(lcval.lastIndexOf(".jsp") == lcval.length-4) {}
	
					else {						        
	//						        			allValid = false;
	//										msg += errorMsg+ "\n";
					}
				}
			return;
			}
	
	} else {
	   		if(formElement.name == elementToCheck) {
				var elemCount = 0;
				elemCount = elementCount(document.wconfig,elementToCheck)
				if(mandatory == 'yes' && elemCount > 1){
					if(checkMultiParamRegister(elementToCheck) ){
				} else {
							if(escape(formElement.value).length < 1){
								multiParams[multiParams.length] = elementToCheck + ',false';
								allValid = false;
								msg += errorMsg+"\n";
							} else {
								multiParams[multiParams.length] = elementToCheck + ',true';
							}
					}
				}
	
	
				if (mandatory == 'yes' && escape(formElement.value).length < 1) {
					if(elemCount > 1){
					} else {
						allValid = false;
						msg += errorMsg + "\n";
					}
				}
	                        return;
	   		}
	   	}
	}	   	
}	
//-->
