	function validateForm(form)
		{
		retval=true;
		show=0;
		confirm_email=0, confirm_pass=0;
		$('.error').hide();
		$('.haserror').removeClass('haserror');
			for(i=1; i<form.elements.length; i++)
			{
			type=form.elements[i].getAttribute('type');
			if(type=='hidden' || form.elements[i].className.indexOf('validate')<0)
				continue;
			element=form.elements[i];
			if(element.name.indexOf('cemail')>=0)
				confirm_email=1;
			if(element.name.indexOf('cchange_new_password')>=0)
				confirm_pass=1;
				if(type=='text' || type=='password' || type=='textarea' || type=='file')
					{
						if(!isEmpty(element))
							{
							if(show==0)
								{
									element.focus();
									show=1;
								}
							displayError(element);
							retval = false;
							}
						if(element.name.indexOf('email')>=0)
							{
								if(!IsEmailValid(element))
									{
									if(show==0)
										{
											element.focus();
											show=1;
										}
									displayError(element);
									retval = false;
									}
							}
						if(element.className.indexOf('number')>=0)
							{
								if(!isNumeric(element))
									{
									if(show==0)
										{
											element.focus();
											show=1;
										}
									displayError(element);
									retval = false;
									}
							}
						if(element.className.indexOf('phone')>=0)
							{
								if(!isPhoneValid(element))
									{
									if(show==0)
										{
											element.focus();
											show=1;
										}
									displayError(element);
									retval = false;
									}
							}
					}
					else if(type=="radio" || type=="checkbox")
						{
							checked=false;
							list=form.elements;
							
							for(h=0; h<list.length; h++)
								{
								if(element.name==list[h].name)
									{
										if(list[h].checked)
											checked=true;
									}
								}
							if(!checked)
								{
								if(show==0)
									{
										element.focus();
										show=1;
									}
								displayError(element);
								retval = false;
								}
						}
			}			
			if(confirm_email==1)
				{
					if(form.email.value!=form.cemail.value)
						{
						element=form.cemail;
							if(show==0)
								{
									element.focus();
									show=1;
								}
							displayError(element);
							retval = false;
						}
				}
			if(confirm_pass==1)
				{
					if(form.change_new_password.value!=form.cchange_new_password.value)
						{
						element=form.cchange_new_password;
							if(show==0)
								{
									element.focus();
									show=1;
								}
							displayError(element);
							retval = false;
						}
				}
			return retval;
		}

var show;

function Validate(id)
	{
	var retval = true;
	show=0;
	$('.error').hide();
	$('.haserror').removeClass('haserror');
	elements = $('#' + id).find('.validate');
	for(i=0;i<elements.length;i++)
		{
			element=elements[i];
			val = value(element);
			type = $(element).attr('type');

			//Validate for check box and radio button only.
			if(type=="radio" || type=="checkbox")
				{
				if(!isChecked(element,id))
					retval = showError(element);
				}
			else if(!isEmptyVal(val))
				retval = showError(element);
				
			//Validate for checking email format
			if(element.name.indexOf('email')>=0)
				{
					if(!IsEmailValid(element))
						retval = showError(element);
				}
		}
	return retval;
	}
	
function isChecked(element,id)
	{
		var retval = false;
		type = $(element).attr('type');
		list=$('#' + id).find('.validate');
		for(h=0; h<list.length; h++)
			{
			if(element.name==list[h].name)
				{
					if(list[h].checked)
						retval=true;
				}
			}
		return retval;
		
	}
function value(element)
	{
		var val;
		
		if($(element).attr('multiple')==true)
			{
			val = $(element).val() || [];
			val = val.join(", ");
			}
		else
			val = $(element).val().toString();
	return val;
	}
function showError(element)
	{
		if(show==0)
			{
				$(element).focus();
				show=1;
			}
		displayError(element);
		return false;
		
	}
