var followHttp;

function showhide(layer_ref) {
document.getElementById("ajaxValidateToFollows").style.display='none';
document.getElementById("ajaxFollow").style.display='';
followHttp=GetXmlHttpObject();
if (followHttp==null) {
 alert ("Browser does not support HTTP Request");
 return;
 }
var url="tofollow.jsp";
params="follow="+'follow';
var user = document.getElementById("follow_username").value;
var pass = document.getElementById("follow_password").value;
followHttp.onreadystatechange=function() { 
if (followHttp.readyState==4 || followHttp.readyState=="complete") { 
document.getElementById("ajaxFollow").style.display='none';
document.getElementById("ajaxValidateToFollows").style.display='';
document.getElementById("ajaxValidateToFollows").innerHTML=followHttp.responseText;
}
}
followHttp.open("POST",url,true);
followHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
followHttp.setRequestHeader("Content-length", params.length);
followHttp.setRequestHeader("Connection", "close");
followHttp.send(params);
	
//followHttp.open("POST",url,true);
//followHttp.send(null);
syncLogin(user,pass);
}

function syncLogin(user,pass) {
	document.getElementById("ajaxValidateToPost").style.display='none';
	document.getElementById("ajaxPost").style.display='';
	postHttp=GetXmlHttpObject();
	if (postHttp==null) {
	alert ("Browser does not support HTTP Request");
	return;
	}
	var url="posttweet.jsp";
	params="name="+user;
	params=params+"&pass="+pass;
	params=params+"&follow="+'follow';
	postHttp.onreadystatechange=function() { 
	if (postHttp.readyState==4 || postHttp.readyState=="complete") { 
	document.getElementById("ajaxPost").style.display='none';
	document.getElementById("ajaxValidateToPost").style.display='';
	document.getElementById("ajaxValidateToPost").innerHTML=postHttp.responseText;
	} 
	}
	postHttp.open("POST",url,true);
	postHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	postHttp.setRequestHeader("Content-length", params.length);
	postHttp.setRequestHeader("Connection", "close");
	postHttp.send(params);
	document.getElementById("status").value = '';
}


function ValidateToPost(user,pass,tweet) {
if(!IsEmpty(user,pass)) { 
document.getElementById("ajaxValidateToPost").style.display='none';
document.getElementById("ajaxPost").style.display='';
postHttp=GetXmlHttpObject();
if (postHttp==null) {
 alert ("Browser does not support HTTP Request");
 return;
 }
var url="posttweet.jsp";
params="name="+user;
params=params+"&pass="+pass;
params=params+"&tweet="+encodeURI(tweet);
if (tweet.lenth >130){
	alert("Message is too long. Maximum number of characters allowed is 130");
	return;
}
postHttp.onreadystatechange=function() { 
if (postHttp.readyState==4 || postHttp.readyState=="complete") { 
document.getElementById("ajaxPost").style.display='none';
document.getElementById("ajaxValidateToPost").style.display='';
document.getElementById("ajaxValidateToPost").innerHTML=postHttp.responseText;
 } 
}
postHttp.open("POST",url,true);
postHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
postHttp.setRequestHeader("Content-length", params.length);
postHttp.setRequestHeader("Connection", "close");
postHttp.send(params);
document.getElementById("status").value = '';
}else{
alert('Please enter username and/or password');
return false;
}
}

function ValidateToFollow(user,pass) {
if(!IsEmpty(user,pass)){ 
document.getElementById("ajaxValidateToFollows").style.display='none';
document.getElementById("ajaxFollow").style.display='';
postHttp2=GetXmlHttpObject();
if (postHttp2==null) {
 alert ("Browser does not support HTTP Request");
 return;
 }
var url="tofollow.jsp";
url=url+"?name="+user;
url=url+"&pass="+pass;
postHttp2.onreadystatechange=function() { 
if (postHttp2.readyState==4 || postHttp2.readyState=="complete") { 
document.getElementById("ajaxFollow").style.display='none';
document.getElementById("ajaxValidateToFollows").style.display='';
document.getElementById("ajaxValidateToFollows").innerHTML=postHttp2.responseText;
greetUser();
 } 
}
postHttp2.open("POST",url,true);
postHttp2.send(null);
}else{
alert('Please enter username and/or password');
return false;
}
syncLogin(user,pass);
}

function greetUser() {
greetHttp=GetXmlHttpObject();
if (greetHttp==null) {
 alert ("Browser does not support HTTP Request");
 return;
 }
var url="sessioncheck.jsp";
greetHttp.onreadystatechange=function() { 
if (greetHttp.readyState==4 || greetHttp.readyState=="complete") { 
document.getElementById("ajaxValidateToPost").style.display='';
document.getElementById("ajaxValidateToPost").innerHTML=greetHttp.responseText;
 } 
}
greetHttp.open("GET",url,true);
greetHttp.send(null);
document.getElementById("status").value = '';

}

function refreshFollow() {
greetHttp=GetXmlHttpObject();
if (greetHttp==null) {
 alert ("Browser does not support HTTP Request");
 return;
 }
var url="sessioncheck.jsp";
url=url+"?refresh="+'refresh';
greetHttp.onreadystatechange=function() { 
if (greetHttp.readyState==4 || greetHttp.readyState=="complete") { 
document.getElementById("ajaxValidateToFollows").style.display='';
document.getElementById("ajaxValidateToFollows").innerHTML=greetHttp.responseText;
 } 
}
greetHttp.open("GET",url,true);
greetHttp.send(null);
document.getElementById("status").value = '';

}

function logOutUser() {
logoutHttp=GetXmlHttpObject();
if (logoutHttp==null) {
 alert ("Browser does not support HTTP Request");
 return;
 }
var url="posttweet.jsp";
url=url+"?out="+'out';

logoutHttp.onreadystatechange=function() { 
if (logoutHttp.readyState==4 || logoutHttp.readyState=="complete") { 
document.getElementById("ajaxValidateToPost").innerHTML=logoutHttp.responseText;
 refreshFollow();
 } 
}
logoutHttp.open("GET",url,true);
logoutHttp.send(null);
}

function IsEmpty(user,pass) {
   if ( (user.length==0) || (user==null) &&
        (pass.length==0) || (pass==null) ) {
      return true;
   }
   else { return false; }
}

function GetXmlHttpObject() {
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}

