function html_encode(str) {
	str = str.replace(/&/g,"&amp;");
	str = str.replace(/</g,"&lt;");
	str = str.replace(/>/g,"&gt;");
	str = str.replace(/\n/,"<br />");
	return str;
}

function doAction(theAction,errorDiv){
	AjaxSend(theAction,'handle_updateScreen','collection_collections','collection_current','collection_content','collection_action',errorDiv);
}

function updateScreen(curCollection, curPost, curView){
	var theAction = 'plugin=collection&action=general&sub=updatescreen';
	theAction = theAction + '&curCollection='+curCollection;
	theAction = theAction + '&curPost='+curPost;
	theAction = theAction + '&curView='+curView;
	doAction(theAction,'errorDiv');
}

var page_content_buffer = '';
function ShowPostContent(divid, postid, viewid){ // build 14: added
	var theAction = 'plugin=collection&action=general&sub=showpostcontent';
	theAction = theAction + '&curPost=' + postid;
	theAction = theAction + '&curView=' + viewid;
	theAction = theAction + '&targetDiv=' + divid;
	/*AjaxSend(theAction,'handle_updateScreenPostContent', 'postcontent_content',divid);*/
	AjaxSend(theAction,'handle_updateScreenPostContent', divid);

}

function HidePostContent(divid){ // build 14: added
	/*
	findObj('postcontentdiv').className = 'invisible';
	findObj('filecontentdiv').className = '';
	*/
	findObj(divid).innerHTML = page_content_buffer;
}


function updateContent(option, curCollection, curPost, curView){
	var theAction = 'plugin=collection&action=general&sub=updatecontent';
	theAction = theAction + '&option='+option;
	theAction = theAction + '&curCollection='+curCollection;
	theAction = theAction + '&curPost='+curPost;
	theAction = theAction + '&curView='+curView;
	doAction(theAction,'errorDiv');
}

function updateAction(option){
	
	var theAction = 'plugin=collection&action=general&sub=updateaction';
	theAction = theAction + '&option='+option;
	
	if(arguments.length > 1) theAction = theAction + '&curCollection='+arguments[1];
	
	switch(option){
	case 'addPost':	
		if(arguments.length > 2) theAction = theAction + '&insertType='+arguments[2];	
		break;
	default:
		if(arguments.length > 2) theAction = theAction + '&curPost='+arguments[2];
		if(arguments.length > 3) theAction = theAction + '&curView='+arguments[3];
		if(arguments.length > 4) theAction = theAction + '&curMode='+arguments[4];
		break;
	}
	
	if (option == 'deletepost'){
		
		if (confirm('Are you sure you want to delete this post?')) doAction(theAction,'errorDiv');
		
	}else{
		
		doAction(theAction,'errorDiv');
	}
	
	
}

function handle_updateScreenPostContent(Param){ // build 14: added

	var str = Param[0];
	var ContentDiv = Param[1];
	//var ToHideDiv = Param[2];
	var entries = AjaxCreateResults(str);

	if (AjaxGetResult(entries,'ACTION')){
		page_content_buffer = findObj(ContentDiv).innerHTML;
		findObj(ContentDiv).innerHTML = AjaxGetResult(entries,'ContentDiv');
		/*
		findObj(ToHideDiv).className = 'invisible';
		findObj('postcontentdiv').className = '';
		findObj(ContentDiv).innerHTML = AjaxGetResult(entries,'ContentDiv');	
		*/
	}

}


