//easy, quick ways of referencing specific items in the DOM models var d = document; var w = window; var n = navigator; //the follwing are variables to determine the users browser for special ways of handling the differences //internet explorer browser var ie = (n.appName.indexOf('Microsoft') != -1); //internet explorer version 6 var ie6 = (ie && n.appVersion.indexOf('MSIE 6.0') != -1); //internet explorer version 7 var ie7 = (ie && n.appVersion.indexOf('MSIE 7.0') != -1); //internet explorer prior to version 6 var iep = (ie && !ie6 && !ie7); //opera var op = (n.appName.indexOf('Opera') != -1); //netscape based browser var ns = (n.appName.indexOf('Netscape') != -1); //safari var sf = (ns && n.appVersion.indexOf('Safari') != -1); //windows firefox (or gecko-based windows browser) var ff_win = (ns && !sf && !op && n.appVersion.indexOf('Windows') != -1); //macintoch firefox (or gecko-based macintosh browser) var ff_mac = (ns && !sf && !op && n.appVersion.indexOf('Macintosh') != -1); //linux firefox (or gecko-based linux browser) var ff_lin = (ns && !sf && !op && n.appVersion.indexOf('X11') != -1); // function AJAXGetRequest(requestObj, url, stateChangeFunction){ eval(requestObj + ' = createRequest()'); eval(requestObj + '.onreadystatechange = stateChangeFunction'); eval(requestObj + '.open("GET", url, true)'); eval(requestObj + '.send(null)'); } function AJAXPostRequest(requestObj, url, form_name, stateChangeFunction){ var parameters = buildPostParameterString(form_name); eval(requestObj + ' = createRequest();'); eval(requestObj + '.onreadystatechange = stateChangeFunction'); eval(requestObj + '.open("POST", url, true)'); eval(requestObj + '.setRequestHeader("Content-type", "application/x-www-form-urlencoded")'); eval(requestObj + '.setRequestHeader("Content-length", parameters.length)'); eval(requestObj + '.setRequestHeader("Connection", "close")'); eval(requestObj + '.send(parameters)'); } function createRequest(){ var requestObj; if (window.XMLHttpRequest){ requestObj = new XMLHttpRequest(); if (requestObj.overrideMimeType) requestObj.overrideMimeType('application/xml'); } else if (window.ActiveXObject){ try{ requestObj = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e){ try{ requestObj = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } return requestObj; } function buildPostParameterString(form_name){ eval('form = document.' + form_name); var text = ''; for(var i=0; i < form.elements.length; i++){ switch(form.elements[i].type){ case 'text': case 'textarea': case 'hidden': case 'password': text += (text ? '&' : '') + encodeURIComponent(form.elements[i].name) + "=" + encodeURIComponent(form.elements[i].value); break; case 'select-one': case 'select-multiple': for(var j=0; j < form.elements[i].length; j++){ if(form.elements[i].options[j].selected) text += (text ? '&' : '') + encodeURIComponent(form.elements[i].name) + "=" + encodeURIComponent(form.elements[i].options[j].value); } break; case 'checkbox': case 'radio': if(form.elements[i].checked) text += (text ? '&' : '') + form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value); break; } } return text; } // Function to clean up the unicode html entities like ' and & and return them as their characters function cleanUnicodeEntities(string) { var re = new RegExp(/&#(\d+);/g); var m; while(m = re.exec(string)) string = string.replace(string.substring(m.index,m.index+m.length+3),String.fromCharCode(string.substring(m.index+2,m.index+m.length+2))); return string; } //a quicker reference to document.getElementById() function gEBI(id){ return d.getElementById(id); }