var Ajax = new _AjaxObject();
if(typeof DragAndDrop_v2 != 'undefined'){
	var DragAndDrop = new DragAndDrop_v2();
}
var calltouse=0;
function _AjaxObject()
{
	this.pool = new Array();
	this.poolSize = 0;
	this.maxPoolSize = 200;
	this.progressBarDelay = 500;
	this.requestType = "post";
	this.debug = false;
}
_AjaxObject.prototype.Execute = function(urlOrForm,fnCallBackFunction)
{
	var call = this._getAvailableCall();
	var args = _AjaxObject.prototype.Execute.arguments;
	var len = _AjaxObject.prototype.Execute.arguments.length;
	var methodArgs = new Array();
	call.callback = null;
	call.isForm = false;
	call.callbackArgs = [];
	if(document.forms[urlOrForm]){
		call.isForm = true;
		try{this.requestType = document.forms[urlOrForm].method;}catch(e){}
	}
	if(fnCallBackFunction)
		call.callback = fnCallBackFunction;	
	for(var i=2;i<arguments.length;i++){
		call.callbackArgs.push(arguments[i]);	
	}
	if(this.requestType.match(/post/i)){
		call.POST(urlOrForm, methodArgs);
	}else{
		call.GET(urlOrForm, methodArgs);
	}
	return this.id;
}
_AjaxObject.prototype.ContentOnDemand = function(cAnchorID, cUrlOrForm, nDivWidth , nDivHeight, cUrlNameValuePairs , fnOnComplete)
{
 	removeElement('StdDynamicInfoBoxParent');
	removeElement('divStdDynamicInfoBoxInner');
	var call = this._getAvailableCall();
	var args = _AjaxObject.prototype.ContentOnDemand.arguments;
	var len = _AjaxObject.prototype.ContentOnDemand.arguments.length;
	var methodArgs = new Array();	
	this.stdDynamicInfoBoxTimeout = null;
	call.callback = null;	
	if(document.forms[cUrlOrForm]){
		call.isForm = true;
	}else{
		call.isForm = false;
	}
	call.callbackArgs = [];
	call.callback = this._AppendStdDynamicInfoBox;	
	
	for(var i=0;i<arguments.length;i++){
		call.callbackArgs.push(arguments[i]);	
	}
	var cStdDivUrl = "/ifpage.dll?t=site/includes/StdDynamicInfoBox"
	if(cUrlNameValuePairs){
		if(cUrlNameValuePairs.indexOf('&') != 0){
			cUrlNameValuePairs = "&" + cUrlNameValuePairs;
		}		
		cStdDivUrl += cUrlNameValuePairs;
	}
	call.GET(cStdDivUrl);	
	return this.id;
}
function getSomeObject(oObject){
	return oObject
}
_AjaxObject.prototype._ShowProgressBar = function(bIsForm){
	var cSSL = "";
	if(isSSL()){
		cSSL = "s";
	}
	var oStdDynamicInfoBox = document.getElementById('divStdDynamicInfoBoxInner');
	oStdDynamicInfoBox.style.width = '250px';
	var oReferenceElement = document.getElementById('StdDynamicInfoBoxParent');	
	document.getElementById('StdDynamicInfoBoxLoading').style.display = '';
	var oContentParent = document.getElementById('tdDynamicInfoBoxContent');
	oContentParent.innerHTML = '<center><img id="imgDynamicInfoBoxLoading" src="http'+cSSL+'://images.ifriends.net/if_v2/loading_transparent.gif" width="152" height="33" border="0" style="margin-bottom:20px"></center>'		
	Ajax._PositionStdDynamicInfoBox(this.oAnchor , oStdDynamicInfoBox , oReferenceElement , bIsForm);
}

