function AjaxControl()
{
	var self = this;
	
	//Media Loader
	this.mediaitems = function(blgID, blgmediatypID) {
		xmlHttp=self.GetXmlHttpObject();
		var url="../blog/blogdisplaymedia.asp?";
		url+="blgID="+blgID;
		url+="&blgmediatypID="+blgmediatypID;
		url+="&sid="+Math.random();
		xmlHttp.onreadystatechange=function() { 
			var ContentTarget = document.getElementById('mediacontentholder');
			self.stateChanged(ContentTarget, 1);
		};
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	};
	
	//Photo Swap for Media Thumbs
	this.mediaphotoswap = function(path, target) {
		xmlHttp=self.GetXmlHttpObject();
		var url="../blog/blogdisplaymediaitem.asp?blgmediaPath="+path;
		url+="&sid="+Math.random();
		xmlHttp.onreadystatechange=function() { 
			if (target) {
				var ContentItemTarget = document.getElementById(target);
				self.stateChanged(ContentItemTarget, 1);
			}
		}
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	};
	
	//Load any url
	this.strlink = function(url, target) 
	{
		var ajaxtarget = document.getElementById(target);
		xmlHttp=self.GetXmlHttpObject();
		if (xmlHttp==null)
		{
			alert("Browser does not support HTTP Request");
			return;
		} 
		if (ajaxtarget)
		{
			xmlHttp.onreadystatechange=function() { 
				self.stateChanged(ajaxtarget, 1);
			};
		}
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
	};
	
	//State Change
	this.stateChanged = function(ContentTarget, readyStateNum) {
		if (ContentTarget) {
			if (readyStateNum == 'undefined' || readyStateNum == null) { readyStateNum=2; }
			if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
			{ 
				ContentTarget.innerHTML=xmlHttp.responseText;
				//self.ShiftOpacity(ContentTarget, 10, 100, 200);
			} 
			else if (xmlHttp.readyState < readyStateNum) 
			{
				//check ContentDisplayDiv for null
				ContentTarget.innerHTML="<br/><br/><div style=\"width:32px; margin:0px auto\"><img src=\"../blog/images/ajax-loader.gif\" alt=\"\"/>Loading...</div>";
			}
		}
	};

	//Form Updates
	this.getFormStr = function(obj, url, target) {
	  var getstr = "?";
	   switch(obj.id) {
	  	case "CommentForm":
			getstr += "blgID="+obj.blgID.value+"&CommentName="+obj.CommentName.value+"&CommentTitle="+obj.CommentTitle.value+"&CommentText="+obj.CommentText.value;
		break;
		default:
		break;
	  }
	  	//self.strlink(url, getstr);
		var processurl = url + "?" + getstr
	  	xmlHttp=self.GetXmlHttpObject();
		if (xmlHttp==null)
		{
			alert("Browser does not support HTTP Request");
			return;
		} 
		xmlHttp.onreadystatechange=function() 
		{ 
			self.stateChanged(target, 1); 
		};
		xmlHttp.open("POST", processurl, true);
		xmlHttp.send(null);
   	};

	
	//Get xml Http Object
	this.GetXmlHttpObject = function() {
		var objXMLHttp=null;
		try { 
			objXMLHttp=new XMLHttpRequest(); //Standard way, other browsers, IE7
			}
			catch(e) {
				if (objXMLHttp==null) { 
					objXMLHttp=new ActiveXObject("Msxml2.XMLHTTP"); //IE6
				 }
			}
		return objXMLHttp;
	};
	
	//Changing Content Opacity
	this.ShiftOpacity = function(ContentTarget, opacStart, opacEnd, millisec) {
		var object = ContentTarget;
		var speed = Math.round(millisec / 100); var timer = 0;
		for(var i = opacStart; i <= opacEnd; i++) {	
			setTimeout(function(){
			document.getElementById('BlogDisplayHolder').style.opacity = (i++ / 100); 
    		document.getElementById('BlogDisplayHolder').style.MozOpacity = (i++ / 100); 
    		document.getElementById('BlogDisplayHolder').style.KhtmlOpacity = (i++ / 100); 
    		document.getElementById('BlogDisplayHolder').style.filter = "alpha(opacity=" + i++ + ")"; 
			},(timer * speed));
			//setTimeout("changeOpac(" + i + ",'"+object+"')",(timer * speed)); 
			timer++;
		}
	};
	
} //AjaxControl

