/* CliqM.Js */
/** Cliqon Menu and Footer Functions - cliqm() 
 * cliqm.x()
 *
 *
 *******************************************************************************************************************/
    var Cliqm = (function($) {
        // initialise
        // var shared values
        var mcfg = {
            useCaching: true,
            langcd: "en"
        };
        
        /**
         * Menu links in fixed top menu of admin page
         * @param - object - the click event
         * @param - object - the DOM element
         * @return - false   
         **/
        function mnuLink(e, btn)
        {
            e.stopPropagation(); e.preventDefault();
            var data = $(btn).data(); 
            // Does it go to a Page, or is it a popup
          	if(data.page == 'nopage') {
				
				switch (data.type) {
					
                    case "url": wLoad(data.href); break;
					case "tasks":
					case "events":
					case "profile":
					case "settings":
					case "email": alert(data.type); break;
					case "logout": exitSystem(data.params); break;
					case "clearlogs": clearLogs(data.params); break;
					case "clearcache": clearCache(data.params); break;
                    case "pagelink": 
                    default:                    
                        pageLink(data.page, data.type, data.params); 
                    break; 
				};
          	} else {
					
                // Standard and repeatable
                var urlstr = '/'+data.page+'/'+jlcd+'/'+data.type;
                data.table != '' ? urlstr += '/'+data.table: null ;
                if(data.tabletype != '' && data.tabletype != undefined) {
                    urlstr += '/'+data.tabletype;
                }
                if(data.params != '' && data.params != undefined) {
                    urlstr += '/'+data.params;
                }
                uLoad(urlstr); 
          	}
        }
        
        /**
         * Footer links in fixed footer of admin page
         * @param - object - the click event
         * @param - object - the DOM element
         * @return - false
         **/
        function ftrLink(e, btn)
        {
            e.stopPropagation(); e.preventDefault();
            var data = $(btn).data(); 
            // Does it go to a Page, or is it a popup
            if(data.page == 'nopage') {
                switch (data.type) {
                    
                    case "url": wLoad(data.href); break;
                    case "tomlconverter": Cliq.convertButton(data.params); break;
                    default: alert(data.type); break;                    
                };
            } else if(data.page == 'app') {
                var wh = explode(',', data.params);
                var urlstr = '/'+data.page+'/'+data.action+'/';
                var opts = {
                    headerTitle: '<span class="caps">'+data.action+'</span>',
                    contentSize: wh[0]+' '+wh[1],
                    contentIframe: {
                        src: urlstr + '?langcd=' + jlcd,
                        name: 'popupframe',
                        style: {'border': 0, 'margin':0, 'padding':0, 'overflow':'hidden'},
                        height: (wh[1] - 5)
                    }
                };
                Cliq.win(opts);             
                return true;  
            } else {
                // Standard and repeatable
                var urlstr = '/'+data.page+'/'+jlcd+'/'+data.action;
                data.table != '' ? urlstr += '/'+data.table: null ;
                data.tabletype != '' ? urlstr += '/'+data.tabletype: null ;
                data.params != '' ? urlstr += '/?params='+data.params : null ;
                uLoad(urlstr); 
            }
        }
		function otherLink(e, btn) 
		{
			Cliq.msg({text: rel, buttons: false});
		}
		
		function pageLink(page, action, params) 
		{
			var urlstr = '/'+page+'/'+jlcd+'/'+action+'/'+params+'/';
			uLoad(urlstr);
		}
		/**
		* Clear all files in /log
		**/
		function clearLogs(params)
		{
			var opts = {
				timeout: false,
				text: lstr[136],
				type: 'info',
				buttons: [
					{addClass: 'm10 mt0 btn btn-danger btn-sm mt10', text: lstr[136], onClick: function($noty) { 
						var urlstr = '/ajax/en/clearlogs/';
						$.get(urlstr).done(function(data) {
    						$noty.close();
  						});
					}},
					{addClass: 'm10 mt0 btn btn-primary btn-sm mt10', text: lstr[30], onClick: function($noty) { $noty.close(); }}
				]
			};
			Cliq.msg(opts);
		}
		/**
		* Clear Front and Admin Cache
		**/
		function clearCache(params)
		{
			var opts = {
				timeout: false,
				text: lstr[57],
				type: 'info',
				buttons: [
					{addClass: 'm10 mt0 btn btn-danger btn-sm mt10', text: lstr[57], onClick: function($noty) { 
						var urlstr = '/ajax/en/clearcache/';
						$.get(urlstr).done(function(data) {
                            basket.clear();                            
    						$noty.close();
  						});
					}},
					{addClass: 'm10 mt0 btn btn-primary btn-sm mt10', text: lstr[30], onClick: function($noty) { $noty.close(); }}
				]
			};
			Cliq.msg(opts);
		}
		function exitSystem(params)
		{
			wLoad('/ajax/'+jlcd+'/logout/');
		}
		
        // explicitly return public methods when this object is instantiated
        return {
            // outside: inside
            footerLink: ftrLink,
            menuLink: mnuLink,
            otherLink: otherLink
        };   
    })(jQuery);  
  |