/**
 * @copyright Commercial License By LeoTheme.Com 
 * @email leotheme.com
 * @visit http://www.leotheme.com
 */
(function($) {
	$.fn.PavMegaMenuList = function(opts) {
		// default configuration
		var config = $.extend({}, {
			action:null, 
			addnew:null, 
			confirm_del:'Are you sure delete this?',
			confirm_duplicate:'Are you sure duplicate this?'
		}, opts);

		function checkInputHanlder(){
			var _updateMenuType = function(){
				$(".menu-type-group").parent().parent().hide();
				if($("[id^=url_type_]").closest('.form-group').find('.translatable-field').length)
					$("[id^=url_type_]").closest('.form-group').parent().parent().hide();
				else
					$("[id^=url_type_]").closest('.form-group').hide();
				if($("[id^=content_text_]").closest('.form-group').hasClass('translatable-field'))
					$("[id^=content_text_]").closest('.form-group').parent().parent().hide();
				else
					$("[id^=content_text_]").closest('.form-group').hide();	
				if ($("#menu_type").val() =='html' ){
					if($("[id^=content_text_]").closest('.form-group').hasClass('translatable-field'))
						$("[id^=content_text_]").closest('.form-group').parent().parent().show();
					else
						$("[id^=content_text_]").closest('.form-group').show();	
				}else if( $("#menu_type").val() =='url' ){
					if($("[id^=url_type_]").closest('.form-group').find('.translatable-field').length)
						$("[id^=url_type_]").closest('.form-group').parent().parent().show();
					else
						$("[id^=url_type_]").closest('.form-group').show();
				}
				else {
					$("#"+$("#menu_type").val()+"_type").parent().parent().show();
					if($("#menu_type").val() == 'controller')
						$("#"+$("#menu_type").val()+"_type_parameter").parent().parent().show();
				}
			};
			_updateMenuType(); 
			$("#menu_type").change(  _updateMenuType );

			// var _updateSubmenuType = function(){
				// if( $("#type_submenu").val() =='html' ){
					// $("[for^=submenu_content_text_]").parent().show();
				// }else{
					// $("[for^=submenu_content_text_]").parent().hide();
				// }
			// };
			// _updateSubmenuType();
			// $("#type_submenu").change(  _updateSubmenuType );
			
			

		}

                function manageTreeMenu(){
                    if($('ol').hasClass("sortable")){
                        $('ol.sortable').nestedSortable({
                            forcePlaceholderSize: true,
                            handle: 'div',
                            helper:	'clone',
                            items: 'li',
                            opacity: .6,
                            placeholder: 'placeholder',
                            revert: 250,
                            tabSize: 25,
                            tolerance: 'pointer',
                            toleranceElement: '> div',
                            maxLevels: 4,
                            isTree: true,
                            expandOnHover: 700,
                            startCollapsed: true,
                            stop: function(){
                                var serialized = $(this).nestedSortable('serialize');	
                                // console.log(serialized);
                                $.ajax({
                                    type: 'POST',
                                    url: config.action+"&ajax=1&doupdatepos=1&rand="+Math.random(),
                                    data : serialized+'&updatePosition=1',
                                    dataType: 'json',
                                    cache: false,
                                }).done( function (json) {
                                    if (json && json.hasError == true){
                                        alert(json.errors);
                                    }else{
                                        showSuccessMessage(json.errors);
                                    }

                                    if ($('#id_btmegamenu').val() != 0)
                                    {
                                        var id_btmegamenu = $('#id_btmegamenu').val();
                                        var id_parent;
                                        // console.log($('#list_'+id_btmegamenu).parent().parent('li'));
                                        if ($('#list_'+id_btmegamenu).parent().parent('li').length)
                                        {
                                            id_parent = $('#list_'+id_btmegamenu).parent().parent('li').data('id-menu');
                                        }
                                        else
                                        {
                                            id_parent = 0;
                                        };
                                        $('#id_parent').find('option[selected=selected]').removeAttr("selected");
                                        $('#id_parent').find('option[value='+id_parent+']').attr('selected','selected');
                                    }
                                });
                            }
                        });


                        $('#addcategory').click(function(){
                                location.href=config.addnew;
                        });
                    }
			
			
                    $('.show_cavas').change(function(){
                        var show_cavas = $(this).val();
                        //var text = $(this).val();
                        //var $this  = $(this);
                        //$(this).val( $(this).data('loading-text') );
                        $.ajax({
                            type: 'POST',
                            url: config.action+"&show_cavas=1&rand="+Math.random(),
                            data : 'show='+show_cavas+'&updatecavas=1' 
                        }).done( function (msg) {
                            //$this.val( msg );					
                            showSuccessMessage(msg);						
                        });
                    });
		}
	 	/**
	 	 * initialize every element
	 	 */
		this.each(function() {  
	 		$(".quickedit",this).click( function(){  
	 			location.href=config.action+"&id_btmegamenu="+$(this).attr('rel').replace("id_","");
	 		} );

	 		$(".quickdel",this).click( function(){  
	 			if( confirm(config.confirm_del) ){
	 				location.href=config.action+"&dodel=1&id_btmegamenu="+$(this).attr('rel').replace("id_","");
	 			}
	 			
	 		} );
                        
                    $(".delete_many_menus",this).click( function(){
                        if (confirm('Delete selected items?'))
                        {
                            var list_menu = '';
                            $('.quickselect:checkbox:checked').each(function () {
                                list_menu += $(this).val() + ",";
                                
                            });

                            if(list_menu != ''){
                                location.href=config.action+"&delete_many_menu=1&list="+list_menu;
                            }
                        }
                    });
			
			$(".quickduplicate",this).click( function(){  
	 			if( confirm(config.confirm_duplicate) ){
	 				location.href=config.action+"&doduplicate=1&id_btmegamenu="+$(this).attr('rel').replace("id_","");
	 			}
	 			
	 		} );
	 		$(".quickdeactive",this).click( function(){
	 			location.href=config.action+"&dostatus=0&id_btmegamenu="+$(this).attr('rel').replace("id_","");
	 		} );
	 		$(".quickactive",this).click( function(){
	 			location.href=config.action+"&dostatus=1&id_btmegamenu="+$(this).attr('rel').replace("id_","");
	 		} );
			
	 		manageTreeMenu();
	 		checkInputHanlder();




		});

		return this;
	};
	
})(jQuery);


