function createRequestObject() 
{
    var req; 
    if(window.XMLHttpRequest) {
    	try {
            req = new XMLHttpRequest();
        } 
        catch(e) {
            req = false;
        }
    } 
    else if (window.ActiveXObject) {
        try {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch(e) {
            try {
                req = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch(e) {
                req = false;
            }
        }
    }
    return req;
}
var request = createRequestObject(); 


// Save a new blog post via ajax
function savePage(name) {
		tinyMCE.execCommand('mceRemoveControl',false,'pageContent');
		
		var content = document.forms["editPageForm"].pageContent.value;

		content = sanitize(content);
		
		document.forms["editPageForm"].style.display = "none";
		
		savePageRequest(content,name);

		
}

function savePageRequest(content,name) {
    if (request.readyState == 0 || request.readyState == 4) // don't allow another AJAX call while one already in progress
    {

        document.body.style.cursor = 'wait';
    	  call_id = new Date().getTime();
				post_data = 'type=savePage&content='+content+'&name='+name+'&r='+call_id;
       	request.open('post', 'ajaxRequestFunctions.php', true);
        request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
       	request.onreadystatechange = handleSavePageRequest;
       	request.send(post_data);
    }
}

function handleSavePageRequest() {
	if(request.readyState == 1) 
	{ 

  }
	if(request.readyState == 4) 
	{
		var response = request.responseText;
		document.location.reload();
		document.body.style.cursor = "default";
        
	}
}





// Save a new blog post via ajax
function saveNewPost() {
		tinyMCE.execCommand('mceRemoveControl',false,'blogPost');

		
		var post = document.forms["newBlogPostForm"].blogPost.value;
		var title = document.forms["newBlogPostForm"].title.value;
		
		post = sanitize(post);
		title = sanitize(title);
		
		document.forms["newBlogPostForm"].style.display = "none";
		
		saveNewPostRequest(post,title);

		
}

function saveNewPostRequest(post,title) {
    if (request.readyState == 0 || request.readyState == 4) // don't allow another AJAX call while one already in progress
    {

        document.body.style.cursor = 'wait';
    	  call_id = new Date().getTime();
				post_data = 'type=saveNewPost&post='+post+'&title='+title+'&r='+call_id;
       	request.open('post', 'ajaxRequestFunctions.php', true);
        request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
       	request.onreadystatechange = handleSaveNewPostRequest;
       	request.send(post_data);
    }
}

function handleSaveNewPostRequest() {
	if(request.readyState == 1) 
	{ 

  }
	if(request.readyState == 4) 
	{
		
		var response = request.responseText;
		var title = document.forms["newBlogPostForm"].blogPost.value = "";
		var title = document.forms["newBlogPostForm"].title.value = "";
		tinyMCE.execCommand('mceAddControl',false,'blogPost');
		document.forms["newBlogPostForm"].style.display = "block";
		
		document.body.style.cursor = "default";
        
	}
}


function deleteBlogPost(id) {
		
		deleteBlogPostRequest(id);

		
}

function deleteBlogPostRequest(id) {
    if (request.readyState == 0 || request.readyState == 4) // don't allow another AJAX call while one already in progress
    {

        document.body.style.cursor = 'wait';
    	  call_id = new Date().getTime();
				post_data = 'type=deleteBlogPost&id='+id+'&r='+call_id;
       	request.open('post', 'ajaxRequestFunctions.php', true);
        request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
       	request.onreadystatechange = handleDeleteBlogPostRequest;
       	request.send(post_data);
    }
}

function handleDeleteBlogPostRequest() {
	if(request.readyState == 1) 
	{ 

  }
	if(request.readyState == 4) 
	{
		
		var response = request.responseText;
		document.location.reload();
		document.body.style.cursor = "default";
        
	}
}

var global_id;
function editBlogPost(id) {
		
		editBlogPostRequest(id);
		global_id = id;
		
}

function editBlogPostRequest(id) {
    if (request.readyState == 0 || request.readyState == 4) // don't allow another AJAX call while one already in progress
    {

        document.body.style.cursor = 'wait';
    	  call_id = new Date().getTime();
				post_data = 'type=editBlogPost&id='+id+'&r='+call_id;
       	request.open('post', 'ajaxRequestFunctions.php', true);
        request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
       	request.onreadystatechange = handleEditBlogPostRequest;
       	request.send(post_data);
    }
}

function handleEditBlogPostRequest() {
	if(request.readyState == 1) 
	{ 

  }
	if(request.readyState == 4) 
	{
		
		var response = request.responseText;
		//tinyMCE.execCommand('mceRemoveControl',false,'oldBlogPost');
		//document.forms["editBlogPostForm"].oldBlogPost.value = response;
        //document.forms["editBlogPostForm"].id.value = global_id;
		//tinyMCE.execCommand('mceAddControl',false,'oldBlogPost');
		
		document.body.style.cursor = "default";
        
	}
}

function saveOldPost() {
	
		tinyMCE.execCommand('mceRemoveControl',false,'oldBlogPost');
		id = document.forms["editBlogPostForm"].id.value;
		title = document.forms["editBlogPostForm"].title.value;
		post = document.forms["editBlogPostForm"].oldBlogPost.value;
		document.forms["editBlogPostForm"].style.display = "none";
		
		id = sanitize(id);
		title = sanitize(title);
		post = sanitize(post);
		
		saveOldPostRequest(id,title,post);
}

function saveOldPostRequest(id,title,post) {
    if (request.readyState == 0 || request.readyState == 4) // don't allow another AJAX call while one already in progress
    {

        document.body.style.cursor = 'wait';
    	  call_id = new Date().getTime();
				post_data = 'type=saveOldBlogPost&id='+id+'&r='+call_id+'&title='+title+'&post='+post;
       	request.open('post', 'ajaxRequestFunctions.php', true);
        request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
       	request.onreadystatechange = handleSaveOldPostRequest;
       	request.send(post_data);
    }
}

function handleSaveOldPostRequest() {
	if(request.readyState == 1) 
	{ 

  }
	if(request.readyState == 4) 
	{
		
		var response = request.responseText;
		self.parent.tb_remove();
		parent.location.reload(1);
		document.body.style.cursor = "default";
		
        
	}
}



// Upload Photo //////////////////////////////////////////
var check_photo_done;
function upload_photo() {
	var method = method || "post";
	var frm = document.forms['newPhotoUpload'];
	frm.setAttribute("method", method);

	frm.elements['new_photo_upload'].value = 'true';
	
	
	frm.submit();
	
	
	check_photo_done = "false";
	interval = window.setInterval("check_photo_upload()", 1);
}

function check_photo_upload() {
    if (check_photo_done == "false" && (request.readyState == 0 || request.readyState == 4)) // don't allow another AJAX call while one already in progress
    {
    	
      document.body.style.cursor = 'wait';
    	call_id = new Date().getTime();
			request.open('get', 'ajaxRequestFunctions.php?type=upload_check&r='+call_id);
    	request.onreadystatechange = handleCheckPhotoUploadRequest; 
    	request.send(null);
     	interval = window.setInterval("check_photo_upload()", 1);
     	
    }
}

function handleCheckPhotoUploadRequest() {
	if(request.readyState == 1) 
	{ 

    }
	if(request.readyState == 4) 
	{
		var response = request.responseText;
		if (response == "true")
		{
			check_photo_done = "true";
			window.clearInterval(interval);
				//refreshPhotos();
				document.body.style.cursor = 'default';
				return;
		} else if (response == "Incorrect File Type. Please try again with a .jpg or .gif") 
		{
			check_photo_done = "true";
			window.clearInterval(interval);
			document.body.style.cursor = 'default';
			return;
		}
		
	}
}

// Delete Photo //////////////////////////////////////////
function deletePhoto(id) 
{
	if (confirm('Are you sure you want to delete this photo?'))
	{
	    if (request.readyState == 0 || request.readyState == 4) // don't allow another AJAX call while one already in progress
	    {
	        document.body.style.cursor = 'wait';
	    	call_id = new Date().getTime();
	       	post_data = 'type=deletePhoto&id='+id+'&r='+call_id;
	       	request.open('post', 'ajaxRequestFunctions.php', true);
	        request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	       	request.onreadystatechange = handleDeletePhoto;
	       	request.send(post_data);
	    }
	}
}

function handleDeletePhoto()
{
	if(request.readyState == 1) 
	{ 
	    
    }
	if(request.readyState == 4)
	{
		document.location.reload();
		document.body.style.cursor = 'default';
	}
}

function sanitize(string)
{
   	string = string.replace(/\+/g, "&#43");
    string = string.replace(/\\/g, "&#92");
    string = escape(string);
    
    return string;
}
