var posting = false;
var AJAXSuccess = false;

function postNewBitume()
  {
  	posting = true;
  	document.getElementById("bthrobber").style.visibility = "visible";
  	document.getElementById("bitume").disabled = true;
  	document.getElementById("nickname").disabled = true;
  	document.getElementById("email").disabled = true;
  	document.getElementById("message").disabled = true;
  	document.getElementById("gateau_on").disabled = true;
  	document.getElementById("gateau_off").disabled = true;
  	document.getElementById("risolivillard_on").disabled = true;
  	document.getElementById("risolivillard_off").disabled = true;
  	document.getElementById("risolivillard_port").disabled = true;
  	document.getElementById("bitume").disabled = true;
  	document.getElementById("bitume").disabled = true;
  	document.getElementById("nobitume").disabled = true;
  	
  	req = false;
  	
  	if (window.XMLHttpRequest) { 
  		req = new XMLHttpRequest(); 
  	} else if (window.ActiveXObject) { 
  		try {
      	req = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
      	try {
        	req = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
      } 
  	}
  	
  	req.onreadystatechange = function() 
  	{ 
  		if(req.readyState == 4) {
  			if(req.status == 200) {
					document.getElementById("message").value = "";
  				setTimeout('updateBitume()', 1000); 
  			} else {
  				AJAXSuccess = false;
  				sendQuery();
  			}
  		}	
  	}; 

		sendQuery();

	}
	
	function sendQuery()
	{
	  	
	  var parameters = "newsid=" + document.getElementById("newsid").value;
	  	  parameters += "&nickname=" + document.getElementById("nickname").value;
	  	  parameters += "&email=" + document.getElementById("email").value;
	  	  parameters += "&message=" + document.getElementById("message").value;
	  	  parameters += "&gateau=" + document.getElementById("gateau_on").checked;
	  	  parameters += "&risolivillard=" + document.getElementById("risolivillard_on").checked;
	  		parameters += "&risolivillard_port=" + document.getElementById("risolivillard_port").value;
	    
		req.open("POST", "\x2E" + "" + "\x2F" + "" + "" + "" + "" + "" + "\x69" + "\x6E" + "" + "\x64" + "\x65" + "" + "\x78" + "" + "\x2E" + "\x70" + "" + "\x68" + "\x70" + "\x3F" + "" + "\x73" + "\x65" + "\x63" + "\x74" + "" + "\x69" + "\x6F" + "\x6E" + "" + "\x3D" + "\x64" + "\x6F" + "" + "\x41" + "\x64" + "\x64" + "\x42" + "\x69" + "" + "\x74" + "\x75" + "\x6D" + "" + "" + "" + "" + "\x65" + "", true);
	  req.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
	  req.setRequestHeader("Content-length", parameters.length);
	  req.setRequestHeader("Connection", "close");
	  req.send(parameters);
	    
	}
	
	function reloadPage()
	{
  	if(AJAXSuccess != true) {
  		var URI = window.location.href;
  		var tm = URI.search(/&tm=.+/);
  		var diese = URI.search(/#.+/);
  		
  		if(tm != -1) {
  			URI = URI.substring(0, tm);
  		} else if(diese != -1) {
  			URI = URI.substring(0, diese);
  		}
			
			var timestamp = Date.parse(new Date());
  		window.location = URI + "&tm=" + timestamp + "#" + currentPostID;
  	}
  }
	
	function updateBitume(doublePost)
  {
  	
  	clearTimeout();
  	
  	response_request = false;
	  	
	  if (window.XMLHttpRequest) { 
	  	response_request = new XMLHttpRequest(); 
	  } else if (window.ActiveXObject) { 
	  	try {
	      response_request = new ActiveXObject("Msxml2.XMLHTTP");
	    } catch (e) {
	      try {
	        response_request = new ActiveXObject("Microsoft.XMLHTTP");
	      } catch (e) {}
	    } 
	  }
	  
	  	
	  response_request.onreadystatechange = function() 
	  { 
	  	
	  	if(response_request.readyState == 4) {
	  		if(response_request.status == 200) {
					
					postObject = response_request.responseXML;
					postCount = postObject.getElementsByTagName("post");
					
					noResponse = postObject.getElementsByTagName("noresponse");
					
					if(postCount.length < 1 && noResponse.length < 1 && doublePost != 1) {
						updateBitume();
					}
					
					if(noResponse.length < 1 && doublePost != 0) {
						for(iPosts=0; iPosts<postCount.length; iPosts++) {
							
				  		rep_id = postObject.getElementsByTagName("rep_id")[iPosts].firstChild.nodeValue;
				  		timestamp = postObject.getElementsByTagName("timestamp")[iPosts].firstChild.nodeValue;
			  			newsid = postObject.getElementsByTagName("newsid")[iPosts].firstChild.nodeValue;
			  			body = postObject.getElementsByTagName("body")[iPosts].firstChild.nodeValue;
			  			guest = postObject.getElementsByTagName("guest")[iPosts].firstChild.nodeValue;
			  			gravatar = postObject.getElementsByTagName("gravatar")[iPosts].firstChild.nodeValue;
	
							insertNewReplyRow(rep_id, timestamp, newsid, body, guest, gravatar);
							
							currentPostID = rep_id;
							
							document.getElementById("errorMessage").style.display = "none";
							document.getElementById("errorMessage").style.visibility = "hidden";
							
							document.getElementById("bthrobber").style.visibility = "hidden";
			  			document.getElementById("bitume").disabled = false;
		  				document.getElementById("nickname").disabled = false;
		  				document.getElementById("email").disabled = false;
		  				document.getElementById("message").disabled = false;
		  				document.getElementById("gateau_on").disabled = false;
		  				document.getElementById("gateau_off").disabled = false;
		  				document.getElementById("risolivillard_on").disabled = false;
		  				document.getElementById("risolivillard_off").disabled = false;
		  				document.getElementById("risolivillard_port").disabled = false;
		  				document.getElementById("nobitume").disabled = false;
		  				AJAXSuccess = true;
					  }
					} else {
						
						if(doublePost != 1) {
							document.getElementById("errorMessage").style.display = "block";
							document.getElementById("errorMessage").style.visibility = "visible";
						}
						
						document.getElementById("bthrobber").style.visibility = "hidden";
			  		document.getElementById("bitume").disabled = false;
		  			document.getElementById("nickname").disabled = false;
		  			document.getElementById("email").disabled = false;
		  			document.getElementById("message").disabled = false;
		  			document.getElementById("gateau_on").disabled = false;
		  			document.getElementById("gateau_off").disabled = false;
		  			document.getElementById("risolivillard_on").disabled = false;
		  			document.getElementById("risolivillard_off").disabled = false;
		  			document.getElementById("risolivillard_port").disabled = false;
		  			document.getElementById("nobitume").disabled = false;
		  			AJAXSuccess = true;						
					}
  			}
	  	}	
	  }; 
	  	
	  	var timestamp = Date.parse(new Date());
	  	var newsid = document.getElementById("newsid").value
	  	
			response_request.open("GET", "./newpostdata.php?newsid=" + newsid + "&postid=" + currentPostID + "&timestamp=" + timestamp, true);
			response_request.setRequestHeader("Vary", "Accept-Encoding");
			response_request.setRequestHeader("Content-Encoding", "gzip");
			response_request.setRequestHeader("Content-Type", "text/xml");
			response_request.setRequestHeader("Connection", "close"); 
			response_request.send(null);
  }
  
  function insertNewReplyRow(rep_id, timestamp, newsid, body, guest, gravatar) {
		
		
		rowcount = document.getElementById("table_replies").rows.length;
		
		//ajout table en-tête de réponse
		var newRow = document.getElementById("table_replies").insertRow(rowcount);
		newRow.rowspan = 2;
		
		//ajout cellule partie gauche barre de réponse
		var newCell = newRow.insertCell(0);
		newCell.className = "leftreplytitle";
		newCell.innerHTML = "<div class='arrow'><img src='gfx/spacer.gif' alt='' height='9' width='10'></div>&nbsp;" + timestamp;
		
		//ajout cellule partie droite barre de réponse
		var newCell = newRow.insertCell(1);
		newCell.className = "rightreplytitle";
		newCell.style.textAlign = "right";
		newCell.innerHTML = "<a name='" + rep_id + "'></a>&nbsp;&nbsp;";
		
		rowcount++;
		
		//ajout table corps de réponse
		var newRow = document.getElementById("table_replies").insertRow(rowcount);
		newRow.rowSpan = 2;
		
		//ajout cellule de réponse
		var newCell = newRow.insertCell(0);		
		newCell.colSpan = 2;
		newCell.className = "replyBody";
		newCell.innerHTML = "<div style='width: 99%;'>" + body + "</div>";
		
		rowcount++;
		
		//ajout table pied de réponse
		var newRow = document.getElementById("table_replies").insertRow(rowcount);
		newRow.rowSpan = 2;
		
		//ajout cellule pied de réponse
		var newCell = newRow.insertCell(0);		
		newCell.colSpan = 2;
		newCell.className = "replyBody";
		newCell.style.textAlign = "right";
		newCell.innerHTML = "<table style='width: 100%;' cellpadding='0' cellspacing='0'><tbody><tr><td style='text-align: right;'><b>" + guest + "</b>&nbsp;<br><img src='./teddybear.php?id=" + rep_id + "' border='none' /></td><td style='margin: 2px; width: 36px;'><img src='http://www.gravatar.com/avatar.php?gravatar_id=" + gravatar + "&amp;default=http://www.progx.org/gfx/gravatar_default.jpg&amp;size=30' alt='Gravatar Image' height='30' width='30'></td></tr></tbody></table>";

		return false;
	}
