// // Tweet plugin // // @license Public domain // @author MARTINEAU Emeric // var add_tweet = new sack(DOKU_BASE + 'lib/plugins/dokuwikitweet/ajax.php') ; add_tweet.AjaxFailedAlert = '' ; add_tweet.encodeURIString = false ; add_tweet.method = "GET" ; // If not null, a message send var timeOutSend = null ; // Reload time (30s per default) var reloadTime = 30000 ; // If not null, clear if var timeOutReload = null ; // // Get element function getElement(id) { if (document.getElementById) { return document.getElementById(id) ; } else if (document.all) { return window.document.all[id] ; } else if (document.layers) { return window.document.layers[id] ; } return null ; } // // Get value of element of form function getValueElement(id) { var input = getElement(id) ; var value = '' ; if ((input != null) && (input != undefined)) { value = input.value ; } return value ; } // // Send message function sendMessage() { // Clear timeout to reload page clearTimeout(timeOutReload) ; var pageId = encodeURIComponent(getValueElement('tweet_page_id')) ; var user = encodeURIComponent(getValueElement('tweet_user')) ; var message = encodeURIComponent(getValueElement('tweet_msg')) ; if (message.length > 0) { if (add_tweet.setVar) { add_tweet.setVar('action', 'save') ; add_tweet.setVar('pageId', pageId) ; add_tweet.setVar('user', user) ; add_tweet.setVar('msg', message) ; add_tweet.runAJAX() ; } else { add_tweet.runAJAX( 'action=save' + '&pageId=' + pageId+ '&user=' + user+ '&msg=' + message) ; } } timeOutSend = setTimeout('reloadPage()', 2000) ; refreshPage() ; return false ; } // // Hide item function hide(id) { var tweetForm = getElement(id) ; tweetForm.style.display='none' ; tweetForm.style.visibility='hidden' ; } // // Show item function show(id) { var tweetForm = getElement(id) ; tweetForm.style.visibility='visible' ; tweetForm.style.display='block' ; } // // Reload page function reloadPage() { window.location.reload() ; } // // Set element to say page is reloading but don't reloading function refreshPage() { var tweetMsg = getElement('tweet_msg') ; tweetMsg.value = '' ; show('tweet_reloading') ; hide('tweet_form') ; } // Source from // http://www.wikistuce.info/doku.php/javascript/limiter_la_saisie_dans_un_textearea function textLimit(field, maxlen) { if (field.value.length > maxlen) { field.value = field.value.substring(0, maxlen) ; } } // // Auto reload page if message is empty function autoRefreshPage() { // Check if send a message var message = encodeURIComponent(getValueElement('tweet_msg')) ; if ((timeOutSend == null) && (message.length == 0)) { refreshPage() ; reloadPage() ; } else { timeOutReload = setTimeout("autoRefreshPage()", reloadTime) ; } }