function makeWaiting(id, big) { var elem = document.getElementById(id); if (document.getElementById("ajaxDiv") != null) return; var newdiv; switch (big) { case 2: //fading ajax icon newdiv = document.createElement("div"); var top = elem.offsetTop; var left = elem.offsetLeft; var upperElem = elem.offsetParent; while (upperElem) { top += upperElem.offsetTop; left += upperElem.offsetLeft; upperElem = upperElem.offsetParent; } newdiv.style.top = top + "px"; newdiv.style.left = left + "px"; newdiv.style.width = elem.offsetWidth + "px"; newdiv.style.height = elem.offsetHeight + "px"; newdiv.setAttribute("id", "ajaxDiv"); newdiv.className = "ajaxloadingFadingNoImg"; elem.appendChild(newdiv); keepFading("ajaxDiv", 0); break; case 1: //singleElement & small Ajax icon newdiv = document.createElement("div"); var top = elem.offsetTop; var left = elem.offsetLeft; var upperElem = elem.offsetParent; while (upperElem) { top += upperElem.offsetTop; left += upperElem.offsetLeft; upperElem = upperElem.offsetParent; } newdiv.style.top = top + "px"; newdiv.style.left = left + "px"; newdiv.style.width = elem.offsetWidth + "px"; newdiv.style.height = elem.offsetHeight + "px"; newdiv.setAttribute("id", "ajaxDiv"); newdiv.className = "ajaxloadingSingleSmall"; if (elem.tagName.toLowerCase() != "div") document.body.appendChild(newdiv); else elem.appendChild(newdiv); break; case 4: //singleElement & big Ajax icon newdiv = document.createElement("div"); var top = elem.offsetTop; var left = elem.offsetLeft; var upperElem = elem.offsetParent; while (upperElem) { top += upperElem.offsetTop; left += upperElem.offsetLeft; upperElem = upperElem.offsetParent; } newdiv.style.top = top + "px"; newdiv.style.left = left + "px"; newdiv.style.width = elem.offsetWidth + "px"; newdiv.style.height = elem.offsetHeight + "px"; newdiv.setAttribute("id", "ajaxDiv"); newdiv.className = "ajaxloadingSingleBig"; elem.appendChild(newdiv); break; default: //fullscreen ajax icon newdiv = document.createElement("div"); newdiv.setAttribute("id", "ajaxDiv"); newdiv.className = "ajaxloadingFullScreen"; if (window.pageYOffset) newdiv.style.top = window.pageYOffset + "px"; else newdiv.style.top = document.documentElement.scrollTop + "px"; elem.appendChild(newdiv); break; } } function finishWaiting() { var ajaxDiv = document.getElementById("ajaxDiv"); if (ajaxDiv == null) return; ajaxDiv.parentNode.removeChild(ajaxDiv); } function ImgReplace(img,s1, s2) { img.src = img.src.replace(s1,s2); } function ClassReplace(id,s1,s2) { var elem = document.getElementById(id); if(elem != null) { elem.className = elem.className.replace(s1,s2); } } function Show(id) { var elem = document.getElementById(id); elem.style.display=""; } function Hide(id) { var elem = document.getElementById(id); elem.style.display="none"; } function sendNewsletter() { var inputtable = $('newsletterInput'); var name = inputtable.getFirst('* input[name=name]').value; var email = inputtable.getFirst('* input[name=email]').value; var weekly = inputtable.getFirst('* input[name=A]').checked; var monthly = inputtable.getLast('* input[name=A]').checked; if(monthly) weekly = 0; else weekly = 1; new Request.HTML({ url: '_inc/ajax.php', method: 'post', data: 'function=sendNewsletter&name=' + name + '&email=' + email + '&is_weekly=' + weekly, onRequest: function(){ makeWaiting('newsletterInput',4); }, onComplete: function(response){ finishWaiting(); response[0].replaces(inputtable); } }).send(); }