// Bragbook Tweeter JavaScript Document

// open tweeter
function tweet() {

	if (document.getElementById("tweeter").style.visibility != "visible") {
		
		document.getElementById("share").style.bottom = "150px";
		var tween = new Tween(document.getElementById("tweeter").style,'height',Tween.elasticEaseOut,0,62,1,'px');
		document.getElementById("tweeter").style.visibility = "visible";
		document.getElementById("email").style.visibility = "hidden";
		
		// t1A.onMotionFinished = function(){alert( 'onMotionFinished' )};
		
		// character count tweet box
		countChar();
		
		tween.start();
	}
}

// close tweeter
function closeTweet()
{
	document.getElementById("tweeter-status").style.visibility = "hidden";

	if (document.getElementById("tweeter").style.visibility != "hidden") {
		document.getElementById("tweeter").style.visibility = "hidden";
		document.getElementById("share").style.bottom = "";
	}
}

// submits tweet to AJAX script / makes sure no one posts js in their tweet
function submitTweet()
{
	document.getElementById("tweeter-status").innerHTML = "";
	
	if (document.getElementById("tweet").value.length > 0) {
	
		//closeTweet();
	
		if (document.getElementById("tweet").value.indexOf("\</script\>") < 0) {
			
			document.getElementById("tweeter-status").style.visibility = "visible";
			document.getElementById("tweeter-status").innerHTML = "Submitting ...";
			
			var tweet = new Object();
			var tweetUpdate = "";
			
			for (var i = 0; i < document.getElementById("tweet").value.length; i++) {
				
				tweetUpdate += "%" + document.getElementById("tweet").value.charCodeAt(i).toString(16);
			}
			
			tweet.address = "../../scripts/twitteroauth/tweet.php?redir=" + encodeURIComponent("http://social.web.cmu.edu/brag/index.php?skip=yes&brag=" + current_brag.substring(5));
			tweet.address += "&tweet=" + tweetUpdate;
			tweet.address += "&hash=" + hex_md5(document.getElementById("tweet").value + "cmu");
			
			//alert(tweet.address);
			
			tweet.update = tweetReturn;
			tweet.dataType = "xml";
			tweet.request = null;
			
			AJAX.retrieveXML(tweet);
		}
		
	} else {
		document.getElementById("tweeter-status").innerHTML = "Please enter a tweet.";
		document.getElementById("tweeter-status").style.visibility = "visible";
	}
}

// counts tweet box characters
function countChar()
{

	// alert(window.location.hostname);

	var textArea = document.getElementById("tweet");
	var counter = document.getElementById("char-count");
	
	textArea.value = textArea.value.substr(0, 140);
	counter.innerHTML = textArea.value.length + "/140";
	
	/*if (textArea.value.length == 0)
		submitButton.disabled = true;
	else
		submitButton.disabled = false;*/
}

// handles AJAX return data
function tweetReturn(xmlDoc)
{
	
	//alert(xmlDoc);
	
	try {
		if (xmlDoc.getElementsByTagName("oauth-redirect")[0].firstChild.data != "") {
			window.location.href = xmlDoc.getElementsByTagName("oauth-redirect")[0].firstChild.data;
		}
	} catch(e) {}
	
	try {
		if (xmlDoc.getElementsByTagName("status")[0].firstChild.data == "200") {
			
			document.getElementById("tweeter-status").innerHTML = "Successful.";
			window.setTimeout("closeTweet()", 1000);
		}
	} catch(e) {
	
		document.getElementById("tweeter-status").innerHTML = "Error. Please try again.";
		window.setTimeout("closeTweet()", 2000);
	}
}