function ajax(method,strURL,variable,value,sid) {
    var xmlHttpReq = false;
    var self = this;
	

    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open(method, strURL, true);
    self.xmlHttpReq.setRequestHeader('Accept', 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-icq, */*');
	self.xmlHttpReq.setRequestHeader('Accept-Language', 'hu');
	self.xmlHttpReq.setRequestHeader('Accept-Charset', 'ISO-8859-2');
	self.xmlHttpReq.setRequestHeader('Connection', 'close');
	self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	
    self.xmlHttpReq.onreadystatechange = function() {
		
	if(value == 'signgb' ){
	document.signgb.signbutton.disabled = true;
	document.getElementById('signdiv').innerHTML = '<center><img src="images/loading.gif"><br><br><b>'+loadtext+'...</b><br></center>';
			
	}else{
	document.getElementById('entries').innerHTML = '<center><br><br><br><br><img src="images/loading.gif"><br><br><b>'+loadtext+'...</b><br><br><br></center>';
	}
	
       if (self.xmlHttpReq.readyState == 4) {
			if(value == 'signgb' ){
			updatepage(self.xmlHttpReq.responseText,'signgb');
			}else{
            updatepage(self.xmlHttpReq.responseText,'page');
			
			}
	   }
        
    }
	
	if (value == 'signgb'){
	name=document.signgb.name.value;
	email=document.signgb.email.value;
	homepage=document.signgb.homepage.value;
	message=document.signgb.message.value;
	
	//Fix the "&" bug
	name2 = name.replace(/&/g, "^amp^");
	message2 = message.replace(/&/g, "^amp^");
	
	self.xmlHttpReq.send('dosign=' + pcode.charAt(0) + pcode.charAt(2) + pcode.charAt(4) + pcode.charAt(1) + pcode.charAt(5) + '&name=' + name2 + '&email=' + escape(email) + '&homepage=' + escape(homepage) + '&message=' + message2);
	}else{
    self.xmlHttpReq.send(escape(variable) + '=' + escape(value));
	}
	
}



function updatepage(str, value){
   //if (self.xmlHttpReq.readyState == 4) {
   if (value == 'signgb'){
       document.getElementById("signdiv").innerHTML = str;
      showdiv('signdiv');
      document.signgb.signbutton.disabled = false;
      //an empty string means everything is ok. So, reload the guestbook page
      if (str.length <= 5) {  //for some reason its minimum length will be 2, maybe it contains LF-CR characters

         hidediv('signform');

         ajax('POST','gb/gb_view.php','page','1');
      }
   }else{
      document.getElementById("entries").innerHTML = str;
      showdiv('entries');
   }
   //}
} 

function hidediv(id) {
	//safe function to hide an element with a specified id
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'none';
	}
	else {
		if (document.layers) { // Netscape 4
			document.id.display = 'none';
		}
		else { // IE 4
			document.all.id.style.display = 'none';
		}
	}
	if(id == 'signform'){
	showdiv('entries');
	hidediv('signdiv');
	}
}

function showdiv(id) {
	//safe function to show an element with a specified id
		  
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'block';
	}
	else {
		if (document.layers) { // Netscape 4
			document.id.display = 'block';
		}
		else { // IE 4
			document.all.id.style.display = 'block';
		}
	}
	if(id == 'signform')
	hidediv('entries');
}
  function smiley(s){
  document.signgb.message.value = document.signgb.message.value + s;
  document.signgb.message.focus();
}

function newwindow(source,name,width,height) 
{ 
window.open(source,name,'width='+width+',height='+height+',resizable=no'); 
} 