function displayError(element)
	{
		$(element).addClass('haserror');
		$(element).focus(function() {
			$(this).parent().parent().children('.error').fadeOut('slow', function(){$(element).removeClass('haserror')});
			});
		$(element).click(function() {
			$(this).parent().parent().children('.error').fadeOut('slow', function(){$(element).removeClass('haserror')});
			});
		$(element).parent().parent().children('.error').show();
	}
		
function isEmpty(str,name)
{
	var retval=true;
	var count=0;
	if (str.value=="")
			retval=false;
	else
		{
			for(k=0;k<str.value.length;k++)
			{
				if(str.value.charAt(k)==" ")
				count++;
			}
			if (count==str.value.length)
				retval=false;
		}
	return retval;
}

 function isNumeric(str,name)
{
 var retval=true;
 var num="1234567890";
 var i; 
 //alert(num.charAt(i));  
 for(i=0; i<str.value.length; i++)
	 { 
	  if(num.indexOf(str.value.charAt(i)) < 0 || num.indexOf(str.value.charAt(i)) >num.length )
		  retval = false;
	}
 return retval;
 } 


 function isPhoneValid(str,name)
{
 var retval=true;
 var num="1234567890/";
 var i; 
 //alert(num.charAt(i));  
 for(i=0; i<str.value.length; i++)
	 { 
	  if(num.indexOf(str.value.charAt(i)) < 0 || num.indexOf(str.value.charAt(i)) >num.length )
		  retval = false;
	}
 return retval;
 } 


function IsEmailValid(str,name)
{
	var retval=true;
	var AtSym=str.value.indexOf('@');				
	var Period=str.value.lastIndexOf('.');		
	var Space=str.value.indexOf(' ');				
	var Length=str.value.length-1;
	var index = str.value.indexOf('@');
	var substr = str.value.substring(index+1);
	var index2 = substr.indexOf('@');
	var count=0;
	if (str.value=="")
			retval=false;
	else
		{
			for(k=0;k<str.value.length;k++)
			{
				if(str.value.charAt(k)==" ")
				count++;
			}
			if (count==str.value.length)
				retval=false;
			else if((AtSym<1)||(str.value.charAt(0)=='_')||(str.value.charAt(Length)=="_")||	//'@' can't be in first position
		(str.value.indexOf("_")==AtSym+1)||(str.value.charAt(AtSym-1)=="_")||
		(Period<=AtSym+1)||					//Must be atleast one valid char between '@' and '.'
		(Period==Length)||					//Must be atleast one valid char after '.'
		((Space>0) && (Space!=Length))||
		(index2 != -1))                       //No empty spaces permitted
		{
			retval=false; 
		}
	}
return retval;
}

function isEmptyVal(str)
{
	var retval=true;
	var count=0;
	if (str=="" || str==null)
			retval=false;
	else
		{
			for(k=0;k<str.length;k++)
			{
				if(str.charAt(k)==" ")
				count++;
			}
			if (count==str.length)
				retval=false;
		}
	return retval;
}

function Login(form)
	{
		$(form).find('.alert').html('');
		$(form).find('fieldset').hide();
		$(form).find('.loading').show();
		$.ajax({
			url: base_uri + 'login.php',
			type: 'get',
			data: $(form).serialize(),
			success: function(data) {
				if(data==1)
					window.location.href = base_uri;
				else
					{
					$(form).find('.alert').html('<div class="ui-state-error ui-corner-all" style="padding: 0 .7em;"><p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span><strong>Alert:</strong>  ' + data + '</p></div>');
					$(form).find('fieldset').show();
					$(form).find('.loading').hide();
					}
			},
			error: function(data) {
				$(form).find('.alert').html('<div class="ui-state-error ui-corner-all" style="padding: 0 .7em;"><p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span><strong>Alert:</strong> Request Failed</p></div>');
				$(form).find('fieldset').show();
				$(form).find('.loading').hide();
			}
		});
	}

