/** * Sliding functionality from bottom (purposely not using a library, but may regret it) */ var timerlen = 5; var slideAniLen = 250; var timerID = new Array(); var startTime = new Array(); var obj = new Array(); var endHeight = new Array(); var moving = new Array(); var dir = new Array(); function slidedown(objname){ if(moving[objname]) return; if(document.getElementById(objname).style.display != "none") return; // cannot slide down something that is already visible moving[objname] = true; dir[objname] = "down"; startslide(objname); } function slideup(objname){ if(moving[objname]) return; if(document.getElementById(objname).style.display == "none") return; // cannot slide up something that is already hidden moving[objname] = true; dir[objname] = "up"; startslide(objname); } function startslide(objname){ obj[objname] = document.getElementById(objname); endHeight[objname] = parseInt(obj[objname].style.height); startTime[objname] = (new Date()).getTime(); if(dir[objname] == "down"){ obj[objname].style.height = "1px"; } obj[objname].style.display = "block"; timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen); } function slidetick(objname){ var elapsed = (new Date()).getTime() - startTime[objname]; if (elapsed > slideAniLen) endSlide(objname) else { var d =Math.round(elapsed / slideAniLen * endHeight[objname]); if(dir[objname] == "up") d = endHeight[objname] - d; obj[objname].style.height = d + "px"; } return; } function endSlide(objname){ clearInterval(timerID[objname]); if(dir[objname] == "up") obj[objname].style.display = "none"; obj[objname].style.height = endHeight[objname] + "px"; delete(moving[objname]); delete(timerID[objname]); delete(startTime[objname]); delete(endHeight[objname]); delete(obj[objname]); delete(dir[objname]); return; } function toggleSlide(){ if (rnfbU==true) { var objname = 'rnBetaFb_footer'; if(document.getElementById(objname).style.display == "none"){ // div is hidden, so let's slide down slidedown(objname); }else{ // div is not hidden, so slide up slideup(objname); } } else { alert('We really want to hear from you, but to use the nifty little feedback tool, you must register first. If you do not like that idea, you can use the email links on the right side of the page to contact us too.'); } } /* process sack - feedback submit */ function rnBetaFb_SACK() { // make sure we got something and stuff if (document.getElementById('rnBetaFb_text').value != '' && document.getElementById('rnBetaFb_signedin').value == 'TRUE') { var mysack = new sack( "http://www.rustednoodle.com/wp-content/plugins/rn-beta-release-feedback/rnBetaFb-SACK.php" ); var loading_img = '


...Sending...
'; mysack.execute = 1; mysack.method = 'POST'; mysack.setVar( "fb", document.getElementById('rnBetaFb_text').value ); mysack.setVar( "rnUrl", window.location.href ); mysack.onLoading = function () { document.getElementById('rnBetaFb_footer_form').innerHTML = loading_img }; mysack.onError = function() { alert('Error. Our code failed. Could you help us out and let us know. Thanks!' )}; mysack.runAJAX(); return true; } } function rnBetaFb_fail() { var msg = '
Woops! As you can see, this did not work right.

Close This Thing'; document.getElementById('rnBetaFb_footer_form').innerHTML = msg; alert('The feedback failed. We are sorry. Please try again later.'); } function rnBetaFb_sent() { var msg = '
Thank you for your input. We appreciate your feedback and look forward to thousands of years of website bliss between us.

Close This Thing'; document.getElementById('rnBetaFb_footer_form').innerHTML = msg; }