function text_change(i) { var t = document.getElementById( 'text' + i ); var l = document.getElementById( 'textl' + i ); var rs = document.getElementById( 'radio_s' + i ); if (rs.checked) { l.value = t.value.length + '/' + '32'; } else { l.value = t.value.length + '/' + '5'; } } function radio_change(size, i) { var t = document.getElementById( 'text' + i ); var l = document.getElementById( 'textl' + i ); if (size == 'l') { if (t.value.length > 5) { alert ('For large fonts the maximum number of allowed characters is 5, please modify your text'); } t.maxLength = 5; l.value = t.value.length + '/' + '5'; } else { t.maxLength = 32; l.value = t.value.length + '/' + '32'; } } function clear_bubble_radio(i) { var radios = document.getElementsByName('bubble'+i); for (var i = 0; i < radios.length; i++) { radios[i].checked = false; } } function getFormValues(fobj) { var str = ""; for(var i = 0;i < fobj.elements.length;i++) { switch(fobj.elements[i].type) { case "hidden":str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&"; break; case "text": str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&"; break; case "radio": if (fobj.elements[i].checked) { str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&"; } break; } } str = str.substr(0,(str.length - 1)); return str; } function BubbleReqChange() { var t = document.getElementById( 'thanksres' ); var d = document.getElementById( 'divres' ); var i = document.getElementById( 'imgres' ); var erHTML = 'There was an error creating your bubble, if this error persists please contact us'; if (req.readyState == 4) { if (req.status == 200) { if (req.responseXML != null) { if (req.responseText == 'no frames') { d.innerHTML = 'Please select at least one frame that uses a bubble'; return; } var img = req.responseXML.getElementsByTagName('img')[0]; var res = req.responseXML.getElementsByTagName('res')[0]; req = false; if ((img == null) || (res == null)) { d.innerHTML = erHTML; } else { // good return from php i.src = img.firstChild.nodeValue; d.innerHTML = res.firstChild.nodeValue; } } else { // responseXML is null d.innerHTML = erHTML; } } // status == 200 } // readystate = 4 } function ThanksReqChange() { var erHTML = 'There was an error submitting your bubble. Possibly, you tried to submit the same bubble more than once.'; var t = document.getElementById( 'thanksres' ); if (req.readyState == 4) { if (req.status == 200) { if (req.responseXML != null) { var tag = req.responseXML.getElementsByTagName('res')[0]; if (tag == null) { t.innerHTML = erHTML; } else { t.innerHTML = tag.firstChild.nodeValue; } } else { t.innerHTML = erHTML; } } // status = 200 } // readystate = 4 } function AjaxDo( form, url ) { var backfunc; if (form.name == 'b_form') { backfunc = BubbleReqChange; var t; var r; var c; for(var i=1; i <= 4; i++) { t = document.getElementById( 'text'+i ); if (t.value.length != 0) { c = false; r = document.getElementsByName('bubble'+i); for (var j = 0; j < r.length; j++) { if (r[j].checked) c=true; } if (!c) { alert('You seem to have forgotten to select a bubble type for frame number ' + i); return; } } } // reset old bubble if there is, we dont reset it while submitting it for our public viewing var tr = document.getElementById( 'thanksres' ); var dr = document.getElementById( 'divres' ); var ir = document.getElementById( 'imgres' ); ir.src = 'images/dot.bmp'; tr.innerHTML = ''; dr.innerHTML = ''; } else { backfunc = ThanksReqChange; } req = false; if(window.XMLHttpRequest) { try { req = new XMLHttpRequest(); } catch(e) { req = false; } } else if(window.ActiveXObject) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { req = false; } } } if(req) { var paramstr = getFormValues( form, ""); req.open("POST", url, true); req.onreadystatechange = backfunc; req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); req.send(paramstr); } }