function handle_updateScreen(Param){
	var str = Param[0];
	var CollectionsDiv = Param[1];
	var CurrentDiv = Param[2];
	var ContentDiv = Param[3];
	var ActionDiv = Param[4];
	var ErrorDiv = Param[5];
	
	var entries = AjaxCreateResults(str);
	
	var ContentOptions = ContentDiv + '_options';
	var ActionOptions = ActionDiv + '_options';
	
	if(AjaxGetResult(entries,'ERROR')){
		findObj(ErrorDiv).className = '';
		findObj(ErrorDiv).innerHTML = '<div class="showError">'+AjaxGetResult(entries,'ERROR')+'</div>';
		if(arguments.length > 1 && arguments[1].length > 0)	tinyMCE_init();
				
	}else if(AjaxGetResult(entries,'ACTION')){
		switchTinyMCE('off');
		if(!AjaxGetResult(entries,'ActionDiv') || AjaxGetResult(entries,'ActionDiv') == ''){
			
			findObj(ActionDiv).innerHTML = '';
			findObj(ActionDiv).className = 'invisible';
			findObj(ActionOptions).innerHTML = '';
			findObj(ActionOptions).className = 'invisible';
			if(AjaxGetResult(entries,'ContentDiv')){
				findObj(ContentDiv).innerHTML = AjaxGetResult(entries,'ContentDiv');
			}					
			
			findObj(ContentDiv).className = '';
			findObj(ContentOptions).className = '';
		}else{
			findObj(ContentDiv).className = 'invisible';
			findObj(ContentOptions).className = 'invisible';
			findObj(ActionDiv).className = '';
			findObj(ActionDiv).innerHTML = AjaxGetResult(entries,'ActionDiv');
			findObj(ActionOptions).className = '';
			findObj(ActionOptions).innerHTML = AjaxGetResult(entries,'ActionOptions');
			
		}
		switchTinyMCE('on');
		if (use_disclaimer) add_disclaimers();
	}else if(AjaxGetResult(entries,'UPDATE')){
		findObj(ActionDiv).innerHTML = '';
		findObj(ActionDiv).className = 'invisible';
		findObj(ActionOptions).innerHTML = '';
		findObj(ActionOptions).className = 'invisible';
		findObj(ContentDiv).className = '';
		findObj(ContentOptions).className = '';

		collection_curCollection=AjaxGetResult(entries,'curCollection');
		collection_curPost=AjaxGetResult(entries,'curPost');
		collection_curView=AjaxGetResult(entries,'curView');
				
		if(collection_curPost != 0) updateAction('postoptions', collection_curCollection, collection_curPost, '')
		else if(collection_curView != '') updateAction('viewoptions', collection_curCollection, 0, collection_curView)
		
		if(AjaxGetResult(entries,'msg') && AjaxGetResult(entries,'msg') != ''){
			findObj(ErrorDiv).className = '';
			findObj(ErrorDiv).innerHTML = '<div class="showMessage">'+AjaxGetResult(entries,'msg')+'</div>';
		}else{
			if (findObj(ErrorDiv)){ // v.0.56.2 added if.
				findObj(ErrorDiv).className = 'invisible';
				findObj(ErrorDiv).innerHTML = '';
			}
		}
		
		if(AjaxGetResult(entries,'CollectionsDiv') && AjaxGetResult(entries,'CollectionsDiv') != ''){
			findObj(CollectionsDiv).innerHTML = AjaxGetResult(entries,'CollectionsDiv');
		}
		if(AjaxGetResult(entries,'CurrentDiv') && AjaxGetResult(entries,'CurrentDiv') != ''){
			findObj(CurrentDiv).innerHTML = AjaxGetResult(entries,'CurrentDiv');
		}
		if(AjaxGetResult(entries,'ContentDiv') && AjaxGetResult(entries,'ContentDiv') != ''){
			findObj(ContentDiv).innerHTML = AjaxGetResult(entries,'ContentDiv');
		}
		if(AjaxGetResult(entries,'ContentOptions') && AjaxGetResult(entries,'ContentOptions') != ''){
			findObj(ContentOptions).innerHTML = AjaxGetResult(entries,'ContentOptions');
		}
	}else{
		findObj(ErrorDiv).className = '';
		findObj(ErrorDiv).innerHTML = '<div class="showError">output:<br /> '+str+'</div>';
	}
	if(findObj('debug')) findObj('debug').innerHTML = html_encode(str);
}

function handle_savePost(Param){
	var str = Param[0];
	var ContentDiv = Param[1];
	var ActionDiv = Param[2];
	var ErrorDiv = Param[3];
	
	var entries = AjaxCreateResults(str);
	
	var ContentOptions = 'collection_content_options';
	var ActionOptions = 'collection_action_options';
	
	if(AjaxGetResult(entries,'ERROR')){
		findObj(ErrorDiv).className = '';
		findObj(ErrorDiv).innerHTML = '<div class="showError">'+AjaxGetResult(entries,'ERROR')+'</div>';
		if(arguments.length > 1 && arguments[1].length > 0)	tinyMCE_init();
				
	}else if(AjaxGetResult(entries,'ActionDiv')){
		switchTinyMCE('off');
		
		if(AjaxGetResult(entries,'ContentDiv')){
			findObj(ContentDiv).innerHTML = AjaxGetResult(entries,'ContentDiv');
		}		
		
		if(AjaxGetResult(entries,'ActionOptions')){
			findObj(ActionOptions).innerHTML = AjaxGetResult(entries,'ActionOptions');
		}		
		
		findObj(ActionDiv).innerHTML = AjaxGetResult(entries,'ActionDiv');
		
		switchTinyMCE('on');
		if (use_disclaimer) add_disclaimers();
	}else{
		findObj(ErrorDiv).className = '';
		findObj(ErrorDiv).innerHTML = '<div class="showError">output:<br /> '+str+'</div>';
	}
	if(findObj('debug')) findObj('debug').innerHTML = html_encode(str);
}

function handle_changeTab(Param){

	var str = Param[0];
	var ContentDiv = Param[1];
	
	var entries = AjaxCreateResults(str);
	
	if(AjaxGetResult(entries,'ERROR')){
		findObj(ContentDiv).innerHTML = '<div class="showError">'+AjaxGetResult(entries,'ERROR')+'</div>';
		if(arguments.length > 1 && arguments[1].length > 0)	tinyMCE_init();
				
	}else if(AjaxGetResult(entries,'Content')){
		switchTinyMCE('off');
		
		findObj(ContentDiv).innerHTML = AjaxGetResult(entries,'Content');
		
		switchTinyMCE('on');
		if (use_disclaimer) add_disclaimers();
	}else{
		findObj(ContentDiv).className = '';
		findObj(ContentDiv).innerHTML = '<div class="showError">output:<br /> '+str+'</div>';
	}
	if(findObj('debug')) findObj('debug').innerHTML = html_encode(str);
}