var YRN;
if(!YRN){
    YRN={};
}
YRN.AJAX=function(strLoading){
    this.Init(strLoading);
}

YRN.AJAX.prototype.request="";
YRN.AJAX.prototype.strLoading;
YRN.AJAX.prototype.Init=_Init;
YRN.AJAX.prototype.GetElement=_GetElement;
YRN.AJAX.prototype.GetRequest=_GetRequest;
YRN.AJAX.prototype.SendAndLoad=_SendAndLoad;
YRN.AJAX.prototype.Loading=function(){};
YRN.AJAX.prototype.Loaded=function(){};
YRN.AJAX.prototype.Interactive=function(){};
YRN.AJAX.prototype.Send=_Send;
function _Init(strLoading){
    this.strLoading=strLoading;
    this.request=this.GetRequest();
}
function _GetElement(ele){
    if (ele && typeof ele == "string") return document.getElementById(ele);
	return ele;
}
function _GetRequest(){
	if(window.XMLHttpRequest){
		this.request=new XMLHttpRequest();
		return new XMLHttpRequest();
	}else if(window.ActiveXObject){
		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{
				this.request=new ActiveXObject(msxmls[i]);
				return new ActiveXObject(msxmls[i]);
			}catch (e){
				alert(e);	
			}
		}
	}
	throw new Error("Could not instantiate XMLHttpRequest");
}

function _SendAndLoad(url){
	var method=(arguments.length>1)?arguments[1]:"GET";
	var instance=this;
	var now=new Date();
	if(url.split("?").length>1)url+="&ext="+now.getSeconds()+Math.random()*300;
	else url+="?ext="+now.getSeconds()+Math.random()*300;	
	var data=(arguments.length>2)?arguments[2]:"&tmpData="+Math.random()*100;	
	url+=(method.toLowerCase()=="get"?"&"+data:"");
	instance.request.open(method.toUpperCase(),url,true);
	instance.request.onreadystatechange=function(){
		switch(instance.request.readyState){
			case 1:
				instance.Loading();
				break;
			case 2:
				instance.Loaded();
				break;
			case 3:
				instance.Interactive();
				break;
			case 4:
				instance.Complete(instance.request.status,instance.request.statusText,instance.request.responseText,instance.request.responseXML);
				break;
		}
	}
	
	if(method.toLowerCase()=="post"){
		instance.request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		instance.request.setRequestHeader("Content-length",data.length);
		instance.request.setRequestHeader("Connection","close");
	}
	instance.request.send(data);
}
function _Send(url, responseLabel){
	var popupWindow;
	var browser=navigator.appName;
	var b_version=navigator.appVersion;
	if(b_version.indexOf("Safari/417.9.2")>=0){
		popupWindow=window.open(url,"popupWindow","menubar=0");
	}else{
		var instance=this;
		var objData=(arguments.length>2?arguments[2]:null);
		var method=(arguments.length>3?arguments[3]:"GET");    
		var strData="";
		for(var i in objData){
			strData+="&"+i+"="+escape(encodeURI(objData[i]));
		}
		strData="tmp=1"+strData; 
		document.getElementById(responseLabel).innerHTML=instance.strLoading;
		instance.Complete=function(status,statusText,responseText,responseXML){
			//alert(responseText);
			this.GetElement(responseLabel).innerHTML=responseText;		
		}    
		instance.SendAndLoad(url,method.toUpperCase(), strData);            
	}
}
/*YRN.AJAX.Init=FncInit;


AJAX.prototype.Loading=function(){};
AJAX.prototype.Loaded=function(){};
AJAX.prototype.Interactive=function(){};
AJAX.prototype.Complete=function(status,statusText,responseText,responseXML){};
AJAX.prototype.SendAndLoad=SendAndLoad;
AJAX.prototype.browser=navigator;
AJAX.prototype.Send=Send;
AJAX.prototype.Post=Post;
AJAX.prototype.PostFormFields=PostFormFields;
AJAX.prototype.SendObjectData=SendObjectData;
/*function Send(url,responseLabel){    
	var instance=this;
	var method=(arguments.length>2)?argurments[2]:"GET";
	document.getElementById(responseLabel).innerHTML=instance.strLoading;
	instance.Complete=function(status,statusText,responseText,responseXML){	   	    
	    try{
		    document.getElementById(responseLabel).innerHTML=responseText;
		}catch(e){
		    alert("Error in loading data");
		}
	}
	instance.SendAndLoad(url,method);
}




//Post data to server
function Post(url,data,responseLabel){
	var instance=this;
	document.getElementById(responseLabel).innerHTML=instance.strLoading;
	instance.Complete=function(status,statusText,responseText,responseXML){
	    document.getElementById(responseLabel).innerHTML=responseText;		
    }
	instance.SendAndLoad(url,"POST",data);	
}


//Post a form data with form id
function PostFormFields(action,responseLabel){
    var instance=this;
    var data="";
    for(var i=2 ;i< arguments.length;i++){        
       var field=document.getElementById(arguments[i]); 
       if(field.type=="checkbox"){
            data+="&"+arguments[i]+"="+field.checked;
       }else{
            data+="&"+arguments[i]+"="+escape(encodeURI(field.value));
       }
    }
    data="tmp=1"+data;
    instance.Post(action,data,responseLabel);
}

*/