jQuery(document).ready(function(){
 	
 	$("#widgetds a.btn").fancybox( {'type':'iframe'} );
 	$(".leo-modal-action, #widgets a.btn").fancybox({
	 	'type':'iframe',
	 	'width':950,
	 	'height':500,
		beforeLoad:function(){
	 		$('.inject_widget').empty().append('<option value="">Loading...</option>').attr('disabled', 'disabled');;
	 	},
	 	afterLoad:function(){
	 		 hideSomeElement();
			$('.fancybox-iframe').load( hideSomeElement );
	 	},
 		afterClose: function (event, ui) {  
			// location.reload();
			// console.log(ui);
			if(typeof _action_loadwidget !== 'undefined')
			{
				$.ajax({
					type: 'POST',
					url: _action_loadwidget,					
				}).done( function (result) {
						$('.inject_widget').empty().append(result).show().removeAttr('disabled');						
						$('#btn-inject-widget').show();
						// console.log('Load widgets sucessfull');
						//$this.val( msg );					
						//showSuccessMessage(msg);						
					}	
				);
			}
				// console.log(_action_loadwidget);
		},	
	});
	
	$(".leo-col-class input[type=radio]").click(function() {
		if (!$(this).hasClass('active'))
		{
			// classChk = $(this).attr("name").replace("col_", "");
			classChk = $(this).data("name");
			elementText = $(this).closest('.well').find('.group-class').first();
			if ($(elementText).val() != "")
			{
				var check_class_exists = false;
				if ($(".leo-col-class input[type=radio]:checked").length)
				{
					// console.log($(".leo-col-class input[type=radio]:checked").data("name"));
					// console.log($(elementText).val());
						
					$(".leo-col-class input[type=radio]:not(:checked)").each(function(){
						// console.log($(this).data("name"));
						// console.log($(elementText).val());
						var e_val = $(elementText).val();
						// $(elementText).val(e_val.replace($(this).data("name"),""));
						// console.log($(elementText).val());
						// console.log(e_val.indexOf($(this).data("name")));
						if (e_val.indexOf($(this).data("name")) != -1) {
							$(elementText).val(e_val.replace($(this).data("name"),classChk));
							check_class_exists = true;
						}
					})			
				}
				if (check_class_exists == false)
				{
					// $(elementText).val($(elementText).val() + " " + classChk);
					if ($(elementText).val() != "")
					{
						$(elementText).val($(elementText).val() + " " + classChk);
					}
					else
					{
						$(elementText).val(classChk);
					}
				}
				
				
			}
			else
			{
				$(elementText).val(classChk);
			}
			
			$(".leo-col-class input.active").removeClass('active');
			$(this).addClass('active');
		}	
		// $(elementText).val('');
		// $(elementText).val(classChk);
		//add
		// if ($(this).is(':checked')) {
			// if ($(elementText).val().indexOf(classChk) == -1) {
				// if ($(elementText).val() != "") {
					// $(elementText).val($(elementText).val() + " " + classChk);
				// } else {
					// $(elementText).val(classChk);
				// }
			// }
		// } else {
			//remove
			// if ($(elementText).val().indexOf(classChk) != -1) {
				// $(elementText).val($(elementText).val().replace(classChk + " ", ""));
				// $(elementText).val($(elementText).val().replace(" " + classChk, ""));
				// $(elementText).val($(elementText).val().replace(classChk, ""));
			// }
		// }
	});
	
	$(".group-class").change(function() {
		elementChk = $(this).closest('.well').find('input[type=checkbox]');
		classText = $(this).val();
		$(elementChk).each(function() {
			classChk = $(this).attr("name").replace("col_", "");
			if (classText.indexOf(classChk) != -1) {
				if (!$(this).is(':checked'))
					$(this).prop("checked", true);
			} else {
				$(this).prop("checked", false);
			}
		});
	});

	$(".group-class").trigger('change');
	
	var _updateGroupType = function(){
		// console.log('test');
		if( $("#group_type").val() =='horizontal' ){
			$("#show_cavas").parent().parent().show();
			$("#type_sub").parent().parent().hide();
		}else if ( $("#group_type").val() =='vertical' ){
			$("#show_cavas").parent().parent().hide();
			$("#type_sub").parent().parent().show();
		}
	};
	_updateGroupType();
	$("#group_type").change(  _updateGroupType );
	
	if($('#megamenu').length)
	{
		$("html, body").animate({ scrollTop: $('#megamenu').offset().top - 150 }, 2000);
	}
	
	//add hook to clear cache
	// $('.list_hook').change(function(){
		
	// });
	$('.clear_cache').click(function(e){
		// console.log('aaa');
		// e.stopPropagation();
		var hook_name = $('.list_hook').val();
		var href_attr = $(this).attr('href')+$('.list_hook').val();
		// console.log(href_attr);
		$(this).attr('href',href_attr);
		// location.reload(href_attr);
		// window.location.href(href_attr);
		// return false;
	})
	
	//update position for group
	if($('ol').hasClass("tree-group")){
		$('ol.tree-group').nestedSortable({
			forcePlaceholderSize: true,
			// handle: 'div',
			helper:	'clone',
			items: 'li.nav-item',
			opacity: .6,
			placeholder: 'placeholder',
			revert: 250,
			tabSize: 600,
			// tolerance: 'pointer',
			// toleranceElement: '> div',
			maxLevels: 1,

			isTree: false,
			expandOnHover: 700,
			// startCollapsed: true,
			stop: function(){ 							
				var serialized = $(this).nestedSortable('serialize');
				// console.log(serialized);
				$.ajax({
					type: 'POST',
					url: update_group_position_link+"&ajax=1&doupdategrouppos=1&rand="+Math.random(),
					data : serialized+'&updateGroupPosition=1',
                                        dataType: 'json',
                                        cache: false,
				}).done( function (json) {
                                    if (json && json.hasError == true){
                                        alert(json.errors);
                                    }else{
                                        showSuccessMessage(json.errors);
                                    }
				});
			}
		});
	}
	//disable click when editting group
	$('.editting').click(function(){
		return false;
	})
});
 var hideSomeElement = function(){
    $('body',$('.fancybox-iframe').contents()).find("#header").hide();
    $('body',$('.fancybox-iframe').contents()).find("#footer").hide();
    $('body',$('.fancybox-iframe').contents()).find(".page-head, #nav-sidebar ").hide();
    $('body',$('.fancybox-iframe').contents()).find("#content.bootstrap").css( 'padding',0).css('margin',0);
	//remove responsive table
	$('body',$('.fancybox-iframe').contents()).find('.table.btmegamenu_widgets').parent().removeClass('table-responsive-row');

 };

jQuery(document).ready(function(){
    if($("#image-images-thumbnails img").length){
	$("#image-images-thumbnails").append('<a class="del-img btn color_danger" href="#"><i class="icon-remove-sign"></i> delete image</a>');
    }
    $(".del-img").click(function(){
        if (confirm('Are you sure to delete this image?')) {
            $(this).parent().parent().html('<input type="hidden" value="1" name="delete_icon"/>');
        }
		return false;
    });
    $(".leobootstrapmenu td").attr('onclick','').unbind('click');
});