function ajax(){}
ajax.sendComment = function(base_url, news_id)
{
	//var form = document.getElementById('formComment');
	var userName 	= document.getElementById('commentUserName').value;
	var userEmail	= document.getElementById('commentUserEmail').value;
	var userSite	= document.getElementById('commentUserWebsite').value;
	var userComment	= document.getElementById('commentBody').value;
	var captchaCode = '';//document.getElementById('captchaInput').value;
	
	if(userName == 'type your name')
	    userName = '';
	    
	if(userEmail == 'type your e-mail')
	    userEmail = '';
	    
	if(userSite == 'type your website')
	    userSite = '';
	    
	if(userComment == 'type your comment here')
	    userComment = '';
	
	if(userName.length < 1 || userName == 'type your name')
	{
		alert('Please provide a valid name');
		return false;
	}
	/*
	if(!General.isEmail(userEmail))
	{
		alert('Please provide a valid email address!');
		return false;
	}
	*/
	if(userComment.length < 10 || userComment == 'type your comment here')
	{
		alert('Comment body must be at least 10 characters long.');
		return false;
	}
	
	document.getElementById('sendResults').innerHTML = "";
	//document.getElementById('loadingGif').innerHTML = "Sending comment...";
	document.getElementById('loadingGif').innerHTML = "<div class=\"box_main\"><div class=\"title_bar\"><h2 class=\"title_box\">Please wait</h2></div><div class=\"content_box\">Sending comment...</div></div>";
	
	xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        alert ("Your browser does not support AJAX!");
        return;
    }
    var url=base_url + "/News/addBlogComment/";
    var parameters = "";
    parameters+= "nfo[news_id]=" + encodeURIComponent(news_id) + "&nfo[userName]=" + encodeURIComponent(userName) + "&nfo[userEmail]=" + encodeURIComponent(userEmail) + "&nfo[userComment]=" + encodeURIComponent(userComment) + "&nfo[captcha]=" + encodeURIComponent(captchaCode) + "&nfo[userWebsite]=" + encodeURIComponent(userSite);  
    xmlHttp.onreadystatechange=ajax.clearGif;
    xmlHttp.open("POST",url,true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", parameters.length);
    xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send(parameters);
}

ajax.clearGif = function()
{
	
    if(xmlHttp.readyState==4)
    {
        document.getElementById('loadingGif').innerHTML = "";
        
        if(xmlHttp.responseText == '6')
        {
        	alert("Please enter a valid website\nMust begin with http://");
        	return false;        
        }        
        else if(xmlHttp.responseText == '5')
        {
        	alert("Please enter a valid email");
        	return false;
        }
        else if(xmlHttp.responseText == '4')
        {
        	alert("Wrong captcha code. If you cannot see the code, try to refresh the image");
        	return false;
        }else if(xmlHttp.responseText == '3')
        {
        	alert("Cannot send comment right now. Please try again later!");
        	return false;
        }else if(xmlHttp.responseText == '2')
        {
        	alert("The comment must be at least 10 characters long");
        	return false;
        }else if(xmlHttp.responseText == '1')
        {
        	alert("Please provide your name!");
        	return false;
        }
		document.getElementById('sendResults').innerHTML = "<div class=\"box_main\"><div class=\"title_bar\"><h2 class=\"title_box\">Comment Sent</h2></div><div class=\"content_box\">"+xmlHttp.responseText+"</div></div>";
		document.getElementById('commentForm').style.display="none";
    }
}

function makePOSTRequest(news_id, name, email, comment)
{
	var parameters = "";
	parameters+= "nfo[news_id]=" + news_id + "&nfo[userName]=" + name + "&nfo[userEmail]=" + email + "&nfo[userComment]=" + comment;
	return parameters;
}


/**
 *  Functions used for accepting and rejecting comments:
 *
*/

ajax.approveComment = function(base_url, comment_id)
{
	baseurl = base_url;
	commentid = comment_id;
	xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        alert ("Your browser does not support AJAX!");
        return;
    }
    var url=base_url + "/Admin/acceptBlogComment/";
//	alert(url);
//	return false;
    var parameters = "";
    parameters = "nfo[commet_id]=" + comment_id;
    
    divId = "comment"+comment_id;
    adminDivId = "admin"+comment_id;
    xmlHttp.onreadystatechange=ajax.colorDivAccept;
    xmlHttp.open("POST",url,true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", parameters.length);
    xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send(parameters);
}
ajax.colorDivAccept = function()
{
	if(xmlHttp.readyState==4)
    {
    	var result = xmlHttp.responseText;
    	if(result.toString() == '1')
			alert("Can't approve comment right now. Please try again later.");
		else if(result.toString() == '0')
		{
			//change div border color
			var div=document.getElementById(divId)
			div.style.borderColor="green";
			
			//change admin div links:
			//make REJECT
			adminDiv = document.getElementById(adminDivId);
			adminDiv.innerHTML = "<a style='cursor:pointer;' onClick='ajax.rejectComment(\""+baseurl+"\","+commentid+"); >REJECT</a>";
		}
    }
	
}

ajax.rejectComment = function(base_url, comment_id)
{
	baseurl = base_url;
	commentid = comment_id;
	xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        alert ("Your browser does not support AJAX!");
        return;
    }
    var url=base_url + "/Admin/rejectBlogComment/";
