function parseUri (str) { var o = parseUri.options, m = o.parser[o.strictMode ? "strict" : "loose"].exec(str), uri = {}, i = 14; while (i--) uri[o.key[i]] = m[i] || ""; uri[o.q.name] = {}; uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) { if ($1) uri[o.q.name][$1] = $2; }); return uri; }; parseUri.options = { strictMode: false, key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"], q: { name: "queryKey", parser: /(?:^|&)([^&=]*)=?([^&]*)/g }, parser: { strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ } }; var Zeednax = { z_notifications_unseen_notices_no: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.z_notifications_unseen_notices_no_calling_node if(calling_node !== undefined) this.z_notifications_unseen_notices_no_calling_node = calling_node this.zeednax_call('z_notifications','unseen_notices_no',argv,callback, calling_node); }, z_notifications_notification_settings: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.z_notifications_notification_settings_calling_node if(calling_node !== undefined) this.z_notifications_notification_settings_calling_node = calling_node this.zeednax_call('z_notifications','notification_settings',argv,callback, calling_node); }, z_notifications_set_email_settings: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.z_notifications_set_email_settings_calling_node if(calling_node !== undefined) this.z_notifications_set_email_settings_calling_node = calling_node this.zeednax_call('z_notifications','set_email_settings',argv,callback, calling_node); }, widgets_friends_picker_show_friends_picker_dialog: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.widgets_friends_picker_show_friends_picker_dialog_calling_node if(calling_node !== undefined) this.widgets_friends_picker_show_friends_picker_dialog_calling_node = calling_node this.zeednax_call('widgets.friends_picker','show_friends_picker_dialog',argv,callback, calling_node); }, widgets_friends_picker_show_friends_picker_list: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.widgets_friends_picker_show_friends_picker_list_calling_node if(calling_node !== undefined) this.widgets_friends_picker_show_friends_picker_list_calling_node = calling_node this.zeednax_call('widgets.friends_picker','show_friends_picker_list',argv,callback, calling_node); }, widgets_friends_picker_get_friends_list: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.widgets_friends_picker_get_friends_list_calling_node if(calling_node !== undefined) this.widgets_friends_picker_get_friends_list_calling_node = calling_node this.zeednax_call('widgets.friends_picker','get_friends_list',argv,callback, calling_node); }, widgets_friends_picker_get_friends_data_list: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.widgets_friends_picker_get_friends_data_list_calling_node if(calling_node !== undefined) this.widgets_friends_picker_get_friends_data_list_calling_node = calling_node this.zeednax_call('widgets.friends_picker','get_friends_data_list',argv,callback, calling_node); }, widgets_tagging_get_tags_list: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.widgets_tagging_get_tags_list_calling_node if(calling_node !== undefined) this.widgets_tagging_get_tags_list_calling_node = calling_node this.zeednax_call('widgets.tagging','get_tags_list',argv,callback, calling_node); }, threadedcomments_post_free_comment: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.threadedcomments_post_free_comment_calling_node if(calling_node !== undefined) this.threadedcomments_post_free_comment_calling_node = calling_node this.zeednax_call('threadedcomments','post_free_comment',argv,callback, calling_node); }, messages_post_message: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.messages_post_message_calling_node if(calling_node !== undefined) this.messages_post_message_calling_node = calling_node this.zeednax_call('messages','post_message',argv,callback, calling_node); }, messages_send_message_controls: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.messages_send_message_controls_calling_node if(calling_node !== undefined) this.messages_send_message_controls_calling_node = calling_node this.zeednax_call('messages','send_message_controls',argv,callback, calling_node); }, z_messages_send_private_message: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.z_messages_send_private_message_calling_node if(calling_node !== undefined) this.z_messages_send_private_message_calling_node = calling_node this.zeednax_call('z_messages','send_private_message',argv,callback, calling_node); }, z_messages_off_thread_message: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.z_messages_off_thread_message_calling_node if(calling_node !== undefined) this.z_messages_off_thread_message_calling_node = calling_node this.zeednax_call('z_messages','off_thread_message',argv,callback, calling_node); }, chunks_edit_chunk: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.chunks_edit_chunk_calling_node if(calling_node !== undefined) this.chunks_edit_chunk_calling_node = calling_node this.zeednax_call('chunks','edit_chunk',argv,callback, calling_node); }, social_sites_facebook_personal_publish: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.social_sites_facebook_personal_publish_calling_node if(calling_node !== undefined) this.social_sites_facebook_personal_publish_calling_node = calling_node this.zeednax_call('social_sites.facebook','personal_publish',argv,callback, calling_node); }, social_sites_facebook_official_publish: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.social_sites_facebook_official_publish_calling_node if(calling_node !== undefined) this.social_sites_facebook_official_publish_calling_node = calling_node this.zeednax_call('social_sites.facebook','official_publish',argv,callback, calling_node); }, social_sites_tweets_link_to_twitter: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.social_sites_tweets_link_to_twitter_calling_node if(calling_node !== undefined) this.social_sites_tweets_link_to_twitter_calling_node = calling_node this.zeednax_call('social_sites.tweets','link_to_twitter',argv,callback, calling_node); }, social_sites_tweets_post_tweet: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.social_sites_tweets_post_tweet_calling_node if(calling_node !== undefined) this.social_sites_tweets_post_tweet_calling_node = calling_node this.zeednax_call('social_sites.tweets','post_tweet',argv,callback, calling_node); }, social_sites_tweets_latest_tweets: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.social_sites_tweets_latest_tweets_calling_node if(calling_node !== undefined) this.social_sites_tweets_latest_tweets_calling_node = calling_node this.zeednax_call('social_sites.tweets','latest_tweets',argv,callback, calling_node); }, social_sites_tweets_shorten_url: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.social_sites_tweets_shorten_url_calling_node if(calling_node !== undefined) this.social_sites_tweets_shorten_url_calling_node = calling_node this.zeednax_call('social_sites.tweets','shorten_url',argv,callback, calling_node); }, social_sites_tweets_personal_publish: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.social_sites_tweets_personal_publish_calling_node if(calling_node !== undefined) this.social_sites_tweets_personal_publish_calling_node = calling_node this.zeednax_call('social_sites.tweets','personal_publish',argv,callback, calling_node); }, social_sites_tweets_link_to_official_twitter: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.social_sites_tweets_link_to_official_twitter_calling_node if(calling_node !== undefined) this.social_sites_tweets_link_to_official_twitter_calling_node = calling_node this.zeednax_call('social_sites.tweets','link_to_official_twitter',argv,callback, calling_node); }, social_sites_tweets_official_publish: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.social_sites_tweets_official_publish_calling_node if(calling_node !== undefined) this.social_sites_tweets_official_publish_calling_node = calling_node this.zeednax_call('social_sites.tweets','official_publish',argv,callback, calling_node); }, z_manage_z_toolbar_show_toolbar: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.z_manage_z_toolbar_show_toolbar_calling_node if(calling_node !== undefined) this.z_manage_z_toolbar_show_toolbar_calling_node = calling_node this.zeednax_call('z_manage.z_toolbar','show_toolbar',argv,callback, calling_node); }, articles_get_section_categories: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.articles_get_section_categories_calling_node if(calling_node !== undefined) this.articles_get_section_categories_calling_node = calling_node this.zeednax_call('articles','get_section_categories',argv,callback, calling_node); }, zeednax_call: function(app,fun,argv,callback, calling_node) { /* passing querystring of requester url to zeednax function call */ source_url = parseUri(document.location.href); query_string = source_url.query; if (query_string !='') query_string = '?'+query_string; /*var extended_args = $.extend(true, {}, $.zs.getState(), argv);*/ if($.param.fragment()!='') extended_args = $.extend(true, {}, {ajax_params:$.param.fragment()}, argv); else extended_args = argv; $.post('/ajax_apis/'+app+'.'+fun+'/'+query_string, extended_args, function(data){ function clear_quotes(arg){ return arg.replace(new RegExp('"', 'g'),'\\"'); } $.each(data, function(i,elem){ switch(elem.cmd) { case 'alert': alert(elem.val) break; case 'data': eval( elem.fun+"(elem.val);" ); break; case 'as': if (elem.prop == 'innerHTML') jQuery.each($(elem.id),function(){ $(elem.id).html(elem.val) }); else jQuery.each($(elem.id),function(){ this[elem.prop] = elem.val; }); break; case 'asc': if (calling_node === undefined) alert('Undefined calling_node. You called assignToCaller without passing the calling node, or you called zeednax function for a second time without passing (null) as a third parameter'); else if (elem.prop == 'innerHTML') $(calling_node).html(elem.val) else $(calling_node).html(elem.prob,elem.val) break; case 'addcc': jQuery.each(elem.val,function(){ $(elem.id).addClass(this); }); break; case 'remcc': jQuery.each(elem.val,function(){ $(elem.id).removeClass(this); }); break; case 'ap': if (elem.prop == 'innerHTML') jQuery.each($(elem.id),function(){ $(elem.id).append(elem.val) }); else jQuery.each($(elem.id),function(){ this[elem.prop] += elem.val; }); break; case 'pp': jQuery.each($(elem.id),function(){ this[elem.prop] = clear_quotes(elem.val) + this[elem.prop]; }); break; case 'clr': jQuery.each($(elem.id),function(){ this[elem.prop] = ""; }); break; case 'red': window.setTimeout('window.location="'+elem.url+'";',elem.delay); break; case 'js': eval(elem.val); break; case 'rm': $(elem.id).remove(); break; case 'cb': if( callback != undefined) if ($.isFunction(callback) ) callback.call(this,elem.val); else alert("Sorry!, your callback function is invalid, please check it out.\r\ncallback function:"+callback); break; default: alert('Unknown action!'); } }); }, "json"); } };