$(document).ready(function(){
	
	$("#user_name").bind('keyup', usernameCheck); 
	
	$("#first_name").blur(function() 
    { 
        var first_name_length; 
 
        first_name_length = $("#first_name").val().length; 
        $("#first_name_help").empty(); 
 
        if (first_name_length < 1) 
			$("#first_name_help").append("The first name can't be empty");
		else {
			$("#first_name_help").append("<img src='/imgs/checked.gif'>"); 
		}	
    }); 
	
	$("#last_name").blur(function() 
    { 
        last_name_length = $("#last_name").val().length; 
        $("#last_name_help").empty(); 
 
         if (last_name_length < 1) 
			$("#last_name_help").append("The last name can't be empty");
		else {
			$("#last_name_help").append("<img src='/imgs/checked.gif'>"); 
		}	 	
    }); 
	
	$("#contact_email").blur(function() 
    { 
        contact_email_length = $("#contact_email").val().length; 
        $("#contact_email_help").empty(); 
 
        if (contact_email_length < 1) 
            $("#contact_email_help").append("The contact_email can't be empty"); 
		else{
			$("#contact_email_help").append("<img src='/imgs/checked.gif'>");
		}  	
    }); 
	
	$("#password").blur(function() 
    { 
        password_length = $("#password").val().length; 
        $("#password_help").empty(); 
 
        if (password_length < 1) 
            $("#password_help").append("The password can't be empty"); 
		else{
			$("#password_help").append("<img src='/imgs/checked.gif'>"); 
		} 	
    }); 
	
	$("#password2").blur(function() 
    { 
        password2_length = $("#password2").val().length;
		$("#password2_help").empty(); 
 
        if (password2_length < 1) 
            $("#password2_help").append("The field can't be empty");
		else if ($("#password2").val() !=  $("#password").val()) 
            $("#password2_help").append("Should be same as above"); 
		else{
			$("#password2_help").append("<img src='/imgs/checked.gif'>");
		} 	
    }); 
	
	$("#verify_code").blur(function() 
    { 
       $("#verify_code_help").empty(); 
    }); 
	
	$('#signup_btn').click(function(){
		$(this).removeAttr("href"); 
		doSignup();
      });
	  
	$('#fpasswd_btn').click(function(){
		$(this).removeAttr("href"); 
		doSendPassword();
      });
	  
	$('#refresh').click(function(){
	    doRefresh();
      });
	
	$('#login_link').click(function(){
        
		$(this).removeAttr("href"); 
		doLogin();
      });
	  
	$("#passwd").bind("keypress", function(e) {
	  if (e.keyCode == 13) doLogin();
	});

});


function usernameCheck()
{
    var data = {};
	var username = $("#user_name").val();
    
    if (username.length < 4)
    {
        $("#user_name_help").html('This field should be at least 4 characters');
    }
    else if (username.length > 20)
    {
        $("#user_name_help").html('This field should be maximum 20 characters');
    }
    else
    {
	    data['user_name'] = username;
		$.ajax({
	      type: "POST",
	      url: "/do/checkuser",
	      cache: false,
	      dataType: "json",
	      data: data,
	      success: function(data, status) {
	        if ( data["success"] ) {
				msg = data["msg"];
			  	$("#user_name_help").html("<img src='/imgs/checked.gif'>");
	        } else {
			  	msg = data["msg"];
				$("#user_name_help").html("<img src='/imgs/unchecked.gif'>" + msg);
	        }
	      },
	      error: function() {
	        //alert("Failed to connect server");
			$("#signup_msg").html("Failed to connect server"); 
	      }
	   });
	 }
}




function collectData() 
{
  var data = {};
  data['user_name'] = $('#user_name').val();
  data['first_name'] = $('#first_name').val();
  data['last_name'] = $('#last_name').val();
  data['password'] = $('#password').val();
  data['password2'] = $('#password2').val();
  data['contact_email'] = $('#contact_email').val();
  data['verify_code'] = $('#verify_code').val();
  data['verify_id'] = $('#verify_id').val();
 
  return data;
}

function doSignup() 
{
	var form = $('#signup_form');
	var data = collectData();
	
	$.ajax({
      type: "POST",
      url: "/do/signup",
      cache: false,
      dataType: "json",
      data: data,
      success: function(data, status) {
        if ( data["success"] ) {
			msg = data["msg"];
		  	$("#signup_msg").html(msg);
			window.location = "/user/auth/welcome";
        } else {
		  	msg = data["msg"];
		  	field = data["field"]+"_help";
		  	$("#"+field).html("<img src='/imgs/unchecked.gif'>" + msg);
			$("#signup_msg").html(msg);  
        }
      },
      error: function() {
        //alert("Failed to connect server");
		$("#signup_msg").html("Failed to connect server"); 
      }
   });
}

function doLogin()
{
	var data = {};
	var host = jQuery.url.attr("host");
	//var domain = host.replace("main.", "web.");
	var domain = host.replace("www.", "");


	data['_user'] = $("#login").val();
	data['_pass'] = $("#passwd").val();
	
	$.ajax({
	      type: "POST",
	      url: "/do/login",
	      cache: false,
	      dataType: "json",
	      data: data,
	      success: function(data, status) {
	        if ( data["success"] ) {
				window.location = "http://web."+domain;	
	        } else {
	        	//document.getElementById('dialog').innerHTML = '<P>'+data["msg"]+'</P>';
				//$('#dialog').dialog('open');
	        	
				//$("#login_img").html("<img src='/imgs/unchecked.gif'>");
				window.location = "/user/auth/welcome";	
	        }
	      },
	      error: function() {
	       $("#login_img").html("<img src='/imgs/unchecked.gif'>")
	      }
	   });
}

function doRefresh(){
	
	var link = $('#refresh').attr('href');
	$.ajax({
	   type: "POST",
	   url: "/do/refresh", 
	   cache: false,
	   dataType: "json", 
	   success: function(data){
	   	  $('#captcha').html(data['image']);
	   	  $('#verify_id').attr('value', data['id']);;
	    },
	   error: function() {
        alert("Failed to connect server");
      }
	   }
	);
}

function doSendPassword() 
{
	var data = {};
	data['user_name'] = $('#username').val();
  	data['contact_email'] = $('#contact_email').val();
	data['verify_code'] = $('#verify_code').val();
    data['verify_id'] = $('#verify_id').val();
 
	$.ajax({
      type: "POST",
      url: "/do/send",
      cache: false,
      dataType: "json",
      data: data,
      success: function(data, status) {
        if ( data["success"] ) {
			msg = data["msg"];
		  	$("#fpassword_msg").html(msg);
        } else {
		  	msg = data["msg"];
		  	field = data["field"]+"_help";
		  	$("#"+field).html("<img src='/imgs/unchecked.gif'>" + msg);
			$("#fpassword_msg").html(msg);  
        }
      },
      error: function() {
		$("#fpassword_msg").html("Failed to connect server"); 
      }
   });
}
