$(function() { 
    var options = { 
        beforeSubmit:  AjaxFormAction.onSubmit,  // pre-submit callback 
        success: AjaxFormAction.processJson,  	  // post-submit callback
        dataType: "json" 
 	}; 
    $('.ajax_form').ajaxForm(options); 
    var options2 = {
    	beforeSubmit:  AjaxFormAction.onSubmit2,  // pre-submit callback 
        success: AjaxFormAction.processJson2,  	  // post-submit callback
        dataType: "json" 
 	};
    $('.ajax_form2').ajaxForm(options2); 
    var rich_options = {
    	beforeSubmit:  AjaxFormAction.onSubmit2,  // pre-submit callback 
        success: AjaxFormAction.processJson,  	  // post-submit callback
        dataType: "json" 
 	}; 
    $('.rich_editor_form').ajaxForm(rich_options);
    $(".list_block table tr:nth-child(even)").addClass("even-line");
    /*$('a.item_delete').click(function(){
    	var _url = this.href;
    	AjaxRest.deleteItem(_url);
    	return false;
    });*/
    
	$('#select_all').click(function(){
		if ($(this).attr('checked') == true){
			$('form input[@type=checkbox]').attr('checked',true);
		}
		else {
			$('form input[@type=checkbox]').removeAttr('checked');
		}
	});
	
    
	Date.firstDayOfWeek = 7;
	Date.format = 'yyyy-mm-dd';
	$('.datepicker').datePicker({startDate:'1900-01-01'}).mask("9999-99-99", {placeholder:"_"});
}); 

Date.monthNames = ['1月份', '2月份', '3月份', '4月份', '5月份', '6月份', '7月份', '8月份', '9月份', '10月份', '11月份', '12月份'];

var AjaxFormAction = {
	
	onSubmit : function (formData, jqForm, options){
		//$('.message').html('').removeClass('message');
	},
	
	onSubmit2 : function (formData , jqForm , options){
		AjaxFormAction.onSubmit(formData, jqForm, options);
		for (var i=0; i < formData.length; i++) { 
        	if (formData[i].name == "page_content"){
               	var ed = tinyMCE.get('page_content');
               	formData[i].value = ed.getContent();
            }
        } 
    	return AjaxFormAction.onSubmit(formData, jqForm, options); 	
	},

	onSuccess: function (responseText, statusText){	},

	processJson: function (data) {
		$('.errField').removeClass('errField');
		if (data.action == "redirect"){
			window.location = data.url;
		}
		else if (data.action == "success"){
			$("#" + data.id).html(data.message).addClass("message");
			$('#' + data.form_name).clearForm();
			for (var key in data.params){
				if ($('#' + key).is("input")){
					$('#' + key).val(data.params[key]);
				}
				else {
					$('#' + key).html(data.params[key]);
				}
			}
		}
		else {
			$('.message').html('');
			$('.errfield').removeClass('errfield');
			var focus_field = "";
			var msg = "<ul>";
			for (var key in data.errors){
				if (focus_field == ""){
					focus_field = key;
				}
				msg = msg + "<li>" + data.errors[key] + "</li>";
				$("#" + key).addClass("errfield");
			}
			msg = msg + "</ul>";
			$("#" + data.id).html(msg).addClass("message");
			/*if  (focus_field != ""){
				$("#" + focus_field).focus();
			}*/
		}
	},
	
	processJson2: function (data) {
		$('.errField').removeClass('errField');
		if (data.action == "redirect"){
			window.location = data.url;
		}
		else if (data.action == "success"){
			$("#" + data.id).html(data.message).addClass("message");
			$('#' + data.form_name).clearForm();
			for (var key in data.params){
				if ($('#' + key).is("input")){
					$('#' + key).val(data.params[key]);
				}
				else {
					$('#' + key).html(data.params[key]);
				}
			}
		}
		else {
			var focus_field = "";
			$('.errmsg').html("").removeClass('errmsg');
			for (var key in data.errors){
				if (focus_field == ""){
					focus_field = key;
				}
				$('#e_'+ key).html(data.errors[key]).addClass("errmsg");
				$("#" + key).addClass("errfield");
			}
			if  (focus_field != ""){
				$("#" + focus_field).focus();
			}
		}
	}
}

var AjaxRest = {
	deleteItem : function (_url) {
		var options = {
			url: _url,
			type: "GET",
			success:  AjaxRest.onDelete
		} 
		$.ajax(options);
	},
	
	getList: function (_url, _target){
		$(_target).load(_url);
	},
	
	onDelete : function (data) {
		var _url = "", _target = "";
		if (data.action == "success"){
			for (var next = 0; next < data.params.length ; next ++){
				if (data.params[next].id == "url"){
					_url = data.params[next].value;
				}
				else if (data.params[next].id == "target"){
					_target = data.params[next].value;
				}
			}
			if (_url && _target){
				$(_target).load(_url);
			}
		}
	}
}