$(function (){
$(".number").numeric();

$("input#others").attr("disabled","disabled");

$("#radOthers").change(function(){

	$("input#others").removeAttr('disabled');
}  );

});

function validate(sender)
{
	var errorList = new Array();
	var fieldname = $('label[for=' +$(sender).attr('id') +']') .html();
	
	if($(sender).hasClass("notempty") && trim( $(sender).val()) == "")
	{
		errorList.push(fieldname + ' : Required field is empty.');				
	}
	
	if($(sender).hasClass("email") &&  !checkemail( trim($(sender).val()) ))
	{
		errorList.push(fieldname + ' : Invalid Email.');				
	}
	
	if($(sender).hasClass("mustselect") && $(sender).val() < 0  )
	{
		errorList.push(fieldname + ' : Selection Required.');				
	}
	

	if(errorList.length > 0 )
	{
		$(sender).addClass("errorinput").removeClass("successinput").next('span').next('span').html(errorList[0].split(':')[1]).addClass("errormsg");
		//$(sender).focus();
		return errorList;
	}else
	{
		$(sender).removeClass("errorinput").removeClass("successinput").next('span').next('span').html('').removeClass("errormsg");
		if(trim( $(sender).val()) != "")$(sender).addClass('successinput');
		return null; 
	}
	
	
}


function validate_form(sender){
	
	$(sender).find('.loading').css('display','inline-block');
	var valid = true; 
	var errorList = new Array();
	
	$("input,select").each(function(){
		errorList = errorList.concat( validate(this));
	});
	
	errorList = clean(errorList);
	
	if(errorList.length > 0 )
	{
		var html = ''; 
		for( var i in errorList)
		{
			if(errorList[i] != null)
			html += "<li>"  + errorList[i] + "</li>" ; 
		}
		
		if ( html != '' ) html = '<ul class="list errors">' + html +  '</ul>';
		
		
		$(".errorlistCon").html(html);
		$(sender).find('.loading').hide();
	}else
	{
		var url = $(sender).attr( 'action' );

		$.post( url, $(sender).serialize(),
			function( data ) {
				$(".errorlistCon").html(data)
				$(sender).find('.loading').hide();
			}
		);
	}	
	
	return false;
}
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function checkemail(str){
	
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str))
	testresults=true
	else{
	testresults=false
	}
	return (testresults)
}


function clean(actual){
  var newArray = new Array();
  for(var i = 0; i<actual.length; i++){
      if (actual[i]){
        newArray.push(actual[i]);
    }
  }
  return newArray;
}
