$(window).load(function() {
		$('.input').focus(function() {
			if($(this).val() == $(this).attr('alt'))
				$(this).val('');
		});

		$('.input').blur(function(){
			if($(this).val() == '')
			$(this).val($(this).attr('alt'));
		});
});

function validateForm(form,submission,fancy)
		{
		retval=true;
		show=0;
		confirm_field=0;
		var original, copy;
		$('.error').hide();
		$('.haserror').removeClass('haserror');
		/*error=document.getElementsByTagName('div');
		for(i=1; i<error.length; i++)
			{
				if(error[i].className=='error')
					error[i].style.display='none';
			}*/
			for(i=0; i<form.elements.length; i++)
			{
			type=form.elements[i].getAttribute('type');
			var node = form.elements[i].nodeName;
			
			if(type=='hidden' || form.elements[i].className.indexOf('validate')<0)
				continue;
			element=form.elements[i];
			
			if(element.name.indexOf('cemail')>=0)
				{
					confirm_field=1;
					original = form.email;
					copy = form.cemail;
				}
					
			if(element.name.indexOf('confpassword')>=0)
				{
					confirm_field=1;
					original = form.password;
					copy = form.confpassword;
				}
					
			if(node=='INPUT')
				{
				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;
									}
							}
					}
					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;
								}
						}
				}
			else if(node=='SELECT')
				{
					if(element.value==0)
						{
						if(show==0)
							{
								element.focus();
								show=1;
							}
						displayError(element);
						retval = false;
						}
				}
			else if(node=='TEXTAREA')
				{
					if(!isEmpty(element))
						{
						if(show==0)
							{
								element.focus();
								show=1;
							}
						displayError(element);
						retval = false;
						}
				}
			}	
			if(confirm_field==1)
				{
					if(original.value!=copy.value)
						{
						element=copy;
							if(show==0)
								{
									element.focus();
									show=1;
								}
							displayError(element);
							retval = false;
						}
				}
			if(submission=='ajax' && retval)
				{
					$(form).parent().append($(form).find('.error'));
					$(form).parent().find('.error').html('<img src="images/loading.gif">');
					$(form).parent().find('.error').show();
					$(form).hide();
					$.ajax({
						   url: $(form).attr('action'),
						   type: 'post',
						   dataType: 'json',
						   data: $(form).serialize(),
						   success: function(data) {
								$(form).parent().find('.error').html(data[0].msg);
							   	if(data[0].status==0) //Successfull Message
									$(form).parent().find('.error').fadeOut(3000, function(){$.fancybox.close();if(fancy=='nofancy') $(form).show();});
								else if(data[0].status==2) //Redirection Message
									location.href = data[0].msg;
								else //Error Message
									$(form).show();
						   },
						   error: function(data) {
								$(form).parent().find('.error').html('Request Failed');
								$(form).show();
						  }
						});
					return false;
				}
			else
				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() {
			$(element).removeClass('haserror');
			});
		$(element).click(function() {
			$(element).removeClass('haserror');
			});
	}
		
function isEmpty(str,name)
{
	var retval=true;
	var count=0;
	if (str.value=="" || $(str).attr('alt') == $(str).val())
			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 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();
			}
		});
	}