_AjaxObject.prototype._findButton = function(cContentURL){
		var oButton = null;
		var arrInputs = document.forms[cContentURL].elements;
		for(var i=arrInputs.length-1;i>=0;i--){
			if(arrInputs[i].type == 'button' || arrInputs[i].type == 'submit' || arrInputs[i].type == 'image'){
				oButton = arrInputs[i];
				break;
			}
		}
		return oButton;
}
_AjaxObject.prototype._AppendStdDynamicInfoBox = function(cResponseText,arrArgs){

	if(typeof(Ajax.StdDynamicInfoBox) == 'undefined'){
		Ajax.StdDynamicInfoBox = new Object();
	}	
	var arrAnchorID = arrArgs[0];
	var cContentURL = arrArgs[1];
	var nDivWidth = arrArgs[2];
	var nDivHeight = arrArgs[3];
	var fnOnComplete = arrArgs[5];
	var cUrlNameValuePairs = '';
	if(this.isForm){			
		if(document.forms[cContentURL].elements[arrAnchorID]){		
			var oButton = document.forms[cContentURL].elements[arrAnchorID]
		}else{
			var oButton = Ajax._findButton(cContentURL);
		}
		arrAnchorID = oButton;
		Ajax.oAnchor = oButton;
	}else{
		this.isForm = false;
		Ajax.oAnchor = document.getElementById(arrArgs[0]);
	}
	var oBodyFirstChild = getChildElements(document.body)[0];
	if(!document.getElementById('StdDynamicInfoBoxParent')){		
		var oDiv = document.createElement('DIV');		
		oDiv.style.margin = "auto";
		oDiv.style.textAlign = "left";
		oDiv.style.display  = "none";	
		if(typeof(Ajax.StdDynamicInfoBox.targetElementWidth) == 'undefined'){		
			oDiv.style.width = "900px";
		}else{
			oDiv.style.width = Ajax.StdDynamicInfoBox.targetElementWidth;
		}
		oDiv.id = "StdDynamicInfoBoxParent";
		var oSpan = document.createElement('SPAN');
		oSpan.id = "spnStdDynamicInfoBoxParent"
		oSpan.style.position = 'relative';		
		oSpan.style.zIndex = 11;
		oSpan.innerHTML = cResponseText;			
		var oBody = document.body;
		oDiv.appendChild(oSpan);
		oBody.insertBefore(oDiv,oBodyFirstChild);
		document.getElementById('divStdDynamicInfoBoxInner').style.top = 5000;
	}else{
		var oStdDynamicInfoBoxInner = document.getElementById('divStdDynamicInfoBoxInner');
		Ajax.previousLeft = oStdDynamicInfoBoxInner.style.left;
		Ajax.previousTop = oStdDynamicInfoBoxInner.style.top;
		document.getElementById('spnStdDynamicInfoBoxParent').innerHTML = cResponseText;
		oStdDynamicInfoBoxInner.style.top = 5000;
	}
	if(nDivWidth != null){
		document.getElementById('divStdDynamicInfoBoxInner').style.width = nDivWidth + 'px';
	}	
	
	var oDragable = DragAndDrop.RegisterDragable(document.getElementById('divStdDynamicInfoBoxInner') ,document.getElementById('tdStdDynamicInfoBoxHeader'),'')	
	oDragable.CloneEnabled = false;
	Ajax.StdDynamicInfoBox.Dragable = oDragable;
	if (typeof document.body.style.maxHeight == "undefined"){
		var oSpan2 = document.createElement('SPAN');
		oSpan2.style.position = 'relative';
		var oIframe = document.createElement('IFRAME');
		oIframe.style.position = 'absolute';
		oIframe.style.zIndex = '1';
		oIframe.style.top = '0px';
		oIframe.style.left = '0px';
		oIframe.src="javascript:false;"
		oIframe.frameBorder="0";
		oIframe.scrolling="no";
		oIframe.id = 'StdDynamicInfoBoxIframe';
		oSpan2.appendChild(oIframe);
		document.getElementById('divStdDynamicInfoBoxInner').appendChild(oSpan2);		
		//oDragable.RegisterIframe('StdDynamicInfoBoxIframe',6,5);
	}
	Ajax.stdDynamicInfoBoxTimeout = setTimeout("Ajax._ShowProgressBar('"+this.isForm+"')", Ajax.progressBarDelay);	
	Ajax.Execute(cContentURL , Ajax._PopulateStdDynamicInfoBox , arrAnchorID , fnOnComplete , nDivWidth , nDivHeight , Ajax , cContentURL);
}

