function EnforceMaximumLength(fld,len) 
{
  if(fld.value.length>len)
	{ 
		fld.value = fld.value.substr(0,len); 
	}
}

function EnforceMaximumLengthMSG(fld,len,err_obj,msg) 
{
  if(fld.value.length > len) 
  { 
	fld.value = fld.value.substr(0,len); 
	$("#"+err_obj).css('display','block');
	$("#"+err_obj).html(msg);
  }
  else
  {
    $("#"+err_obj).html('');
    $("#"+err_obj).css('display','none');
  }
}

function checkGroup(u)
{
  var frm=$("#create_text");
  var moders=$("#moders");
  var tags=$("#interests");
  var name=$("#name");
  var slug=$("#slug");
  
  if(name.attr("value").length<3 ||
     slug.attr("value").length<3 ||
     tags.attr("value").length==0)
  {
    alert("Название, название на английском и поле интересы обязательны для заполнения");
  } 
  else
  {
    var post_data="group_name="+slug.attr("value");
    if(u)
      post_data="group_name="+slug.attr("value")+"&id="+u;
    $.ajax({
      url: "/index.php?admin/ajax_check_groupname",
      type: "POST",
      data: post_data,
      cache: false,
      success: function(msg){
        switch(msg)
        {
        case "good":
          frm.submit();
          break;
        case "bad":
          alert("Группа с таким названием (английским) уже есть. Выберите друге название.");
          break;
        case "error":
          alert("Произошла какая то ошибка.");
          break;
        }
      }
    });
  }
}

function deleteGroup(g)
{
  if(confirm('Точно удалить?'))
  {
    location.href="/admin/delete_group/"+g+"/";
  }
  return false;  
}

function checkUserProfession(fld,len)
{
  fld=$("#"+fld).attr("value");
  if(fld.length>len)
 	return false;
  else
    return true;
}

function checkUserProfile()
{
  var fname=$("#field_fname").attr("value");
  var lname=$("#field_lname").attr("value");
  var nickname=$("#field_nickname").attr("value");
  var profession=$("#field_profession").attr("value");
  
  
  var dv_fname=$("#form_fname");
  var dv_lname=$("#form_lname");
  var dv_nickname=$("#form_nickname");
  var dv_profession=$("#form_profession");
  
  var flag=true;
  
  dv_fname.removeClass("c60");
  dv_lname.removeClass("c60");
  dv_nickname.removeClass("c60");
  dv_profession.removeClass("c60");
  
  $("#nne").remove();
    
  if(fname.length<2) {
    dv_fname.addClass("c60");
    $("#field_fname").focus();
    $("#nickname_error").show();
    flag=false;
  }
  if(lname.length<2) {
    dv_lname.addClass("c60");
    $("#field_lname").focus();
    $("#nickname_error").show();
    flag=false;
  }
  if(nickname.length<2) {
    dv_nickname.addClass("c60");
    $("#field_nickname").focus();
    flag=false;
  }
  
  if(flag)
  {
    var old_id=$("#old_id").attr("value");
    $.ajax({
      url: "/index.php?users/ajax_check_exist_nickname",
      type: "POST",
      data: "old_id="+old_id+"&new_nick="+nickname,
      cache: false,
      success: function(msg){
        switch(msg)
        {
        case "1":
          $("#nickname_error").hide();
          
          dv_nickname.after("<div id='nne'>Этот никнейм уже занят другим пользователем.</div>");
          $("#nne").addClass("error");
          $("#nne").css("top","134px");
          dv_nickname.addClass("c60");
          $("#field_nickname").focus();
          flag=false;
          break;
        
        case "0":
          $("#nne").remove();
          $("#edit_profile").submit();
          break;
        }  
      }
    });
  }
}

function sendUserProfileComment(comments,user,sender,txt,error)
{
  user=$("#"+user).attr("value");
  sender=$("#"+sender).attr("value");
  text=$("#"+txt).attr("value");
  
  $("#"+error).hide();
  
  if(text.length<5) 
  { 
    $("#"+error).show(); 
    $("#"+error).html("Вы не написали комментарий или он слишком короткий."); 
  }
  else 
  { 
    $.ajax({
      type: "POST",
      url: "/?users/ajax_add_comment/",
      data: "user_id="+user+"&commenter_id="+sender+"&text="+text,
      success: function(msg){
        var cur=$("#"+comments).html();
        $("#"+comments).html(cur+msg);
      }
    });
    $("#"+txt).attr("value","");  
  }
}

