// JavaScript Document

var FCKbasePath = "PHP/class/fckeditor/";

var Editor;

include(FCKbasePath + "fckeditor.js");



function sendSB(queryString){

	var theForm = document.forms["frm_sbox"];

	var amp = "";

	var postText = "";

	

	if(queryString == ""){

		if(theForm.nama.value == ""){alert("Please fill Your Name");return false;}

		if(GetContents(true) == "" || GetLength() < 1){alert("Please fill Your Message");return false;}

		else theForm.pesan.value = GetContents(true);

	}else{

		amp = "&";

		postText = queryString;

	}	

	

	for(i=0; i<theForm.elements.length; i++){

		if(theForm.elements[i].type == "text" || theForm.elements[i].type == "textarea" || theForm.elements[i].type == "hidden"){

			postText += amp+theForm.elements[i].name+"="+encodeURIComponent(theForm.elements[i].value);

		} else if (theForm.elements[i].type == "checkbox") {

			postText += amp+theForm.elements[i].name+"="+theForm.elements[i].checked;

		} else if (theForm.elements[i].type == "select-one") {

			postText += amp+theForm.elements[i].name+"="+theForm.elements[i].options[theForm.elements[i].selectedIndex].value;

		}

		amp = "&";

	}



	oSB.update(postText,'POST');

}



function shoutBox_handleServerResponse(myDiv, responseText, responseStatus, responseXML){



	if (responseStatus == 200){

		try{

			var xmlResponse = responseXML;



			if (!xmlResponse || !xmlResponse.documentElement)	throw("1.Invalid XML structure:\n" + responseText);

			var rootNodeName = xmlResponse.documentElement.nodeName;

			if (rootNodeName == "parsererror")	throw("2.Invalid XML structure:\n" + responseText);

			var xmlRoot = xmlResponse.documentElement;

			if (!xmlRoot.firstChild)	throw("3.Invalid XML structure:\n" + responseText);

			var boxId = document.getElementById("boxes");

			xmlRoot = xmlResponse.documentElement;

			listArray = xmlRoot.childNodes;

			var boxHtml = "";

			for(i=0;i<listArray.length;i++){

				boxHtml += "<div id=\"box"+(i%2)+"\">";

            	boxHtml += "<div id=\"from\">"+listArray[i].getAttribute("name")+" :</div>";

	           	boxHtml += "<div id=\"message\">"+listArray[i].childNodes[0].data+"</div>";

				boxHtml += "<div id=\"date\">"+listArray[i].getAttribute("date")+"</div>";

 



				boxHtml += "</div>";

			}

			boxId.innerHTML = boxHtml;

		}catch(e){/*alert("1.Error reading the response: " + e.toString());*/}

	}else{/*alert("There was a problem retrieving the data:\n" + responseStatus);*/}

	

	//myDiv.innerHTML = "<input type=\"button\" name=\"sbSubmit\" value=\"submit\" class=\"mdButton\" onclick=\"sendSB('');\" /><input type=\"button\" name=\"sbSubmit\" value=\"refresh\" class=\"mdButton\" onclick=\"sendSB('refresh=refresh');\" />";

		

	SetContents("");

}



function shoutBox_StateChange(myDiv, readyState){

	/*switch(readyState){

		case 1 :	myDiv.innerHTML = "Loading";	break;

		case 2 :	myDiv.innerHTML = "Loaded";		break;

		case 3 :	myDiv.innerHTML = "Streaming";	break;

	}*/

}



function shoutBox_Abortion(myDiv, passData, postMethod){	}



function GetContents(formatted){

	var oEditor = FCKeditorAPI.GetInstance('pesan');

	return oEditor.GetXHTML( formatted );		// "true" means you want it formatted.

}



function SetContents(content){

	var oEditor = FCKeditorAPI.GetInstance('pesan');

	oEditor.SetData(content);

}



function GetLength(){

	var oEditor = FCKeditorAPI.GetInstance('pesan') ;

	var oDOM = oEditor.EditorDocument;

	var iLength ;

	if ( document.all )	iLength = oDOM.body.innerText.length ;

	else{

		var r = oDOM.createRange() ;

		r.selectNodeContents( oDOM.body ) ;

		iLength = r.toString().length ;

	}

	return iLength;

}