function get_post(post_id, post_tag, num, callFrom) {
	document.getElementById("temp_login").innerHTML='';
	
	if (post_id != '') {
		var sBody = "post_id="+encodeURIComponent(post_id);
	} else if (post_tag !=''){
		var sBody = "post_tag="+encodeURIComponent(post_tag);
	} else {
		var sBody = '';
	}
	
	if (num != '') {
		if (sBody != '') {
			sBody = sBody + '&num='+num;
		} else {
			sBody = 'num='+num;
		}
	}
	
	
	var oXHR = createXHR();
	oXHR.open("post", "/s9/blog/bp_get_post.php", true);
	
	
	oXHR.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	oXHR.setRequestHeader("Content-length", sBody.length);
	oXHR.setRequestHeader("Connection", "close"); 
	
	oXHR.onreadystatechange = function() {
		if(oXHR.readyState < 4)
		{
			
		}
		if (oXHR.readyState == 4) {
			if (oXHR.status == 200) {
				var xmlBack  = oXHR.responseXML;
				display_post(xmlBack, callFrom);
				
				
			} else {
							
				alert('error:'+oXHR.responseText);
			}
		}
	};

	//Send the request
	oXHR.send(sBody);

}

//AJAX createXHR function
function createXHR() {
	if (typeof XMLHttpRequest != "undefined") {
		return new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		var aVersions = [ "MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0" ];
		
		for (var i=0; i<aVersions.length; i++) {
			try {
				var oXHR = new ActiveXObject(aVersions[i]);
				return oXHR;
			} catch(oError) {
				//Do nothing
			}
		}
	}
}