function votePost(p,l,c)
{
  $.ajax({
    type: "POST",
    url: "/?users/ajax_vote_post/",
    data: "post_id="+p,
    success: function(votes){
      if(votes=='bad')
        alert("error"); 
      else
      {  
        $("#"+l+"_top").hide();
        $("#"+l+"_side").hide();
        $("#"+c+"_top").html("+"+votes);
        $("#"+c+"_side").html(votes);
      }
    }
  });
  return false;
}

function addSubscription(s)
{
  $.ajax({
    type: "POST",
    url: "/?users/ajax_add_subscription/",
    data: "user_id="+s,
    success: function(msg){
      switch(msg)
      {
      case "good":  
        $("#usr"+s+"_subscriptionadd").hide();
        $("#usr"+s+"_subscriptiondrop").show();
        break;
      }
    }
  });
  return false;
}

function dropSubscription(s)
{
  $.ajax({
    type: "POST",
    url: "/?users/ajax_drop_subscription/",
    data: "user_id="+s,
    success: function(msg){
      switch(msg)
      {
      case "good":
        $("#usr"+s+"_subscriptiondrop").hide();
        $("#usr"+s+"_subscriptionadd").show();
        break;
      }
    }
  });
  return false;
}

function addGroupSubscription(s)
{
  $.ajax({
    type: "POST",
    url: "/?groups/ajax_subscribe/",
    data: "group_id="+s,
    success: function(msg){
      switch(msg)
      {
      case "good":  
        $("#gr"+s+"_subscriptionadd").hide();
        $("#gr"+s+"_subscriptiondrop").show();
        break;
      }
    }
  });
  return false;
}

function dropGroupSubscription(s)
{
  $.ajax({
    type: "POST",
    url: "/?groups/ajax_unsubscribe/",
    data: "group_id="+s,
    success: function(msg){
      switch(msg)
      {
      case "good":
        $("#gr"+s+"_subscriptiondrop").hide();
        $("#gr"+s+"_subscriptionadd").show();
        break;
      }
    }
  });
  return false;
}

function addFriend_simple(friend)
{
  $.ajax({
    type: "POST",
    url: "/?users/ajax_add_friend/",
    data: "user_id="+friend,
    success: function(msg){
      switch(msg)
      {
      case "good":  
        $("#usr"+friend+"_friendadd_simple").hide();
        $("#usr"+friend+"_frienddrop_simple").show();
        break;
      }
    }
  });
  return false;
}

function dropFriend_simple(friend)
{
  $.ajax({
    type: "POST",
    url: "/?users/ajax_drop_friend/",
    data: "user_id="+friend,
    success: function(msg){
      switch(msg)
      {
      case "good":
        $("#usr"+friend+"_frienddrop_simple").hide();
        $("#usr"+friend+"_friendadd_simple").show();
        break;
      }
    }
  });
  return false;
}

function addFriend(friend,counter,panel)
{
  $.ajax({
      type: "POST",
      url: "/?users/ajax_add_friend/",
      data: "user_id="+friend,
      success: function(msg){
        switch(msg)
        {
        case "good":
          $(".f-usr"+friend+"_friendadd, .s-usr"+friend+"_friendadd, .c-usr"+friend+"_friendadd").hide();
          $(".f-usr"+friend+"_frienddrop, .s-usr"+friend+"_frienddrop, .c-usr"+friend+"_frienddrop").show();
          if(panel)
          {
            $("#fffr").show();
            var frs=$("#"+panel).html();
            $.ajax({
              type: "POST",
              url: "/?users/ajax_get_user/",
              data: "user_id="+friend,
              success: function(msg){
                $(".f-usr"+friend).hide();
                $("#"+panel).html(msg+frs);
                $(".f-usr"+friend).show("slow");
              }
            });
          }
          if(counter)
          {
            var num=$("#"+counter).html();
            num++;
            $("#"+counter).html(num);
          }
          break;
        case "bad":
          alert("Error");
          break;
        }
      }
  });
  return false;
}

