var User = {
	
	isValidLogin:false,
	isValidPassword:false,
	isValidRePassword:false,
	isValidMail:false,
		
	
	updateAntispam:function(poleName){
		var container = $("#antispam"+poleName).parent();
		container.html("<div style='padding-left: 180px;'><img src='/img/ajax-loader.gif' /></div>");
		$.ajax({
		      url: "/user/?&act=updateantispam",
		      type: "POST",
		      data: {pole_name : poleName},
		      async:true,
		      success: function(msg){
		    	  container.html(msg);
		      }
		   });
	},
	
	checkLogin:function(node){
		var self = this;
		var nodeValue = $(node).val();
		var result = true;
		var len = nodeValue.length;
		for(var i=0; i<len; i++){
			if ( !/\w/.test(nodeValue[i])) {
				result = false;
			}
		}
		if (result) {
			// Всё хорошо
			$("#latin_letters_login").css("color", "#838383");
			if (nodeValue > '')
				$.ajax({
			      url: "?act=checkLogin",
			      type: "POST",
			      data: {login : nodeValue},
			      async:true,
			      success: function(msg){
			    	  if (msg == "free"){
			    		  $("#free_login").show();
			    		  $("#not_free_login").hide();
			    		  self.isValidLogin = true;
			    	  } else {
			    		  $("#free_login").hide();
			    		  $("#not_free_login").show();
			    	  }
			      }
			   });
		   else {
			   $("#free_login").hide();
	    	   $("#not_free_login").hide();
		   }
			   
			
		} else {
			self.isValidLogin = false;
			// Всё плохо
			$("#latin_letters_login").css("color", "red");
		}
		
	},
	
	checkPassword:function(node){
		var nodeValue = $(node).val();
		var result = true;
		var withNumber = false;
		var withLetter = false;
		var len = nodeValue.length;
		for(var i=0; i<len; i++){
			if ( !/\w/.test(nodeValue[i])) {
				result = false;
			}
			if ( /[0-9]/.test(nodeValue[i])) {
				withNumber = true;
			}
			if ( /[a-zA-Z]/.test(nodeValue[i])) {
				withLetter = true;
			}
		}
		$("#savety_password").hide();
		if (result) {
			// Всё хорошо
			this.isValidPassword = true; 
			$("#check_password").css("color", "#838383");
			if (nodeValue.length > 6 && withNumber && withLetter){
				$("#savety_password").show();
			}
		} else {
			this.isValidPassword = false; 
			// Всё плохо
			$("#check_password").css("color", "red");
		}
		
	},
	checkRepassword:function(node){
		var nodeValue = $(node).val();
		$("#repassword_match").hide();
		if ($("#password_r").val() != nodeValue){
			this.isValidRePassword = false;
			$("#repassword_match").show();
		} else
			this.isValidRePassword = true;
	},
	checkAntispam:function(){
		var result = false;
		var nodeValue = $("#capcha").val();
		$.ajax({
		      url: "?act=checkAs",
		      type: "POST",
		      data: {capcha : nodeValue},
		      async: false,
		      success: function(msg){
		    	  if (msg == "checked"){
		    		  result = true;
		    	  } else {
		    		  result = false;
		    	  }
		      }
		   });
		return result;
	},
	checkMail:function(){
		var self = this;
		this.isValidMail = false;
		var nodeValue = $("#mail_r").val();
		$.ajax({
		      url: "?act=checkMail",
		      type: "POST",
		      data: {mail : nodeValue},
		      async: false,
		      success: function(msg){
		    	  if (msg == "free"){
		    		  $("#free_mail").hide();
		    		  self.isValidMail = true;
		    	  } else {
		    		  $("#free_mail").show();
		    		  self.isValidMail = false;
		    	  }
		      }
		   });
	},
	checkForm:function(){
		
		//.css("border", "1px solid #D0CEC7")
		var msg = "";
		var isEmpty = false;
		if ($("#login_r").val() == ""){
			msg += "Login is empty! ";
			isEmpty = false;
			$("#login_r").parent().css("border", "1px solid #C80000");
		} else {
			$("#login_r").parent().css("border", "1px solid #009E29");
		}
		if (!this.isValidLogin){
			msg += "Login is not valid! ";
			$("#login_r").parent().css("border", "1px solid #C80000");
		} else {
			$("#login_r").parent().css("border", "1px solid #009E29");
		}
		/*
		if ($("#name_r").val() == ""){
			msg += "Name is empty! ";
			isEmpty = false;
			$("#name_r").parent().css("border", "1px solid #C80000");
		} else {
			$("#name_r").parent().css("border", "1px solid #009E29");
		}
		if ($("#last_name_r").val() == ""){
			msg += "Last name is empty! ";
			isEmpty = false;
			$("#last_name_r").parent().css("border", "1px solid #C80000");
		} else {
			$("#last_name_r").parent().css("border", "1px solid #009E29");
		}*/
		if ($("#mail_r").val() == ""){
			msg += "Mail is empty! ";
			isEmpty = false;
			$("#mail_r").parent().css("border", "1px solid #C80000");
		} else {
			$("#mail_r").parent().css("border", "1px solid #009E29");
		}
		if (!this.isValidMail){
			msg += "Mail is not valid! ";
			isEmpty = false;
			$("#mail_r").parent().css("border", "1px solid #C80000");
		} else {
			$("#mail_r").parent().css("border", "1px solid #009E29");
		}
		if ($("#password_r").val() == ""){
			msg += "Password is empty! ";
			isEmpty = false;
			$("#password_r").parent().css("border", "1px solid #C80000");
		} else {
			$("#password_r").parent().css("border", "1px solid #009E29");
		}
		if (!this.isValidPassword){
			msg += "Password is not valid! ";
			$("#password_r").parent().css("border", "1px solid #C80000");
		} else {
			$("#password_r").parent().css("border", "1px solid #009E29");
		}
		if ($("#re_password_r").val() == ""){
			msg += "Repeat password is empty! ";
			isEmpty = false;
			$("#re_password_r").parent().css("border", "1px solid #C80000");
		} else {
			$("#re_password_r").parent().css("border", "1px solid #009E29");
		}
		if (!this.isValidRePassword){
			msg += "Repeat password is not valid! ";
			$("#re_password_r").parent().css("border", "1px solid #C80000");
		} else {
			$("#re_password_r").parent().css("border", "1px solid #009E29");
		}
		if ($("#capcha").val() == ""){
			msg += "Antispam is empty! ";
			isEmpty = false;
			$("#capcha").parent().css("border", "1px solid #C80000");
		} else {
			$("#capcha").parent().css("border", "1px solid #009E29");
		}
		if (!this.checkAntispam()){
			msg += "Antispam is not valid! ";
			$("#capcha").parent().css("border", "1px solid #C80000");
		} else {
			$("#capcha").parent().css("border", "1px solid #009E29");
		}
		if (!$("#accept").is(":checked"))
			msg += "You do not agree with the rules of registration!";
		if (msg != ''){
			$('#reg_msg').remove();
			$("body").append("<div style='width: 520px; height: 100px; background: #F7F8F3;' id='reg_msg'><div  style='position: absolute; top: 5px; left: 5px;'><img style='float: left;' src='/extentions/images/alarm.png'/><span style='padding-left: 10px; font-size: 20px;'>Registration failed!</span><div style='padding-top: 15px;'>"+msg+"</div>");
			$("#reg_msg").fancybox({
				'overlayOpacity': '0',
				'overlayColor': '#eae6e2',
				'scrolling'		: 'no',
				'centerOnScroll': true,
				'titleShow'		: false,
				'onStart'		: function() {
					$("#fancybox-wrap").addClass("login_form");
					$("#fancybox-outer").css("background", "#F7F8F3");
					setTimeout(function(){$("#fancybox-wrap").css("height", "180px");}, 100);
				},
				'onClosed'		: function() {
					$("#fancybox-wrap").removeClass("login_form");
					$("#fancybox-outer").css("background", "");
					$("#reg_msg").remove();
				}
			});
			$("#field_empty").css("color", "#C80000");
			$("#reg_msg").click();
		} else {
			$("#field_empty").css("color", "#009E29");
			$("#registerForm").submit();
		}
	},
	checkEditForm:function(){
		var msg = "";
		if ($("#name_r").val() == "")
			msg += "Name is empty! ";
		if ($("#last_name_r").val() == "")
			msg += "Last name is empty! ";
		if ($("#capcha").val() == "")
			msg += "Antispam is empty! ";
		if (!this.checkAntispam())
			msg += "Antispam is not valid!";
		if (msg != ''){
			$('#reg_msg').remove();
			$("body").append("<div style='width: 520px; height: 100px; background: #F7F8F3;' id='reg_msg'><div  style='position: absolute; top: 5px; left: 5px;'><img style='float: left;' src='/extentions/images/alarm.png'/><span style='padding-left: 10px; font-size: 20px;'>Registration failed!</span><div style='padding-top: 15px;'>"+msg+"</div>");
			$("#reg_msg").fancybox({
				'overlayOpacity': '0',
				'overlayColor': '#eae6e2',
				'scrolling'		: 'no',
				'centerOnScroll': true,
				'titleShow'		: false,
				'onStart'		: function() {
					$("#fancybox-wrap").addClass("login_form");
					$("#fancybox-outer").css("background", "#F7F8F3");
				},
				'onClosed'		: function() {
					$("#fancybox-wrap").removeClass("login_form");
					$("#fancybox-outer").css("background", "");
					$("#reg_msg").remove();
				}
			});
			$("#reg_msg").click();
		} else {
			$("#registerForm").submit();
		}
	},
	
	addFavoriteCommon:function(extId, docId){
		$.ajax({
		      url: "/user/?act=addFavorite",
		      type: "POST",
		      data: {extId : extId, docId : docId},
		      async: false,
		      success: function(msg){
		    	  $("#favorite_ext_"+extId+"_doc_"+docId).replaceWith("Added to favorite!");
		      }
		 });
	},
	
	editComment:function(id){
		var text = $("#comment_text_"+id).val();
		$.ajax({
		      url: "/user/?&act=comment",
		      type: "POST",
		      data: {text : text, id : id, ext_act : 'update_data'},
		      async:true,
		      success: function(msg){
		    	  $("#result_"+id).html("ok");
		    	  setTimeout(function(){
		    		  $("#result_"+id).html("");
		    	  },3000);
		      }
		   });
	}
};
