if(window.ActiveXObject&&!window.XMLHttpRequest){
window.XMLHttpRequest=function(){
var msxmls=new Array(
'Msxml2.XMLHTTP.5.0',
'Msxml2.XMLHTTP.4.0',
'Msxml2.XMLHTTP.3.0',
'Msxml2.XMLHTTP',
'Microsoft.XMLHTTP')
for(var i=0;i<msxmls.length;i++){
try{
return new ActiveXObject(msxmls[i])
}catch(e){}}
return null}}
if(window.opera&&!window.XMLHttpRequest){
window.XMLHttpRequest=function(){
this.readyState=0
this.status=0
this.statusText=''
this._headers=[]
this._aborted=false
this._async=true
this._defaultCharset='ISO-8859-9'
this._getCharset=function(){
var charset=_defaultCharset
var contentType=this.getResponseHeader('Content-type').toUpperCase()
val=contentType.indexOf('CHARSET=')
if(val !=-1){
charset=contentType.substring(val)}
val=charset.indexOf(';')
if(val !=-1){
charset=charset.substring(0,val)}
val=charset.indexOf(',')
if(val !=-1){
charset=charset.substring(0,val)}
return charset}
this.abort=function(){
this._aborted=true}
this.getAllResponseHeaders=function(){
return this.getAllResponseHeader('*')}
this.getAllResponseHeader=function(header){
var ret=''
for(var i=0;i<this._headers.length;i++){
if(header=='*' || this._headers[i].h==header){
ret+=this._headers[i].h+': '+this._headers[i].v+'\n'}}
return ret}
this.getResponseHeader=function(header){
var ret=getAllResponseHeader(header)
var i=ret.indexOf('\n')
if(i !=-1){
ret=ret.substring(0,i)}
return ret}
this.setRequestHeader=function(header,value){
this._headers[this._headers.length]={h:header,v:value}}
this.open=function(method,url,async,user,password){
this.method=method
this.url=url
this._async=true
this._aborted=false
this._headers=[]
if(arguments.length>=3){
this._async=async}
if(arguments.length>3){
opera.postError('XMLHttpRequest.open() - user/password not supported')}
this.readyState=1
if(this.onreadystatechange){
this.onreadystatechange()}}
this.send=function(data){
if(!navigator.javaEnabled()){
alert("XMLHttpRequest.send() - Java must be installed and enabled.")
return}
if(this._async){
setTimeout(this._sendasync,0,this,data)
}else{
this._sendsync(data)}}
this._sendasync=function(req,data){
if(!req._aborted){
req._sendsync(data)}}
this._sendsync=function(data){
this.readyState=2
if(this.onreadystatechange){
this.onreadystatechange()}
var url=new java.net.URL(new java.net.URL(window.location.href),this.url)
var conn=url.openConnection()
for(var i=0;i<this._headers.length;i++){
conn.setRequestProperty(this._headers[i].h,this._headers[i].v)}
this._headers=[]
if(this.method=='POST'){
conn.setDoOutput(true)
var wr=new java.io.OutputStreamWriter(conn.getOutputStream(),this._getCharset())
wr.write(data)
wr.flush()
wr.close()}
var gotContentEncoding=false
var gotContentLength=false
var gotContentType=false
var gotDate=false
var gotExpiration=false
var gotLastModified=false
for(var i=0;;i++){
var hdrName=conn.getHeaderFieldKey(i)
var hdrValue=conn.getHeaderField(i)
if(hdrName==null&&hdrValue==null){
break}
if(hdrName !=null){
this._headers[this._headers.length]={h:hdrName,v:hdrValue}
switch(hdrName.toLowerCase()){
case 'content-encoding': gotContentEncoding=true;break
case 'content-length' : gotContentLength=true;break
case 'content-type' : gotContentType=true;break
case 'date' : gotDate=true;break
case 'expires' : gotExpiration=true;break
case 'last-modified' : gotLastModified=true;break}}}
var val
val=conn.getContentEncoding()
if(val !=null&&!gotContentEncoding)this._headers[this._headers.length]={h:'Content-encoding',v:val}
val=conn.getContentLength()
if(val !=-1&&!gotContentLength)this._headers[this._headers.length]={h:'Content-length',v:val}
val=conn.getContentType()
if(val !=null&&!gotContentType)this._headers[this._headers.length]={h:'Content-type',v:val}
val=conn.getDate()
if(val !=0&&!gotDate)this._headers[this._headers.length]={h:'Date',v:(new Date(val)).toUTCString()}
val=conn.getExpiration()
if(val !=0&&!gotExpiration)this._headers[this._headers.length]={h:'Expires',v:(new Date(val)).toUTCString()}
val=conn.getLastModified()
if(val !=0&&!gotLastModified)this._headers[this._headers.length]={h:'Last-modified',v:(new Date(val)).toUTCString()}
var reqdata=''
var stream=conn.getInputStream()
if(stream){
var reader=new java.io.BufferedReader(new java.io.InputStreamReader(stream,this._getCharset()))
var line
while((line=reader.readLine())!=null){
if(this.readyState==2){
this.readyState=3
if(this.onreadystatechange){
this.onreadystatechange()}}
reqdata+=line+'\n'}
reader.close()
this.status=200
this.statusText='OK'
this.responseText=reqdata
this.readyState=4
if(this.onreadystatechange){
this.onreadystatechange()}
if(this.onload){
this.onload()}
}else{
this.status=404
this.statusText='Not Found'
this.responseText=''
this.readyState=4
if(this.onreadystatechange){
this.onreadystatechange()}
if(this.onerror){
this.onerror()}}}}}
if(!window.ActiveXObject&&window.XMLHttpRequest){
window.ActiveXObject=function(type){
switch(type.toLowerCase()){
case 'microsoft.xmlhttp':
case 'msxml2.xmlhttp':
case 'msxml2.xmlhttp.3.0':
case 'msxml2.xmlhttp.4.0':
case 'msxml2.xmlhttp.5.0':
return new XMLHttpRequest()}
return null}}
function writit(text,id){
if(document.getElementById){
x=document.getElementById(id)
x.innerHTML=''
x.innerHTML=text
x.style.visibility="visible"
}else if(document.all){
x=document.all[id]
x.innerHTML=text
x.style.visibility="visible"
}else if(document.layers){
x=document.layers[id]
text2='<p class="testclass">'+text+'</p>'
x.document.open()
x.document.write(text2)
x.document.close()
x.style.visibility="visible"}}

