/**
 * @author Administrator
 */
var JFrame = {
 createRequest: function(){
 var ro;
 var browser = navigator.appName;
 if(browser == "Microsoft Internet Explorer"){
 ro = new ActiveXObject("Microsoft.XMLHTTP");
 }else{
 ro = new XMLHttpRequest();
 }
 return ro;
 } 
}
JFrameLoaderOptions = {
 set: function(oBaseOptions,oOptions){
 
 if(oOptions){
 for(oOption in oBaseOptions){
 if(oOptions.hasOwnProperty(oOption)){
 oBaseOptions[oOption]=oOptions[oOption];
 }
 }
 }
 
 return oBaseOptions;
 
 }
} 
var JFrameLoader = function(){
 
 this.initialize.apply(this,arguments);
}
JFrameLoader.prototype = {
 aStates : new Array('','onLoad','onLoaded','onReceiving','onComplete')
 ,
 readyState:0
 ,
 responseText:''
 ,
 oRequest: null
 ,
 oOptions : {onLoad: null ,onLoaded:null,onReceiving: null ,onComplete: null }
 ,
 sMethod : 'GET'
 ,
 sUrl:'',sTarget:''
 ,
 initialize: function (sUrl,sTarget,oOptions){
 this.oOptions['onComplete'] = this.onComplete;
 this.oOptions=JFrameLoaderOptions.set(this.oOptions,oOptions);
 
 this.oRequest = JFrame.createRequest();
 this.sUrl=sUrl;
 this.sTarget=sTarget;
 
 this.oRequest.open(this.sMethod , sUrl,true);
 var oThis=this;
 this.oRequest.onreadystatechange= function(){
 oThis.onStateChange();
 }
 this.oRequest.send(null);
 }
 ,
 onStateChange : function(){
 sFunction=this.oOptions[this.aStates[this.oRequest.readyState]];
 this.readyState=this.oRequest.readyState;
 if(this.readyState==4){
 this.responseText=this.oRequest.responseText;
 }
 if( typeof(sFunction)=='function' ){
 
 sFunction.apply(this,[this]);
 }
 else{
 if(this.hasOwnProperty(sFunction)){
 this.sFunction.apply(this);
 }
 
 }
 
 }
 ,
 onComplete: function(){
 document.getElementById(this.sTarget).innerHTML = this.responseText;
 } 
 
 
}
var JFramePost = function(){
 
 this.initialize.apply(this,arguments);
}
JFramePost.prototype = {
 aStates : new Array('','onLoad','onLoaded','onReceiving','onComplete')
 ,
 readyState:0
 ,
 responseText:''
 ,
 oRequest: null
 ,
 oOptions : {onLoad: null ,onLoaded:null,onReceiving: null ,onComplete: null }
 ,
 sMethod : 'POST'
 ,
 sUrl:'',sTarget:''
 ,
 initialize: function (oForm,sTarget,oOptions){
 this.oOptions['onComplete'] = this.onComplete;
 this.oOptions=JFrameLoaderOptions.set(this.oOptions,oOptions);
 
 this.oRequest = JFrame.createRequest();
 
 
 this.sUrl=oForm.action;
 this.sTarget=sTarget;
 
 sSendData = '';
 for(c=0;c<oForm.elements.length;c++){
 
 sSendData += ''+oForm.elements[c].name+'='+ encodeURI( oForm.elements[c].value) +'';
 if(c< (oForm.elements.length-1) ){
 sSendData +='&'; 
 }
 
 }
 this.oRequest.open(this.sMethod , this.sUrl,true);
 this.oRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
 
 var oThis=this;
 
 this.oRequest.onreadystatechange= function(){
 oThis.onStateChange();
 }
 this.oRequest.send(sSendData);
 }
 ,
 onStateChange : function(){
 //alert(this.oRequest.readyState);
 sFunction=this.oOptions[this.aStates[this.oRequest.readyState]];
 this.readyState=this.oRequest.readyState;
 if(this.readyState==4){
 this.responseText=this.oRequest.responseText;
 }
 if( typeof(sFunction)=='function' ){
 
 sFunction.apply(this,[this]);
 }
 else{
 if(this.hasOwnProperty(sFunction)){
 this.sFunction.apply(this);
 }
 
 }
 
 }
 ,
 onComplete: function(){
 document.getElementById(this.sTarget).innerHTML = this.responseText;
 } 
 
 
}