function dropFriend(friend,remove,counter)
{
  $.ajax({
      type: "POST",
      url: "/?users/ajax_drop_friend/",
      data: "user_id="+friend,
      success: function(msg){
        switch(msg)
        {
        case "good":
          $(".f-usr"+friend+"_frienddrop, .s-usr"+friend+"_frienddrop, .c-usr"+friend+"_frienddrop").hide();
          if(remove)
          {
            $(".usr"+friend).hide("slow");
            $(".s-usr"+friend+"_friendadd, .c-usr"+friend+"_friendadd").show();
            if(counter)
            {
              var num=$("#"+counter).html();
              if(num>0) num--;
              $("#"+counter).html(num);
            }
          }
          if(!remove)
            $(".f-usr"+friend+"_friendadd, .s-usr"+friend+"_friendadd, .c-usr"+friend+"_friendadd").show();
          
          break;
        case "bad":
          alert("Error");
          break;
        }
      }
  });
  return false;
}

function addComment(post_id,tf,c)
{
  var t=$("#"+tf).attr("value");
  if(t.length>3)
  {
    
    
    
    $.ajax({
      url: "/index.php?posts/ajax_add_comment",
      type: "POST",
      data: "post_id="+post_id+"&text="+t,
      cache: false,
      success: function(res){
        
        
        if(res!="bad")
        {
          $("#"+tf).attr("value","");
          $(res).insertBefore("#add_comment_form");
          
          $.ajax({
            url: "/index.php?posts/ajax_comments_count",
            type: "POST",
            data: "post_id="+post_id,
            cache: false,
            success: function(cnt){
              if(res!="bad")
                $("#comments_score").html("×"+cnt);
            }
          });
          
        }
        else alert("Все плохо :(");
        
      }
    });
    
  }
  else alert("Слишком мало текста");
}

function deleteComment(c)
{
  $.ajax({
    url: "/index.php?posts/ajax_delete_comment",
    type: "POST",
    data: "comment_id="+c,
    cache: false,
    success: function(res){
      if(res!="bad")
      {
        $("#comment"+c).remove();
        if(res>0) $("#comments_score").html("×"+res);
        else      $("#comments_score").html("0");
      }
      else alert("Произошла какая то ошибочка!");
    }
  });
}

function addPageComment(page_id,tf,c)
{
  var t=$("#"+tf).attr("value");
  if(t.length>3)
  {
    $.ajax({
      url: "/index.php?pages/ajax_add_comment",
      type: "POST",
      data: "page_id="+page_id+"&text="+t,
      cache: false,
      success: function(res){
        if(res!="bad")
        {
          $("#"+tf).attr("value","");
          $(res).insertBefore("#add_comment_form");
          
          $.ajax({
            url: "/index.php?pages/ajax_comments_count",
            type: "POST",
            data: "page_id="+page_id,
            cache: false,
            success: function(cnt){
              if(res!="bad")
                $("#comments_score").html("×"+cnt);
            }
          });
        }
        else alert("Все плохо :(");
      }
    });
  }
  else alert("Слишком мало текста");
}

function deletePageComment(c)
{
  $.ajax({
    url: "/index.php?pages/ajax_delete_comment",
    type: "POST",
    data: "comment_id="+c,
    cache: false,
    success: function(res){
      if(res!="bad")
      {
        $("#comment"+c).remove();
        if(res>0) $("#comments_score").html("×"+res);
        else      $("#comments_score").html("0");
      }
      else alert("Произошла какая то ошибочка!");
    }
  });
}


function proc_login()
{
  var nick=$("#login_name").attr("value");
  var psw =$("#pass1").attr("value");
  $("#error").css("display","none");
  $.ajax({
    url: "/index.php?users/ajax_check_login",
    type: "POST",
    data: "nick="+nick+"&psw="+psw,
    cache: false,
    success: function(msg){
      switch(msg)
      {
      case "0":
        $("#login_form").submit();
        break;
      case "1":
        $("#error").html("Вы ошиблись в логине и/или пароле.");
        $("#error").css("display","block");
        break;
      }
    }
  });
}

function get_cities(country)
{
	if(country>0)
	{
	  $("#sel_cities").attr("disabled","true");
	  $("#sel_cities").html("<option>...</option>");
	  $.ajax({
      url: "/index.php?users/ajax_get_cities",
      type: "POST",
      data: ({c : country}),
		  cache: false,
      success: function(text){
        $("#sel_cities").html(text);
        $("#sel_cities").removeAttr("disabled");
        $("#sel_cities").show();
      }
    });
  }
  else 
  {
    $("#sel_cities").hide();
  }
}

