$(document).ready(function() {
	Admin.initEventHandlers();
});
var Admin = {
		initEventHandlers: function () {
			$('._op_admin').each(
				function(i) {
					var $this = $(this)
					$this.click(function(e){
						Admin.opsubmit($this);
					});
				}
			);

			$('#save_settings_button').click(function(e)
  		{
  		  $('#save_settings_button').hide();
    		$('#ajaxld_save_settings').show();
    		setTimeout("Admin.processSaveSettings()",500);
  		});
		},
		opsubmit: function (obj) {
			var op		= obj.next().next().val();
			var uk 		= obj.next().val();
			if(op!='delete')
				var currval	= obj.prev().html();

			var url = 'framework/corecontroller.php?ts='+new Date().getTime();
			$.ajax({
				   type: "POST",
				   url: url,
				   timeout : 30000,
				   dataType: "json",
				   data: (op=='delete'||op=='confirm')?'adminopactionx=1&uk='+uk+'&op='+op:'adminopactionx=1&uk='+uk+'&currval='+currval+'&op='+op,
				   success: function(data,textStatus){
								if(data.result == "1"){
									if(!(op=='delete'||op=='confirm')){
										if(op=='block'){
											if(currval=='0')
												$('#tr_'+uk).removeClass('statusadmin').removeClass('statusblocked').addClass('statusblocked');
											else{
												$('#tr_'+uk).removeClass('statusblocked');
												if(obj.parent().next().children(".admin_no").html()=='1')
													$('#tr_'+uk).addClass('statusadmin');
											}
										}
										else if(op=='admin'){
												if(currval=='0'){
													if($('#tr_'+uk).attr('class') != 'statusblocked')
														$('#tr_'+uk).removeClass('statusadmin').addClass('statusadmin');
												}
												else
													$('#tr_'+uk).removeClass('statusadmin');
										}
										(currval=='0') ? obj.prev().html(parseInt('1')) : obj.prev().html(parseInt('0'));
									}
									else
									{
									  $.ajax({
                      type: "POST",
              				url: 'admin.php',
              				cache: false,
              				data: 'refresh_non_confirm_userslist=1',
              				success: function(data, textStatus, XMLHttpRequest) {
              				  $('tbody.tabs-2').html(data);
                      },
              				error: function(data, textStatus, XMLHttpReques){
              				  alert('Произошла ошибка!');
                      },
              				dataType: "html"});

              				$.ajax({
                      type: "POST",
              				url: 'admin.php',
              				cache: false,
              				data: 'refresh_userslist=1',
              				success: function(data, textStatus, XMLHttpRequest) {
              				  $('tbody.tabs-1').html(data);
                      },
              				error: function(data, textStatus, XMLHttpReques){
              				  alert('Произошла ошибка!');
                      },
              				dataType: "html"});
									}
								}
								else if(data.result == "-1"){
									//$('#ajaxld').hide();
								}
							},
				   error: function(data, textStatus, XMLHttpReques){
				    Admin.onopsubmiterror(XMLHttpRequest, textStatus, data)
				   }
			});
		},
		onopsubmiterror :  function(XMLHttpRequest, textStatus, errorThrown){
			if(textStatus=="error"){
				//$('#ajaxld').hide();
				//$('#error_div').html("We cant process this information right now blabla.check ur connection blabla");
			}
			else{//TODO: check other possible errors and change the error message accordingly
				//$('#ajaxld').hide();
				//$('#error_div').html("We cant process this information right now blabla.check ur connection blabla");
			}
		},
		processSaveSettings : function(event){
  		var url = 'framework/corecontroller.php?ts='+new Date().getTime();
			//$.post(url, $('#form_edit').serialize(), Editor.onsubmitcomplete,"json");
			var data = 'saveadminsettingsactionx=1';
			$('#form_admin_settings').find('input:checkbox').each(function(){
			  data+='&'+$(this)[0].id+'='+$(this)[0].checked;
      });
			$.ajax({
					type: "POST",
					url: url,
					data: data,
					success: function(data,textStatus){Admin.onsavesettingscomplete(data,textStatus);},
					error: function(data, textStatus) {
			       		Admin.onsavesettingscomplete(data,textStatus);},
					dataType: "json"});
	  },
	  onsavesettingscomplete : function(data,textStatus){
			//alert(data.name);
			if(textStatus == "success"){
					if(data.result == "1"){
						//sucessful
						alert("Ваши изменения успешно сохранены!");
					}
					else if(data.result == "-1"){
						alert("an error ocurred bla bla we should put a message for this...");
					}
				//}
			}
			else
			{
					alert("error ajax");
			}
			$('#ajaxld_save_settings').hide();
			$('#save_settings_button').show();
		}
};
