//<![CDATA[
//
// created by:
// Brian C. Thomas bct.x42@gmail.com
// Brent Pedersen bpederse@gmail.com
// distributed under the Perl Artistic license
// See LICENSE file included
//
var ajax = [];function pjx(args,fname,method) { this.dt=args[1]; this.args=args[0]; this.method=method; this.r=ghr(); this.url = this.getURL(fname);}function getVal(id) { if (id.constructor == Function ) { return id; } if (typeof(id)!= 'string') { return id; } var element = document.getElementById(id); if (element.type == 'select-multiple') { var ans = new Array(); for (var i=0;i<element.length;i++) { if (element[i].selected) { ans.push(element[i].value); } } return ans; } if(element.type == 'radio'){ var ans =[]; var elms = document.getElementsByTagName('input'); var endk = elms.length; for(var k=0;k<endk;k++){ if(elms[k].type=='radio' && elms[k].checked && elms[k].id==id){ ans.push(elms[k].value); } } return ans; } try { return element.value.toString(); } catch(e) { try { return element.innerHTML.toString(); } catch(e) { var errstr = 'ERROR: cant get html element with id:' + id + '. Check that an element with id=' + id + ' exists'; alert(errstr); return false; } }}function fnsplit(arg) { var arg2=""; if (arg.indexOf('__') != -1) { arga = arg.split(/__/); arg2 += '&' + arga[0] +'='+ encodeURIComponent(arga[1]); } else { var ans = getVal(arg); if ( typeof ans != 'string' ) { if ( ans.length == 0 ) { arg2 += '&args=&' + arg + '='; } for (var i=0;i < ans.length;i++) { arg2 += '&args=' + encodeURIComponent(ans[i]) + '&' + arg + '=' + encodeURIComponent(ans[i]); } } else { arg2 += '&args=' + encodeURIComponent(ans) + '&' + arg + '=' + encodeURIComponent(ans);; } } return arg2;}pjx.prototype.send2perl=function() { var r = this.r; var dt=this.dt; var url=this.url; var pd; if(this.method=="POST"){ var tmp = url.split(/\?/); url = tmp[0]; pd = tmp[1]; } r.open(this.method,url,true); r.setRequestHeader('Cache-Control','no-cache'); if(this.method=="POST"){ r.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); r.send(pd); } if(this.method=="GET"){ r.send(null); } r.onreadystatechange=handleReturn;};handleReturn = function() { for( var k=0; k<ajax.length; k++ ) { if (ajax[k].r==null) { ajax.splice(k--,1); continue; } if ( ajax[k].r.readyState== 4) { var data = ajax[k].r.responseText.split(/__pjx__/); dt = ajax[k].dt; if (dt.constructor != Array) { dt=[dt]; } if (data.constructor != Array) { data=[data]; } if (typeof(dt[0])!='function') { for ( var i=0; i<dt.length; i++ ) { var div = document.getElementById(dt[i]); if (div.type =='text' || div.type=='textarea' || div.type=='hidden' ) { div.value=data[i]; } else{ div.innerHTML = data[i]; } } } else if (typeof(dt[0])=='function') { eval(dt[0](data)); } ajax.splice(k--,1); } }};pjx.prototype.getURL=function(fname) { args = this.args; url= 'fname=' + fname; for (var i=0;i<args.length;i++) { url=url + args[i]; } return url;};ghr=getghr();function getghr(){ if(typeof XMLHttpRequest != "undefined") { return function(){return new XMLHttpRequest();} } var msv= ["Msxml2.XMLHTTP.7.0", "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]; for(var j=0;j<=msv.length;j++){ try { A = new ActiveXObject(msv[j]); if(A){ return function(){return new ActiveXObject(msv[j]);} } } catch(e) { } } return false;}function getSpecimenID() { var args = getSpecimenID.arguments; for( var i=0; i<args[0].length;i++ ) { args[0][i] = fnsplit(args[0][i]); } method="GET"; if( args.length==3 && (args[2]=="POST"||args[2]=="post") ) { method="POST"; } ajax.push(new pjx(args,"getSpecimenID",method)); var l = ajax.length-1; var sep = '?'; if ( 'scripts/generateSpecimenID.cgi' == '0') { if ( window.location.toString().indexOf('?') != -1) { sep = '&'; } ajax[l].url = window.location + sep + ajax[l].url; } else { if ( 'scripts/generateSpecimenID.cgi'.indexOf('?') != -1) { sep = '&'; } ajax[l].url = 'scripts/generateSpecimenID.cgi' + sep + ajax[l].url; } ajax[l].send2perl(); if (0) { var tmp = document.getElementById('__pjxrequest').innerHTML = "<br><pre>"; for( var i=0; i < ajax.length; i++ ) { tmp += '<a href= '+ ajax[i].url +' target=_blank>' + decodeURIComponent(ajax[i].url) + ' </a><br>'; } document.getElementById('__pjxrequest').innerHTML = tmp + "</pre>"; } }
//]]>
