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 = { 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); }, 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); }, 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); }, 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); }, events_view_event_details: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.events_view_event_details_calling_node if(calling_node !== undefined) this.events_view_event_details_calling_node = calling_node this.zeednax_call('events','view_event_details',argv,callback, calling_node); }, events_view_calendar: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.events_view_calendar_calling_node if(calling_node !== undefined) this.events_view_calendar_calling_node = calling_node this.zeednax_call('events','view_calendar',argv,callback, calling_node); }, events_add_event_to_cart: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.events_add_event_to_cart_calling_node if(calling_node !== undefined) this.events_add_event_to_cart_calling_node = calling_node this.zeednax_call('events','add_event_to_cart',argv,callback, calling_node); }, events_get_event_venues: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.events_get_event_venues_calling_node if(calling_node !== undefined) this.events_get_event_venues_calling_node = calling_node this.zeednax_call('events','get_event_venues',argv,callback, calling_node); }, events_get_venue_price_list: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.events_get_venue_price_list_calling_node if(calling_node !== undefined) this.events_get_venue_price_list_calling_node = calling_node this.zeednax_call('events','get_venue_price_list',argv,callback, calling_node); }, events_edit_event: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.events_edit_event_calling_node if(calling_node !== undefined) this.events_edit_event_calling_node = calling_node this.zeednax_call('events','edit_event',argv,callback, calling_node); }, events_join_unjoin: function(argv,callback, calling_node){ if(calling_node === null && calling_node !== undefined) calling_node = this.events_join_unjoin_calling_node if(calling_node !== undefined) this.events_join_unjoin_calling_node = calling_node this.zeednax_call('events','join_unjoin',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; $.post('/ajax_apis/'+app+'.'+fun+'/'+query_string, argv, 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"); } };