function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   //alert("Invalid email address")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   //alert("Invalid email address")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    //alert("Invalid email address")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    //alert("Invalid email address")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    //alert("Invalid email address")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    //alert("Invalid email address")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    //alert("Invalid email address")
		    return false
		 }

 		 return true					
	}


function confirm_redirect(msg,url) {	

	if (confirm(msg)) {
		location = url;
	}
}



function validatefields(f,aFields) {
	
	
	var itemcount = aFields.length
	
	for (i = 0; i < aFields.length; i+=3){
		
		obj = eval('f.' + aFields[i])
		//alert(aFields[i]);
		switch (aFields[i+1]){
		
			case TEXT_VALUE_NOT_EMPTY: //Text value not empty
				if (String(obj.value).trim() == ''){
					alert('Please enter a value for ' + aFields[i+2])
					try	{
						obj.focus();
					}
					catch(err)	{
					//return 
					}
					return false;
				}
				break;
				
			case MANDATORY_EMAIL://Mandatory email
				if (echeck(obj.value)==false){
					alert('Please enter a valid email address for ' + aFields[i+2])
					try	{
						obj.focus();
					}
					catch(err)	{
					//return 
					}

					return false
				}
				break;
			case DROP_DOWN_SELECTION://Drop down selection
				if (String(obj.options[obj.selectedIndex].value).trim() == '' || String(obj.options[obj.selectedIndex].value).trim() == '0'){
					alert('Please select a value for ' + aFields[i+2])
					try	{
						obj.focus();
					}
					catch(err)	{
					//return 
					}
						
					return false
				}
				
				break;
			case NON_MANDATORY_EMAIL://Non mandatory email
				if (String(obj.value).trim() != '') {
					if (echeck(obj.value)==false) {
						alert('Please leave this field blank or enter a valid email address for  ' + aFields[i+2])
						try
						{
							obj.focus();
						}
						catch(err)
						{
						//return 
						}
						
						return false
					}
				
				}
				break;
					
			case EMPTY_OR_NUMERIC://Numeric or empty
				if (String(obj.value).trim() != ''){
					if (!String(String(obj.value).trim()).isNumeric()){
						alert('Please leave this field blank or enter a numeric value for ' + aFields[i+2])
						try	{
							obj.focus();
						}
						catch(err)	{
						//return 
						}
						return false
					}
				
				}
				break;
			case NUMERIC://Numeric
				if (!String(String(obj.value).trim()).isNumeric()){
					alert('Please enter a numeric value for  ' + aFields[i+2])
					try	{
						obj.focus();
					}
					catch(err)	{
					//return 
					}
					return false
				}
				break;
				
			case MANDATORY_MULTILIST://At least one from multiple drop down selection
				var foundone = false;
				for (j = 0; j < obj.options.length; j++) {
 
						if (obj.options[j].selected == true)
							foundone = true;
				}							
				
				if (!foundone) {
					alert('Please select at least one value for ' + aFields[i+2])
					try	{
						obj.focus();
					}
					catch(err)	{
					//return 
					}
					return false	
				}
				
				break;
			
			case NUMERIC_GT_ZERO://Numeric greater than zero
				if (!String(String(obj.value).trim()).isNumeric()){
					alert('Please enter a numeric value greater than for ' + aFields[i+2])
					try	{
						obj.focus();
					}
					catch(err)	{
					//return 
					}
					return false
				}
				else {
				
					if(obj.value <= 0) {
					
					
					alert('Please enter a numeric value greater than zero for ' + aFields[i+2])
					try	{
						obj.focus();
					}
					catch(err)	{
					//return 
					}
					return false
					
					
					}
				}
				break;	
			case RADIOBUTTON:
			    // set var radio_choice to false
                var radio_choice = false;

                // Loop from zero to the one minus the number of radio button selections
                for (counter = 0; counter < obj.length; counter++)
                {
                    // If a radio button has been selected it will return true
                    // (If not it will return false)
                    if (obj[counter].checked)
                 
                        radio_choice = true; 
                }
                if (!radio_choice){
                    alert('Please select a value for ' + aFields[i+2])
                    return false
                }

		}
		//alert(itemcount);
	}
	
	//alert(f.account.options[f.account.selectedIndex].value)
	
	return true
	
}



var TEXT_VALUE_NOT_EMPTY = 1
var MANDATORY_EMAIL = 2
var DROP_DOWN_SELECTION = 3
var NON_MANDATORY_EMAIL = 4
var EMPTY_OR_NUMERIC = 5
var NUMERIC = 6
var MANDATORY_MULTILIST = 7
var NUMERIC_GT_ZERO = 8
var RADIOBUTTON = 9

function updateDateField(combined,dd,dm,dy) {


	//alert(dm.options[dm.selectedIndex].value);
	//alert(dd.options[dd.selectedIndex].value);
	//alert(dy.options[dy.selectedIndex].value);
	
	var local_dt = new Date(dm.options[dm.selectedIndex].value + '/' + dd.options[dd.selectedIndex].value + '/' + dy.options[dy.selectedIndex].text);

	combined.value = dd.options[dd.selectedIndex].value + '/' + dm.options[dm.selectedIndex].value + '/' + dy.options[dy.selectedIndex].text;

}

