     
   
     function showblogoverlay()
	{
		var overlay = document.getElementById('blog_overlay');
		overlay.style.visibility = 'visible';
		var dim = getPageDim();
		if(dim[0] && dim[1]){ overlay.style.width = dim[0]+'px'; overlay.style.height = dim[1]+'px'; }
	}
     
     function openBlogUI(text, fpath)
     {
         var btn = document.getElementById('saveBlogPostBtn');
	    btn.onclick = function(){ saveNewBlogPost(fpath); };
	    blogTitleSpan = document.getElementById('blogtitle_span');
	    blogTitleSpan.style.visibility = 'visible';
	    showblogoverlay();
	    var elm = document.getElementById('blog_tinymce_div');
	    elm.style.visibility = 'visible';
	    var inst = tinyMCE.getInstanceById('blog_tinymce_ta');
	
	    //tinyMCE 2
	    //inst.setHTML(text);
	
	    //tinyMCE 3
	    inst.setContent(text);
	}
	
  function closeBlogUI()
  {
     blogTitleSpan = document.getElementById('blogtitle_span');
     blogTitleSpan.style.visibility = 'hidden';
  	var btn = document.getElementById('saveBlogPostBtn');
	btn.onclick = function(){ ; };
  	var elm = document.getElementById('blog_tinymce_div');
	elm.style.visibility = 'hidden';
     var overlay = document.getElementById('blog_overlay');
     overlay.style.visibility = 'hidden';
  }
	
	
function newPostCompleted(request, content)
{
  if(request.readyState ==4)
  {
    closeBlogUI();
    //safari acting funny:
    document.location.href = document.location.protocol + '//' + document.location.host + document.location.pathname + '#'; 
  }
}

function escape_html(str) //does not convert extended characters
{
	return str.split('&').join('&amp;').split('<').join('&lt;').split('>').join('&gt;');
}

  
  
function saveNewBlogPost(dirPath)
{
	var inst = tinyMCE.getInstanceById('blog_tinymce_ta');
	var request = new XMLHttpRequest();
	var inputfld = document.getElementById('blogtitle_fld');
	request.open("POST", path_to_blogapp('blog_new_post.php')  , true); 
	request.onreadystatechange = function(){ newPostCompleted(request, /* tinyMCE 2: inst.getHTML() */  inst.getContent() );};
	request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	request.send("dir=" +escape(dirPath)+  "&entry=" + escape(/*tinyMCE 2 inst.getHTML()*/ inst.getContent() )
	             + "&title=" + escape(escape_html(inputfld.value)));
}

function saveBlogPost(pname)
{
	var inst = tinyMCE.getInstanceById('blog_tinymce_ta');
	var request = new XMLHttpRequest();
	
	request.open("POST", path_to_blogapp('blog_edit_post.php') , true); 
	request.onreadystatechange = function(){ editPostCompleted(request, /* tinyMCE 2: inst.getHTML() */  inst.getContent() );};
	request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	request.send("entry=" + escape(/*tinyMCE 2 inst.getHTML()*/ inst.getContent() )
	             + "&pname=" + escape(pname));
}

function editBlogPostViaRequest(request,  pname)
{
     if(request.readyState ==4)
	{
		if(request.status == 200 || request.status == 304)
		{
			var btn = document.getElementById('saveBlogPostBtn');
			btn.onclick = function(){ saveBlogPost(pname); };
			blogTitleSpan = document.getElementById('blogtitle_span');
			blogTitleSpan.style.visibility = 'hidden';
			showblogoverlay();
			var elm = document.getElementById('blog_tinymce_div');
			elm.style.visibility = 'visible';
			var inst = tinyMCE.getInstanceById('blog_tinymce_ta');
			
			//tinyMCE 2
			//inst.setHTML(request.responseText);
			
			//tinyMCE 3
			inst.setContent(request.responseText);
		}
	}
}

function editPostCompleted(request, content)
{
  if(request.readyState ==4)
  {
    closeBlogUI();
   
    document.location.reload();
  }
}
  

  
  
  function getPageDim()
  {
  	var body =  document.getElementsByTagName("body")[0];
  	var pdim = [0,0];
  	if(document.documentElement && document.documentElement.scrollWidth)
  	{
  	   pdim[0] = document.documentElement.scrollWidth;
  	   pdim[1] = document.documentElement.scrollHeight;
     }
     if(body)
     {
        pdim[0] = Math.max(pdim[0], body.offsetWidth, body.scrollWidth);
        pdim[1] = Math.max(pdim[1], body.offsetHeight, body.scrollHeight);
     }
     return(pdim);
  }
  
  
  
  
  //tinyMCE
		  tinyMCE.init({
			theme : "advanced",
			mode: "exact",
			elements: "blog_tinymce_ta",
                        skin : "o2k7",
                        skin_variant : "black",
			language: "en",
			button_tile_map: true,
			gecko_spellcheck: true,
			editor_selector: "mce-editor",
			plugins : "safari,style,layer,table,advhr,advimage,advlink,iespell,insertdatetime,media,searchreplace,contextmenu,paste,directionality,nonbreaking,xhtmlxtras",
			theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
			theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,undo,redo,|,search,|,bullist,numlist,|,outdent,indent,|,link,unlink,anchor,image,cleanup,code,|,insertdate,inserttime,|,forecolor,backcolor",
			theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,iespell,media,advhr,|,ltr,rtl",
			theme_advanced_buttons4 : "cite,abbr,acronym,del,ins,|,nonbreaking,help",
			theme_advanced_toolbar_location : "top",
			theme_advanced_toolbar_align : "left",
			theme_advanced_path_location : "bottom",
			extended_valid_elements : "a[name|href|rel|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name|style],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]"
				});