function display_post(xmlDoc, callFrom) {

	var xmlrows = xmlDoc.getElementsByTagName("Error");
	if (xmlrows.length > 0) {
		var xmlcells = xmlrows[0].getElementsByTagName("Message");
		var strMessage = ""
		for (var i=0; i<xmlcells.length; i++) {
			if (xmlcells[i].firstChild == null) {
				strMessage += "An error occurred";
			} else {
				strMessage += xmlcells[i].firstChild.data;
				alert(strMessage);
			}
		}
	} else {
		
		var div_bp;
		var div_title;
		var div_post;
		var div_infoRow;
		var div_tagRow;
		var div_tagCell;
		
		var col_left = document.getElementById("temp_login");
	 	var xmlEntries = xmlDoc.getElementsByTagName("Entry");
		for (numEntry = 0; numEntry < xmlEntries.length; numEntry++) {

			var xmlblog_entries_ID = xmlEntries[numEntry].getElementsByTagName("blog_entries_ID");
			var xmlEntry = xmlEntries[numEntry].getElementsByTagName("Post");
			var xmlTitle = xmlEntries[numEntry].getElementsByTagName("Title");
			var xmlEntry_Date = xmlEntries[numEntry].getElementsByTagName("Entry_Date");
			var xmlAuthor = xmlEntries[numEntry].getElementsByTagName("author");
			
			
			if (xmlblog_entries_ID[0].firstChild != null) {
				var blog_entries_ID = xmlblog_entries_ID[0].firstChild.data;
			}
			if (xmlEntry[0].firstChild != null) {
				var Entry = "";
				for (var childLen = 0; childLen < xmlEntry[0].childNodes.length; childLen++) {
					Entry += xmlEntry[0].childNodes[childLen].data;
				}
			}
			if (xmlTitle[0].firstChild != null) {
				var Title = xmlTitle[0].firstChild.data;
			}	
			if (xmlEntry_Date[0].firstChild != null) {
				var Entry_Date = xmlEntry_Date[0].firstChild.data;
			}
			
			
			var div_bp = document.createElement("div");	
			//div_bp.className='s9_div_bp';
			col_left.appendChild(div_bp);
			
			var div_title = document.createElement("div");
			div_title.innerHTML=Title;
			div_bp.appendChild(div_title);
			
			var div_infoRow = document.createElement("div");
			div_bp.appendChild(div_infoRow);
			
			//format date, function should be consolidated to common function page
			
			var dow = Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
			var months = Array('January','February','March','April','May','June','July','August','September','October','November','December');
						
			Entry_Date = String(Entry_Date).replace(/\-/g, '/');	//format mysql date to js readible date
			var jd = new Date(Entry_Date);						//create new js date
			var fdate = dow[jd.getDay()] + ' ' + months[jd.getMonth()] + ' ' + jd.getDate() + ' ' + jd.getFullYear();

			if(jd.getHours() == 0) {
				var hour = 12;
				var am_pm = 'am';
			} else if (jd.getHours() == 12) {
				var hour = 12;
				var am_pm = 'pm';
			} else if (jd.getHours() > 12) {
				var hour = jd.getHours() - 12;
				var am_pm = 'pm';
			}
			if( jd.getMinutes() < 10) { 
				var minute = '0'+jd.getMinutes(); 
			} else {
				var minute = jd.getMinutes();
			}
			
			var ftime = hour + ':' +  minute + am_pm;
			
			
			div_infoRow.appendChild(document.createTextNode(' on ' + fdate ));
			div_infoRow.appendChild(document.createTextNode(' at ' + ftime ));
			
			
			/*check and insert tags */
			var div_tagRow = document.createElement("div");
			var div_tagCell = document.createElement("div");
			//get tags
			var xmlTags = xmlEntries[numEntry].getElementsByTagName("Tag");
			if (xmlTags.length > 0) {
				//creat tag row div
				div_bp.appendChild(div_tagRow);
				for (numTags = 0; numTags < xmlTags.length; numTags++) {
					var tag = xmlTags[numTags].firstChild.data;
					
					div_tagCell.innerHTML=tag;
					div_tagCell.onclick= function() {
						var tt = this.innerHTML;
						get_post('',tt,'');
					};
					div_tagRow.appendChild(div_tagCell);
				}
				var spacer = document.createElement("div");
				spacer.className="spacer";
				div_tagRow.appendChild(spacer);
			}
			
			
			
			/*begin format post */
			 
			
			var be_body_post = Entry;
			parse_code(Entry);
			be_body_post = global_entry;
			//alert(be_body_post);
								
									
			be_body_post = be_body_post.replace(/\[(DIV_IMG)/g, "<div class='be_tag_div_image' ");
			be_body_post = be_body_post.replace(/\[\/(DIV_IMG)\]/g, "<div class='be_div_caption'></div></div> ");
			be_body_post = be_body_post.replace(/\[(IMG)/g, "<img class='be_tag_img' ");										
			
			
			//a href property
			be_body_post = be_body_post.replace(/\[(a)/g, "<a onclick=\"usrLog('CLICK','link')\"");
			
			
			be_body_post = be_body_post.replace(/[\n]/g, "<br>");				//preserve line breaks
			//be_body_post = be_body_post.replace(/\[(code)\]/g, "<code class='be_tag_code1'>");
			
			
			be_body_post = be_body_post.replace(/\[/g, "<");					//bracket [
			be_body_post = be_body_post.replace(/\]/g, ">");					//bracket ]
			/* end format post */
			
			var div_post = document.createElement("div");
			div_post.innerHTML=be_body_post;
			div_bp.appendChild(div_post);
			
			var spacer = document.createElement("div");
			spacer.className="spacer";
			div_bp.appendChild(spacer);
			
			//if (jd.getFullYear() > 2008 && jd.getMonth() > 3 ) {
				if (0) {
				/* Blog Element Classes - new */
				div_bp.className="bp_div";
				div_title.className="bp_title";
				div_post.className="bp_post";
				div_infoRow.className="";
				div_tagRow.className="bp_tag_bar";
				div_tagCell.className="div_tagCell";
			} else {
				/* Blog Element Classes - original splash 8.* */
				div_bp.className="blog_body";
				div_title.className="blog_title";
				div_post.className="blog_text";
				div_infoRow.className="blog_date";
				div_tagRow.className="blog_date";
				div_tagCell.className="div_tagCell";
			}
			
			//set blog post body if being called from blog main page (need to indent post)
			if (callFrom == 'blogMain') {
				div_bp.className="post";
			}
			
			// BEGIN get comments
			var xmlComments = xmlEntries[numEntry].getElementsByTagName("Comment");
			
			//add comment button
			var div_com_enter = document.createElement("div");
			div_com_enter.className="s9_btn_aDiv";
			div_bp.appendChild(div_com_enter);
			
			var spacer = document.createElement("div");
			spacer.className="spacer";
			div_bp.appendChild(spacer);
			
			var div_com_enterTxt =  document.createElement("a");
			div_com_enterTxt.className="s9_btn_aLink";
			div_com_enterTxt.innerHTML="view comments";
			div_com_enter.id='comTxt_id-'+blog_entries_ID;
			div_com_enter.onclick = function() {
				var comIDout = this.id;
				comIDout = comIDout.substring(10);
				usrLog('CLICKED','view comments , BLOG ID: '+comIDout);
				toggle_display('div_com_all-'+comIDout);
				checkLogin(document.getElementById('divId_comLog_'+comIDout), 'comEntry');
			};
			div_com_enter.appendChild(div_com_enterTxt);
			
			var div_com_all = document.createElement("div");
			div_com_all.id='div_com_all-'+blog_entries_ID;
			div_com_all.style.display="none";
			div_bp.appendChild(div_com_all);
			
			if (xmlComments.length > 0) {
				//creat tag row div
				
				for (numComs = 0; numComs < xmlComments.length; numComs++) {
					var xmlComText = xmlComments[numComs].getElementsByTagName("text");
					var xmlComDate = xmlComments[numComs].getElementsByTagName("date");
					var xmlComUser = xmlComments[numComs].getElementsByTagName("user");
					if (xmlComText[0].firstChild != null && xmlComDate[0].firstChild != null && xmlComUser[0].firstChild != null) {
						var comText="";
						for (var childLen = 0; childLen < xmlComText[0].childNodes.length; childLen++) {
							comText += xmlComText[0].childNodes[childLen].data;
						}
						var comDate= xmlComDate[0].firstChild.data;
						var comUser= xmlComUser[0].firstChild.data;
						
						var div_comCell = document.createElement("div");
						
						var div_comHead = document.createElement("div");
						div_comHead.className = "comment_top";
						div_comCell.appendChild(div_comHead);
						
						var div_comText = document.createElement("div");
						div_comText.className="comment_mid";
						div_comText.innerHTML=comText;
						div_comCell.appendChild(div_comText);
						
						var div_comBot = document.createElement("div");
						div_comBot.className = "comment_bot";
						div_comCell.appendChild(div_comBot);
						
						var div_cb_usr = document.createElement("div");
						div_cb_usr.className = "cb_usr";
						div_comBot.appendChild(div_cb_usr);
						
						var div_cb_usrPic = document.createElement("div");
						div_cb_usrPic.className = "cb_upic";
						div_cb_usr.appendChild(div_cb_usrPic);
						
						var img_cb_usrPic = document.createElement("img");
						img_cb_usrPic.setAttribute('src','/img-s8/usr_avatars/blank_110.png');
						img_cb_usrPic.setAttribute('alt','user picture');
						img_cb_usrPic.setAttribute('width','90px');
						img_cb_usrPic.setAttribute('height','90px');
						div_cb_usrPic.appendChild(img_cb_usrPic);
						
						var div_cb_usrName = document.createElement("div");
						div_cb_usrName.className="cb_un";
						div_cb_usrName.innerHTML = comUser;
						div_cb_usr.appendChild(div_cb_usrName);
						
						var div_cb_date = document.createElement("div");
						div_cb_date.className="cb_date";
						div_cb_date.innerHTML = comDate;
						div_cb_usr.appendChild(div_cb_date);
						
						
						var div_comDate = document.createElement("div");
						var div_comUser = document.createElement("div");
						
						div_com_all.appendChild(div_comCell);
						
						
					}
				}
			}
			// END get comments
			
			
			var div_addComment_head = document.createElement("div");
			div_addComment_head.className = "comment_top";
			div_com_all.appendChild(div_addComment_head)
			
			var div_addComment_mid = document.createElement("div");
			div_addComment_mid.className="comment_mid";
			div_addComment_mid.id= 'divId_comLog_'+blog_entries_ID;
			div_com_all.appendChild(div_addComment_mid);
			
			var div_addComment_bot = document.createElement("div");
			div_addComment_bot.className = "comment_bot";
			div_com_all.appendChild(div_addComment_bot);
			
			//checkLogin(div_addComment_mid, 'comEntry');
		}
	}
}

function parse_code(Entry) {
	//work on code tags
	var tag_code_begin = '<div class="be_div_code"><pre><code>';
	var tag_code_end = '</code></pre></div>';
	
	var reg_codeTag_open = /\[(code)\]/;
	var reg_codeTag_close = /\[\/(code)\]/;
	var reg_codeTag_all = /\[(code)\]((.|\s)*?)\[(\/code)\]/;
	
	var matchPos = Entry.indexOf("[code]");
	
	if(matchPos >= 0){

		var matchPos_end =  Entry.indexOf("[/code]",matchPos);

		var codeString = Entry.substring(matchPos+6,matchPos_end);
		
		codeString = codeString.replace("<","&lt;");
		codeString = codeString.replace(">","&gt;");
		codeString = codeString.replace("/","&#47;");
		//codeString = codeString.replace(/\n/g,"***");
		
		codeString = tag_code_begin + codeString + tag_code_end;
		
		var endLength = codeString.length;	//get length of code snippet after changes
		
		Entry = Entry.replace(reg_codeTag_all,codeString);	
		parse_code(Entry);
	} else {
		global_entry = (Entry);
	}
}

/* --------------------------------
| FUNCTION:	createComEntry(divIn)
| CREATED:	
| MODIFIED:	
| AUTHOR:	Seth DeSantis		
| PURPOSE: 	display comment entry form
|-------------------------------- */
function createComEntry(divIn) {
	var comInpt_entry = document.createElement("textarea");
	comInpt_entry.className="s9_com_entry";
	
	divIn.appendChild(comInpt_entry);
	
	inpt_submitDiv = document.createElement("div");
	inpt_submitDiv.className ="s9_btn_aDiv";
	divIn.appendChild(inpt_submitDiv);
	
	var inpt_com =  document.createElement("a");
	inpt_com.className="s9_btn_aLink";
	inpt_com.innerHTML="submit comment";
	inpt_com.onclick= function() {
		submitComment(divIn, comInpt_entry.value);
	};
	
	inpt_submitDiv.appendChild(inpt_com);
}

/* --------------------------------
| FUNCTION:	submitComment(divIn, comIn)
| CREATED:	
| MODIFIED:	
| AUTHOR:	Seth DeSantis		
| PURPOSE: 
|-------------------------------- */

function submitComment(divIn, comIn) {
	var divIn_id = divIn.id;
	var divIn_id = divIn_id.substring(13);
	
	var sBody='commentSubmitted='+encodeURIComponent(comIn)+'&blogId='+divIn_id;
	
	var oXHR = createXHR();
	oXHR.open("post", "/s9/blog/submitComment.php", true);
	
	oXHR.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	oXHR.setRequestHeader("Content-length", sBody.length);
	oXHR.setRequestHeader("Connection", "close"); 
	
	oXHR.onreadystatechange = function() {
		if(oXHR.readyState < 4)
		{
			
		}
		
		if (oXHR.readyState == 4) {
			if (oXHR.status == 200) {
				if (oXHR.responseText == 'good') {	//IF user is logged in
					usrLog('COMMENT SUBMITTED', 'BLOG ID: '+divIn_id+', COMMENT: '+comIn);
					divIn.innerHTML = 'comment submitted: '+comIn;
					

				} else {					//IF user is not logged in
					usrLog('ERROR', 'COMMENT SUBMIT BLOG ID: '+divIn_id+', COMMENT: '+comIn);
					divIn.innerHTML = 'error submitting comment: '+oXHR.responseText;
					
				}
			} else {				
				usrLog('ERROR', 'COMMENT SUBMIT PHP PAGE BLOG ID: '+divIn_id+', COMMENT: '+comIn);
				divIn.innerHTML='error with submitting comment';
			}
		} 
	};

	//Send the request
	
	oXHR.send(sBody);
	
}
