var initial = 1;
var talkback_element_id = 0;
var talkback_channel_id = 0;
var talkback_forum_post_id = 0;
var talkback_forum_parent_id = 0;
var talkback_prev_forum_parent_id = 0;
var prev_forum_parent_id = '0';
var submit_talkback_id = 0;
var talkback_preview = 0;

function ajpostCommentShow(element_id, forum_post_id, forum_parent_id, channel_id)
{
	// :piete - added for rolling impressions
	if (typeof window.clearRolling == 'function') {
		clearRolling();
	}
	if(initial == 1){

		talkback_prev_forum_parent_id = talkback_forum_parent_id;
		initial = 0;

	}
	var file = '/forums/aj/post_comment_v2.htm';
	var str = ''; 
        talkback_element_id = element_id;
	talkback_channel_id = channel_id;
	talkback_forum_post_id = forum_post_id;
	talkback_forum_parent_id = forum_parent_id;

	str ='ELEMENT_ID='+encodeURIComponent(element_id)+'&FORUM_POST_ID='+encodeURIComponent(forum_post_id)+'&FORUM_PARENT_ID='+encodeURIComponent(forum_parent_id);

    	request.open( "POST", file, true );
    	request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    	request.onreadystatechange = updatePostComment;
	request.send(str);
}

function updatePostComment(){
    if (request.readyState == 4) {
       if (request.status == 200) {
         var response = request.responseText;
         //alert("res is " + response);
	 //alert(talkback_forum_parent_id);

	if(talkback_prev_forum_parent_id != 00 || talkback_prev_forum_parent_id != 0){
		document.getElementById('reply_'+talkback_prev_forum_parent_id).innerHTML = '';
	}

	if(talkback_forum_parent_id != 00){

		document.getElementById('ajpostComment').innerHTML = '';
		document.getElementById('reply_'+talkback_forum_parent_id).innerHTML = response;
        	//setTimeout('0.5');

		var scrollToTalkback = new Fx.Scroll(window, {duration:500});
		scrollToTalkback.toElement(talkback_forum_parent_id);


	 }else{

		document.getElementById('ajpostComment').style.display = '';
		document.getElementById('ajpostComment').innerHTML = response;
        	setTimeout('0.5');

		var scrollToTalkback = new Fx.Scroll(window, {duration:500});
		scrollToTalkback.toElement($('talkback'));

	 }

	if(talkback_prev_forum_parent_id != talkback_forum_parent_id){

		talkback_prev_forum_parent_id = talkback_forum_parent_id;

	}

       } else
         ;//alert("status is " + request.status);
     }
}

function ajPreviewComment(f){

	var file = '/forums/aj/post_preview.htm';
	var str = ''; 
	
        for(var i = 0;i < f.elements.length;i++)
        {
	    if(f.elements[i].name != 'OPTIONS'){
            	str += f.elements[i].name +
                	"=" + encodeURIComponent(f.elements[i].value) + "&";
           }
	   else{
		if(f.elements[i].checked){
	            	str += f.elements[i].name +
        	        	"=" + encodeURIComponent(f.elements[i].value) + "&";
		}

	   }		
        }


	//alert(str);

    	request.open( "POST", file, true );
    	request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    	request.onreadystatechange = updatePostPreview;
    	request.send(str);
}

function updatePostPreview(){
    if (request.readyState == 4) {
       if (request.status == 200) {
         var response = request.responseText;
         //alert("res is " + response);
	 document.getElementById('ajpostPreview').innerHTML = response;

       } else{
         //alert("status is " + request.status);
       }	
     }	
}

function ajsubmitComment(f){

	var file = '/forums/aj/post_controller.htm';
	var str = ''; 

        for(var i = 0;i < f.elements.length;i++)
        {
	    if(f.elements[i].name != 'OPTIONS'){
            	str += f.elements[i].name +
                	"=" + encodeURIComponent(f.elements[i].value) + "&";
           }
	   else{
		if(f.elements[i].checked){
	            	str += f.elements[i].name +
        	        	"=" + encodeURIComponent(f.elements[i].value) + "&";
		}

	   }		
        }


	//alert(str);

    	request.open( "POST", file, true );
    	request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    	request.onreadystatechange = updatePostComplete;
    	request.send(str);

	document.getElementById('ajpostFields').innerHTML = '<div class="loading"><img src="/i/x/ajax-loader.gif" alt="Loading" width="220" height="19" /><span>processing your submission...</span></div>';
	document.getElementById('ajpostFields').style.display = 'inline';
}

function ajupdateTalkback(){

	var file = '/forums/aj/update_talkback.htm';
	var str = '';

        str = 'AJAX_ELEMENT_ID='+talkback_element_id+'&AJAX_CHANNEL_ID='+talkback_channel_id+'&AJAX_FORUM_POST_ID='+talkback_forum_post_id;

	//alert(str);

    	request.open( "POST", file, true );
    	request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    	request.onreadystatechange = updatePostTalkback;
    	request.send(str); 

}

function updatePostComplete(){
    if (request.readyState == 4) {
       if (request.status == 200) {
         var response = request.responseText.split("<!-- TALKBACK SPLIT -->");
         //alert("res is " + response);

	 if(response[0] != ''){
		//document.getElementById('talkback-header').innerHTML = response[0];
		//document.getElementById('ajpostFields').innerHTML = response[0];

		document.getElementById('ajpostComment').innerHTML = '';

		submit_talkback_id = response[2];

		//alert(submit_talkback_id);

		//Refresh talkback
		ajupdateTalkback();

	 }else{
		if(talkback_prev_forum_parent_id != 00 || talkback_prev_forum_parent_id != 0){
			document.getElementById('reply_'+talkback_forum_parent_id).innerHTML = response[1];
		}else{
			document.getElementById('ajpostComment').innerHTML = response[1];
		}

	 }

       } else
         ;//alert("status is " + request.status);
     }	
}

function updatePostTalkback(){
    if (request.readyState == 4) {
       if (request.status == 200) {
          var response = request.responseText;
          //alert("res is " + response);

	 document.getElementById('talkback-thread').innerHTML = response;              

	 //alert(submit_talkback_id);

	returnComment(submit_talkback_id);

       } else
         ;//alert("status is " + request.status);
     }	
}

function returnComment(comment_id){

	var scrollToTalkback = new Fx.Scroll(window, {duration:500});

	scrollToTalkback.toElement(comment_id);

}