//	alert(url);
//	return false;
    var parameters = "";
    parameters = "nfo[commet_id]=" + comment_id;
    
    divId = "comment"+comment_id;
    adminDivId = "admin"+comment_id;
    xmlHttp.onreadystatechange=ajax.colorDivReject;
    xmlHttp.open("POST",url,true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", parameters.length);
    xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send(parameters);
}
ajax.colorDivReject = function()
{
	if(xmlHttp.readyState==4)
    {
    	var result = xmlHttp.responseText;
    	if(result.toString() == '1')
			alert("Can't delete comment right now. Please try again later.");
		else if(result.toString() == '0')
		{
			//change div border color
			var div=document.getElementById(divId);
			div.style.display="none";
			div.style.borderColor="red";
			
			//change admin div links:
			//make APPROVE
			adminDiv = document.getElementById(adminDivId);
			adminDiv.style.display="none";
			adminDiv.innerHTML = "<a style='cursor:pointer;' onClick='ajax.approveComment(\""+baseurl+"\","+commentid+"); >APPROVE</a>";
		}
    }
	
}

ajax.getCalendar = function (baseURL, month, year)
{
    //alert(month + " " + year);
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        alert ("Your browser does not support AJAX!");
        return;
    }
    var url=baseURL + "/News/getCalendar/";
	
    var parameters = "";
    parameters = "nfo[month]=" + month + "&nfo[year]=" + year;
    
    divId = "calendarContents";
    ajaxDiv = document.getElementById('loadingAjax');
    ajaxDiv.innerHTML = "<img src=\"/images/ajax-loader.gif\" />";
    xmlHttp.onreadystatechange=ajax.paintCalendar;
    xmlHttp.open("POST",url,true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", parameters.length);
    xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send(parameters);
}

ajax.paintCalendar = function()
{
    if(xmlHttp.readyState==4)
    {
    	var result = xmlHttp.responseText;
    	if(result.toString() == '1')
	    return false;
	else 
	{
	    var div=document.getElementById(divId)
	    div.innerHTML = result;
	}
    }
}


ajax.getArticlesForAuthor = function(base_url, author_id, offset)
{
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        alert ("Your browser does not support AJAX!");
        return;
    }
    var url=base_url + "/News/getInfoAjax";

    var parameters = "ev=getArticlesForAuthor";
    
    var list = document.getElementById('articles');
    
    var img = document.createElement('img');
    
    img.src = "/media/images/big_ball_loader.gif";
    
//    while (list.hasChildNodes())
//    {
//        list.removeChild(list.firstChild);
//    }
    list.innerHTML = "";
    list.style.textAlign = "center";
    list.appendChild(img);
    

    parameters+= "&f_start=" + offset + "&author_id=" + author_id;  
    
    xmlHttp.onreadystatechange=ajax.updateAuthorArticles;

    xmlHttp.open("POST",url,true);    
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length",parameters.length);
    xmlHttp.setRequestHeader("Connection", "close");
        
    xmlHttp.send(parameters);
}

ajax.updateAuthorArticles = function(content)
{
    if(xmlHttp.readyState==4)
    {
    	var result = xmlHttp.responseText;
    	if(result.toString() == '')
	    return false;
	else 
	{
	    
	    to_be_replaced = document.getElementById('articles');
	    to_be_replaced.style.textAlign = "left";
	    to_be_replaced.innerHTML = result.toString();
	}
    }
}

/* rate news */

ajax.rateNews = function (base_url, news_id, rating) {

    var url=base_url + "/News/rateNews/";

    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        alert ("Your browser does not support AJAX!");
        return;
    }

    var parameters = "";
    parameters+= "nfo[news_id]=" + encodeURIComponent(news_id) + "&nfo[rating]=" + encodeURIComponent(rating);  
    xmlHttp.onreadystatechange=ajax.rateNewsCallback;
    xmlHttp.open("POST",url,true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", parameters.length);
    xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send(parameters);
}

ajax.rateNewsCallback = function()
{
    if(xmlHttp.readyState==4)
    {
        if(xmlHttp.responseText > 0)
        {
        	var cRating = document.getElementById("currentRating");
        	
        	var r = (xmlHttp.responseText*100)/5;
        	
        	cRating.style.width = r+"%";
        	
        	return false;
        }else if(xmlHttp.responseText == '-1')
        {
        	alert("Please try again later!");
        	return false;
        }else if(xmlHttp.responseText == '-2')
        {
        	alert("You must login before you can rate this article");
        	return false;
	}

		document.getElementById('sendResults').innerHTML = xmlHttp.responseText;
		document.getElementById('commentForm').style.display="none";
    }
}

/* AJAX STUFF */

function stateChanged()
{
    if (xmlHttp.readyState==4)
    {
        content = xmlHttp.responseText;
        searchInProgress = 0;
        if(content.length < 10)
            return;
        document.getElementById("searchSuggestions").innerHTML=xmlHttp.responseText;

    }
}

function GetXmlHttpObject()
{
    var xmlHttp=null;
    try
    {
        // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
        // Internet Explorer
        try
        {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}