function check_profile_edit_form()
{
	$("#edit_profile").submit();
}

function check_reg_step1_form()
{
  var nick=$("#nick_form").attr("value");
  var mail=$("#mail_form").attr("value");
  var psw=$("#psw").attr("value");
  var psw2=$("#psw2").attr("value");
  if(nick.length>0 && mail.length>0 && psw.length>0 && psw2.length>0)
  {
    if(nick.length<3)
    {
      $("#error").show();
	  $("#error").html("Слишком короткий никнейм.");
    }
    else
    {
  	  $("#error").hide();
      if(psw==psw2)
      {
        $("#error").hide();
        if($("#agree").is(':checked'))
	    {
	      $("#error").hide();
		  $.ajax({
            type: "POST",
            url: "/index.php?users/ajax_check_regdata",
            data: "nick="+nick+"&mail="+mail,
            success: function(msg){
              switch(msg)
              {
              case "0": 
  		        $("#reg_1").submit(); 
			    break;
		      case "1": 
 			    $("#error").show();
			    $("#error").html("Выбранный никнейм уже занят другим пользователем. Придумайте другой."); 
			    break;     
			  case "2": 
 			    $("#error").show();
			    $("#error").html("Этот адрес электронной почты уже используется кем то."); 
			    break;     
		      case "22": 
			    $("#error").show();
			    $("#error").html("Вы указали адрес электронной почты в неверном формате."); 
			    break;     
		      case "3": 
			    $("#error").show();
			    $("#error").html("Выбранный никнейм и адрес электронной почты уже используются кем то."); 
		        break;
		      case "4": 
		        $("#error").show();
		        $("#error").html("Необходимо заполнить все поля этой формы.");
			    break;
              }
            }
          });
        }
        else
        {
          $("#error").show(); 
		  $("#error").html("Вы должны принять условия использования сайта.");
        }
      }
      else
      {
        $("#error").show(); 
	    $("#error").html("Пароли не совпадают.");
	  }
	}
  }
  else 
  {
  	$("#error").show();
	$("#error").html("Необходимо заполнить все поля этой формы.");
  }
}

function confirm_delete_post(p)
{
  if(confirm('Точно удалить?'))
  {
    location.href="/materials/delete/"+p+"/";
  }
  return false;
}

function check_edit_post_form()
{  
  var title=$("#field_title").attr("value");
  var lead=$("#field_lead").attr("value");  
  var tags=$("#field_tags").attr("value");
  
  var re = /\s{2,}/gi;
  lead=lead.replace(re,' ');
  $("#field_lead").attr("value",lead);
        
  var dv_title=$("#form_title");
  var dv_lead=$("#form_lead");
  var dv_tags=$("#form_tags");
  
  var flag=true;
  
  dv_title.removeClass("c60");
  dv_lead.removeClass("c60");
  dv_tags.removeClass("c60");
    
  if(title.length<2) {
    dv_title.addClass("c60");
    $("#field_title").focus();
    flag=false;
  }
  if(lead.length<2) {
    dv_lead.addClass("c60");
    $("#field_lead").focus();
    flag=false;
  }
  if(tags.length<2) {
    dv_tags.addClass("c60");
    $("#field_tags").focus();
    flag=false;
  }
  
  if(flag)
  {
    $("#create_text").submit();
  }
}

$(document).ready(function() {
	$(".not_logged #quit").click(function () {  
		$("#for_popup").show();
		$("#for_popup #login_name").focus();
		location.hash = "#login-form";
		return false;
	});
	if ($.browser.opera) {
		$(".submit").css("padding","3px");
	}

	var tagl=$("#all_tags li").length;
	for (i=0; i<tagl; i++) {
		var x=$("#all_tags li:eq("+i+") a").width();
		if (x>240) {
			$("#all_tags li:eq("+i+") a").siblings('.bg_note').css('position','absolute');
		}
	}
	
	$(window).hashchange(function(){
		if(location.hash == "#login-form")
			$("#for_popup").show();	
		else
			$("#for_popup").hide();	
	});

	$(window).hashchange();

/*
var svg=Raphael("content",996,498);
var tags=svg.set();
tags.push(
svg.circle(151,151,150),
svg.circle(747,248,248)
);
tags.attr({stroke:"#000","stroke-width":"1"});*/

});