function findParentByTagName(oObject,cParentTagName){

	while(oObject.parentNode){
		try{
			if(oObject.parentNode.tagName.toUpperCase() != cParentTagName.toUpperCase()){		
				oObject = oObject.parentNode
			}else{
				return oObject.parentNode;		
			}
		}catch(e){}
	}
	return null;
}
function isChildElement(oNeedle,oHaystack){

	while(oNeedle.parentNode){
		try{
			if(oNeedle.parentNode != oHaystack){		
				oNeedle = oNeedle.parentNode
			}else{
				return true;		
			}
		}catch(e){}
	}
	return false;	

}
function getWindowSize() {
  var myWidth = 0, myHeight = 0;
  if(typeof( window.innerWidth ) == 'number' ) {
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return [myWidth, myHeight];
}
_AjaxObject.prototype._PositionStdDynamicInfoBox = function(oAnchor, oStdDynamicInfoBox , oReferenceElement ,bPositionOnTop){
	var oStdDynamicInfoBox = document.getElementById('divStdDynamicInfoBoxInner');
	var oReferenceElement = document.getElementById('StdDynamicInfoBoxParent');
	oReferenceElement.style.display = '';
	if(document.getElementById('StdDynamicInfoBoxIframe')){
		var oIframe = document.getElementById('StdDynamicInfoBoxIframe');
		oIframe.style.width = (document.getElementById('tblStdDynamicInfoBoxMain').offsetWidth - 6) + 'px';
		oIframe.style.height = (document.getElementById('tblStdDynamicInfoBoxMain').offsetHeight - 5) + 'px';
	}
	var StdDynamicInfoBoxWidth = oStdDynamicInfoBox.offsetWidth;
	var StdDynamicInfoBoxHeight = document.getElementById('tblStdDynamicInfoBoxMain').offsetHeight;
	if(oAnchor != null){
		if(oAnchor.tagName.match(/form/gi)){
			oAnchor = Ajax._findButton(oAnchor.name);
		}
	}else{

		oStdDynamicInfoBox.style.left = (typeof Ajax.previousLeft == 'undefined' ? '0px' : Ajax.previousLeft);
		oStdDynamicInfoBox.style.top= (typeof Ajax.previousTop == 'undefined' ? '0px' : Ajax.previousTop);
		return;
	}
	var nAnchorY = findPosY(oAnchor,oReferenceElement);
	var nAnchorX = findPosX(oAnchor,oReferenceElement);
	var nParentBodyOffset = findPosX(oReferenceElement,document.body);
	var nScrollPosition = window.pageYOffset || document.documentElement.scrollTop || 0; var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft || 0;
	if(bPositionOnTop){
		var nTop = nAnchorY - StdDynamicInfoBoxHeight;
	}else{
		var nTop = nAnchorY - Math.round(StdDynamicInfoBoxHeight/2);
	}
	var nBottom = nTop +  StdDynamicInfoBoxHeight;
	var nAllottedWindowHeight = getWindowSize()[1] + nScrollPosition;
	if(nTop < nScrollPosition){
		nTop = nScrollPosition + 50;
	}else if(nBottom > nAllottedWindowHeight){
		nTop = nAllottedWindowHeight - StdDynamicInfoBoxHeight - 20;
	}
	if(window.opera){
		nTop = nTop + nScrollPosition;
	}
	var nLeft = Math.round((nAnchorX - nParentBodyOffset) - ((StdDynamicInfoBoxWidth/2 - oAnchor.offsetWidth/2)))
	if(nLeft < 0) {
		nLeft = 50;
	}else if(document.body.offsetWidth < (nLeft + StdDynamicInfoBoxWidth)){
		nLeft = document.body.offsetWidth - (StdDynamicInfoBoxWidth + 50)
	}
	if(document.getElementById('tblSiteLeftRail')){
		if(document.getElementById('MainContentParentNewLayout')){
			var oMainContentParentNewLayout = document.getElementById('MainContentParentNewLayout');
			if(isChildElement(oAnchor,oMainContentParentNewLayout)){
				var nMainIFv2ContentTDLeft = findPosX(oMainContentParentNewLayout, oReferenceElement);
				var nMainIFv2ContentTDTop  =  findPosY(oMainContentParentNewLayout, oReferenceElement);
				var nMainIFv2ContentTDRight = nMainIFv2ContentTDLeft + oMainContentParentNewLayout.offsetWidth;				
				var nRight = nLeft + StdDynamicInfoBoxWidth;
				if(nTop < nMainIFv2ContentTDTop){
					nTop = nMainIFv2ContentTDTop
				}
				if(nLeft < nMainIFv2ContentTDLeft){
					nLeft = nMainIFv2ContentTDLeft + 50;
				}
				if(nRight > nMainIFv2ContentTDRight){
					nLeft = nMainIFv2ContentTDRight - StdDynamicInfoBoxWidth - 50;
				}
			}
		}else{
			var oLeftRailReferenceTable = document.getElementById('tblSiteLeftRail');
			var oMainTR = getParentNodeByTagName(oLeftRailReferenceTable , 'TR');
			var arrMainTableCells = getFirstLevelElementsByTagName(oMainTR , 'TD');
			if(arrMainTableCells[1].childNodes.length > 0){
				var oMainIFv2ContentTD = arrMainTableCells[1];
			}else{
				var oMainIFv2ContentTD = arrMainTableCells[2];
			}
			if(isChildElement(oAnchor,oMainIFv2ContentTD)){
				var nMainIFv2ContentTDLeft = findPosX(oMainIFv2ContentTD, oReferenceElement) - nParentBodyOffset;
				var nMainIFv2ContentTDTop = findPosY(oMainIFv2ContentTD, oReferenceElement);
				var nMainIFv2ContentTDRight = nMainIFv2ContentTDLeft + oMainIFv2ContentTD.offsetWidth;
				var nRight = nLeft + StdDynamicInfoBoxWidth;
				if(nTop < nMainIFv2ContentTDTop){
					nTop = nMainIFv2ContentTDTop
				}
				if(nLeft < nMainIFv2ContentTDLeft){
					nLeft = nMainIFv2ContentTDLeft + 50;
				}
				if(nRight > nMainIFv2ContentTDRight){
					nLeft = nMainIFv2ContentTDRight - StdDynamicInfoBoxWidth - 50;
				}
			}
		}
	}
	oStdDynamicInfoBox.style.top = nTop + 'px';
	oStdDynamicInfoBox.style.left = nLeft + 'px';
}

_AjaxObject.prototype._formatStdOutput = function(cResponseText , arrArgs){
	var cSSL = "";
	if(isSSL()){
		cSSL = "s";
	}
	var cResultPrefix = cResponseText.substr(cResponseText.lastIndexOf("("));
	var cResultCodeString = cResultPrefix.substr(0,50);
	if(document.images['imgCatchaImage']){
		captchaRefresh('imgCatchaImage');
		try{document.getElementById('fCaptChaInput').value="";}catch(e){}
	}			
	cResultPrefix = cResultPrefix.replace("(","").substr(0,1);
	var cStr = '<table class="gs-arial12" ><tr><td valign="top" style="padding-left:5px;padding-right:5px;">';	
	if(cResultPrefix.match(/i/i)){
		cStr += '<img id="stdDynamicInfoBoxResultIcon" src="http'+cSSL+'://images.ifriends.net/asg/exclamation.gif" width="17" height="17" align="absmiddle">';
	}else if(cResultPrefix.match(/e/i)){	
		cStr += '<img id="stdDynamicInfoBoxResultIcon" src="http'+cSSL+'://images.ifriends.net/asg/redx.gif" width="14" height="14" align="absmiddle">';
	}else if(cResultPrefix.match(/s/i)){	
		cStr += '<img id="stdDynamicInfoBoxResultIcon" src="http'+cSSL+'://images.ifriends.net/asg/checkmarkblue_sm.gif" width="14" height="13" align="absmiddle">';
	}
	cResponseText = cResponseText.replace(/<li>/,'');
	cResponseText = cResponseText.split('<li>');
	for(var i=0;i<cResponseText.length;i++){
		cResponseText[i] = cResponseText[i].substr(0,cResponseText[i].lastIndexOf("("));
	}	
	cResponseText = cResponseText.join('<br><br>');	
	if(document.getElementById('InHouse')){
		for(var i=0;i<arrArgs.length;i++){	
			if(typeof(arrArgs[i]) == 'object'){
				try{
				var cFormAction = arrArgs[i].action;
				}catch(e){}
			}else if(arrArgs[i] == "pIFPageRedirect=Yes"){
				cResponseText += '<span class=InHouse> &lt;BEGIN var:gInhouse&gt;<br><span style="color:black;">'+cFormAction+' not found.   IFpage.dll is serving it instead.<BR>Data associated with long form POSTs may be truncated or discarded.</span>&lt;END var:gInhouse&gt; </span>';
			}	
		}		
	}
	cStr += '</td><td style="padding-right:5px;">'+cResponseText+'</td></tr></table>';
	return [cStr , cResultPrefix, cResultCodeString];
}
_AjaxObject.prototype._PopulateStdDynamicInfoBox = function(cResponseText , arrArgs){
	var cSSL = "";
	if(isSSL()){
		cSSL = "s";
	}

	var arrAnchorOrSubmit = arrArgs[0];
	var oAjax = arrArgs[4];
	cContentURL = arrArgs[5];
	var fnOnComplete = arrArgs[1];
	clearTimeout(oAjax.stdDynamicInfoBoxTimeout);	
	document.getElementById('divStdDynamicInfoBoxInner').style.width = arrArgs[2];
	document.getElementById('StdDynamicInfoBoxLoading').style.display = 'none';
	var oContentParent = document.getElementById('tdDynamicInfoBoxContent');
	var cContentHTML = (typeof(cResponseText) == 'string' ? cResponseText  : cResponseText.text); 
	if(document.forms[cContentURL]){
		var arrPassedArgs = arrArgs;
		arrPassedArgs.push(document.forms[cContentURL])
		arrPassedArgs.reverse();
		var arrFormatStdOutputResult = oAjax._formatStdOutput(cContentHTML , arrPassedArgs);
		cContentHTML = arrFormatStdOutputResult[0];
		var cResultCode =arrFormatStdOutputResult[1];
		var cResultCodeString =arrFormatStdOutputResult[2];
	}else if(document.getElementById('InHouse')){		
		var myRegExp = new RegExp("(&|\\?)t=","gi");
		var cTemplatePath = cContentURL.substr(cContentURL.search(myRegExp) +3, cContentURL.length);
		if(cTemplatePath.indexOf("&") > -1){
			cTemplatePath = cTemplatePath.substr(0, cTemplatePath.indexOf("&"))
		}
		//var cTemplatePath = cContentURL.replace(/.{0,}t=/,'')
		cTemplatePath = cTemplatePath.replace(/\//g,"\\");
		cTemplatePath = "s:\\CGITemplates\\English\\" + cTemplatePath + ".htm";
		cContentHTML = cContentHTML + '<div style="text-align:center;"><a href="/ifpage.dll?t=Inhouse_tools/openTemplate/openTemplate&pFileName='+cTemplatePath+'" target="_blank"><img src="http'+cSSL+'://images.ifriends.net/if_v2/textPadIcon.gif" width="16" height="16" border="0"></a><a style="margin-left:3px;" title="If you have edited this page with textpad in the last few moments, click this link to proofread your changes." href="javascript:void(0);" templatepath="'+cTemplatePath+'" onclick="alert(\'This link will serve this template through ifriendsv2.com. Context may be lost if you are currently viewing from a different domain.\');window.open(\'http://www.ifriendsv2.com/ifpage.dll?t=\'+this.getAttribute(\'templatepath\').replace(/s:\\\\CGITemplates\\\\English\\\\/,\'\')+\'&reload=template\');return false;" target="_blank"><img src="http'+cSSL+'://images.ifriends.net/if_v2/spellcheck.gif" width="24" height="8" border="0" align="absmiddle"></a></div>';	
	}
	if(cContentHTML.trim() == ''){
		if(document.getElementById('divGlobalGeneralFailureMessage')){
			cContentHTML = document.getElementById('divGlobalGeneralFailureMessage').innerHTML;
		}
	}	
	var oDiv = document.createElement('DIV');
	oDiv.id = "StdDynamicInfoBoxScrollDiv";
	
	if(arrArgs[3] > 0){
		
		oDiv.style.height = arrArgs[3] + 'px';
		oDiv.style.overflow = 'scroll';		
		oDiv.style.overflowX = 'hidden';

	}
	oContentParent.appendChild(oDiv);
	oDiv.innerHTML = cContentHTML;
	oContentParent.style.textAlign = 'left';

	if(typeof(arrArgs[0]) != 'object'){
		var oAnchor = document.getElementById(arrArgs[0]);	
	}else{		
		if(arrAnchorOrSubmit){
			var oAnchor = arrAnchorOrSubmit
		}else{
			var oAnchor = arrArgs[0];
		}
	}

	var oStdDynamicInfoBox = document.getElementById('divStdDynamicInfoBoxInner');
	var oReferenceElement = document.getElementById('StdDynamicInfoBoxParent');
	if(document.getElementById('imgDynamicInfoBoxLoading')){
		document.getElementById('StdDynamicInfoBoxLoading').style.display = 'none';
		document.getElementById('imgDynamicInfoBoxLoading').style.display = 'none';
	}	
	if(document.forms[cContentURL]){
		oAjax._PositionStdDynamicInfoBox(oAnchor , oStdDynamicInfoBox,oReferenceElement , true);	
	}else{
		oAjax._PositionStdDynamicInfoBox(oAnchor , oStdDynamicInfoBox,oReferenceElement , false);	
	}

	if(fnOnComplete != null && typeof(fnOnComplete) == 'function'){
		if(typeof(cResultCode) != 'undefined'){
    			fnOnComplete(cResultCode , cResultCodeString);
 		}else{
			fnOnComplete();
		}
	}
	if(document.getElementById('StdDynamicInfoBoxIframe')){
		var oIframe = document.getElementById('StdDynamicInfoBoxIframe');
		oIframe.style.width = (document.getElementById('tblStdDynamicInfoBoxMain').offsetWidth - 6) +'px';
		oIframe.style.height = (document.getElementById('tblStdDynamicInfoBoxMain').offsetHeight - 5) +'px';
	}
	try{oDiv.scrollTop = 100;oDiv.scrollTop = 0;}catch(e){}//fixes an ie render bug
	try{FormValidator.isActive = false;}catch(e){}
}
_AjaxObject.prototype._getAvailableCall = function()
{
	for (var i in this.poolSize)
	{
		var call = this.pool['C' + (i + 1)];
		if (!call.busy)
		{
			call.busy = true;      
			return this.pool[call.id];
		}
	}		
	if (this.poolSize <= this.maxPoolSize){
		var callID = "C" + (this.poolSize + 1);
		this.pool[callID] = new _AjaxCall(callID);
		this.poolSize++;
		return this.pool[callID];
	}else{
		var call = this.pool['C' + (calltouse + 1)];
		call.busy = true;      
		return this.pool[call.id];
		calltouse=(calltouse+1)%this.maxPoolSize;
	}
}

_AjaxObject.prototype.SerializeForm = function(oForm){
	var arrElements = oForm.elements;
	var arrFormData = [];
	for(var i=0;i<arrElements.length;i++){
		if(arrElements[i].tagName.match(/object/i)) continue;
		if(arrElements[i].name == '') continue;
		if(arrElements[i].type == 'radio' || arrElements[i].type == 'checkbox'){
			if(arrElements[i].checked == true){
				arrFormData.push(arrElements[i].name + '=' + encodeURIComponent(arrElements[i].value));
			}
		}else{
			if(!arrElements[i].type.match(/select/i)){
				arrFormData.push(arrElements[i].name + '=' + encodeURIComponent(arrElements[i].value));
			}else{
				if(arrElements[i].value != ''){
					arrFormData.push(arrElements[i].name + '=' + encodeURIComponent(arrElements[i].value));
				}else{
					try{
					arrFormData.push(arrElements[i].name + '=' + encodeURIComponent(arrElements[i].options[arrElements[i].selectedIndex].innerHTML));
					}catch(e){}
				}
			}
		}
	}
	return arrFormData.join("&");
}
function _AjaxCall(callID){
	this.id = callID;    
}
_AjaxCall.prototype.createXMLHttp = function(){
	var cTranslateThis01 = "Your web browser does not support this feature. Please consider downloading the newest version of Microsoft Internet Explorer or another modern web browser.";
	var errNotSupported = cTranslateThis01;
	var isIE = (navigator.appName == "Microsoft Internet Explorer" ? true : false);
	if(isIE){
		try{
			var xmlhttp = new XMLHttpRequest();
			return xmlhttp;
		}catch(e){
			var MSXML_XMLHTTP_PROGIDS = ['MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP'];
			for (var i=0;i < MSXML_XMLHTTP_PROGIDS.length;i++) {
				try {
					 var xmlhttp = new ActiveXObject(MSXML_XMLHTTP_PROGIDS[i]);
					 return xmlhttp;
				} catch (e) {
				}
			}
		}
	}else{
		try{
			var xmlhttp = new XMLHttpRequest();
			return xmlhttp;
		}catch(e){}
	}
	alert(errNotSupported);
	return false;
}




_AjaxCall.prototype.POST = function(cUrlOrForm, method, args)
{
	var queryArgs = null;
	if(!this.isForm){
		if(cUrlOrForm.indexOf("?") > -1){
			var arrUrl =  cUrlOrForm.split("?");
			cUrlOrForm = arrUrl[0];
			queryArgs = arrUrl[1];
		}
	}else{
		var oForm = document.forms[cUrlOrForm];		
		cUrlOrForm = oForm.action;
		queryArgs = Ajax.SerializeForm(oForm);		
	}
	this.oRequest = this.createXMLHttp();
    	var obj = this;
	if(this.oRequest){
		
		this.oRequest.open('POST',cUrlOrForm,true);
		this.oRequest.onreadystatechange = function() {			
		    if (obj.oRequest.readyState == 4 ) {    

			        this.Response = obj.oRequest;
			        var oResponseXML = this.Response;	
			        if(typeof(obj.oRequest.ResponseXML) == 'undefined'){
			        	var cText = obj.oRequest.responseText;			        	
			        	if(cText.match(/<\?xml/i))
			       	 		oResponseXML = obj.createXMLParser(cText);
			        }else{			        
					if(obj.oRequest.ResponseXML.documentElement != null){
					 	oResponseXML = obj.oRequest.ResponseXML;
					 }else{
						oResponseXML = obj.createXMLParser(obj.oRequest.responseText);
					 }
			        }
				if(oResponseXML.documentElement != null){
					if(oResponseXML.documentElement.tagName == 'parsererror')
						oResponseXML = obj.oRequest.responseText
				}else{
					oResponseXML = obj.oRequest.responseText
				}
				if(obj.oRequest.getResponseHeader('pIFPageRedirect') == "Yes"){
					obj.callbackArgs.push('pIFPageRedirect=Yes');
				}
				if(obj.callbackArgs)
			        	obj.callback(oResponseXML,obj.callbackArgs); 
			        else
			        	obj.callback(oResponseXML);
				//delete obj.oRequest;
				try{
					if (typeof document.body.style.maxHeight == "undefined") { // < ie7; Deal with mem leak
						obj.oRequest = null;
					}
				}catch(e){}
		    }
	    	} 
		this.oRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		this.oRequest.send(queryArgs + '&pRegCookie=OFF');
	}

}
_AjaxCall.prototype.GET = function(cUrl, method, args)
{
	
	this.oRequest = this.createXMLHttp();	
    	var obj = this;
	if(this.oRequest){
		
	
		
		this.oRequest.open('GET',cUrl + '&pRegCookie=OFF',true);
		this.oRequest.onreadystatechange = function(){		    
		    if (obj.oRequest.readyState == 4 ) {

			        this.Response = obj.oRequest;
			        var oResponseXML = this.Response;
			        if(typeof(obj.oRequest.ResponseXML) == 'undefined'){

			        	var cText = obj.oRequest.responseText;

			        	if(cText.match(/<\?xml/i))
			       	 		oResponseXML = obj.createXMLParser(cText);
			        }else{			   
					if(obj.oRequest.ResponseXML.documentElement != null){
					 	oResponseXML = obj.oRequest.ResponseXML;
					 }else{
						oResponseXML = obj.createXMLParser(obj.oRequest.responseText);
					 }
			        }
				if(oResponseXML.documentElement != null){
					if(oResponseXML.documentElement.tagName == 'parsererror')
						oResponseXML = obj.oRequest.responseText
				}else{
					oResponseXML = obj.oRequest.responseText
				}
				if(obj.oRequest.getResponseHeader('pIFPageRedirect') == "Yes"){
					obj.callbackArgs.push('pIFPageRedirect=Yes');
				}				
				if(obj.callbackArgs)
			        	obj.callback(oResponseXML,obj.callbackArgs); 
			        else
			        	obj.callback(oResponseXML);
				//delete obj.oRequest
				try{
					if (typeof document.body.style.maxHeight == "undefined") { // < ie7; Deal with mem leak
						obj.oRequest = null;
					}
				}catch(e){}
		    }
	   	 } 
		this.oRequest.send(null);
	}
}
_AjaxCall.prototype.createXMLParser = function(xText){
	 if(typeof DOMParser != "undefined") {
		  var parseX = new DOMParser();
		  var oParsed = parseX.parseFromString(xText, "text/xml");
		  return oParsed
	 } else if(typeof ActiveXObject != "undefined"){
		 try{
			  var XMLobj = new ActiveXObject("Microsoft.XMLDOM");
			  if(XMLobj) {
			    XMLobj.async = false;
			    XMLobj.loadXML(xText);
			    return XMLobj;
			  } else {
			    return false;
			  }
		}catch(e){return false;}
	 } else {
		return false;
	 }
}
