/* Twitter */
function showTweetBox(){
	try{
		$('tweetThisForm').remove();
		return false;
	} catch(ex) {
		
	}

	// the id is always tweetthis
	var src = $('tweetthis');
	// add a form directly after this
	var element = Builder.node('form', { id: 'tweetThisForm', onsubmit: 'return false;' }, [
	  Builder.node('label',  'Content'), 
	  Builder.node('textarea',{ id: 'tweetcontent', name : 'tweetcontent', onkeydown: 'limitText("tweetcontent", 140);' }),
	  Builder.node('input',{ id: 'makeTweet', type: 'button', value: '' , onclick: 'tweetThis(); return false;', title:'Tweet'}),  
	  Builder.node('input',{ id: 'cancelTweet', type: 'button', value: '', onclick: 'cancelThisTweet()', title:'Cancel'}),
	]);
	src.insert({ after: element });
	src.setStyle({display: 'none'});
	new Ajax.Request('/incs/ajax/socnetAJAX.php', {
			method: 'post',
			onComplete: function(req){ $('tweetcontent').value += ' ' + req.responseText },
			parameters: {'shorten_url': window.location.href}
	});			
}

function cancelThisTweet(){
	// remove the tweet box
	try{
		var src = $('tweetthis');
		src.setStyle({display: ''});	
		$('tweetThisForm').remove();
	} catch(ex){
		return false;
	}
}	

function tweetThis(){
	// check they have a message
	var msg = $('tweetcontent').value;
	if(msg.length==0){
		alert('Please ensure you enter a message');
		return;
	}
	// send ajax request to socnetAJAX file
	new Ajax.Request('/incs/ajax/socnetAJAX.php', {
			method: 'post',
			onComplete: cleanUp,
			parameters: {'tweet': msg}
	});		
}

function cleanUp(){
	var src = $('tweetthis');
	src.setStyle({display: 'none'});
	$('tweetThisForm').remove();
	var element = Builder.node('p', { id: 'twitterThanks'}, 'Thanks! Your post was successful.');
	src.insert({ after: element });
}

var currentTweet = 0;
function rotateTweets(){
	// function for the twitter feed
	var totalTweets = tweets.length;
	if(totalTweets > 0){
		$('twitter_feed_container').innerHTML = tweets[currentTweet];
		currentTweet += 1;
		if(currentTweet>=totalTweets){
			currentTweet = 0;
		}
	}
}

/* General */
function limitText(limitField,limitNum) {
	if ($(limitField).value.length > limitNum) {
		$(limitField).value = $(limitField).value.substring(0, limitNum);
	} 
}

/* Email */
function showShareByEmailBox(){
	try{
		$('shareByEmailWrap').remove();
		return false;
	} catch(ex) {
		
	}
	var src = $('sendToFriend');
	// add a form directly after this
	var element = 
	  Builder.node('div', {id: 'shareByEmailWrap'}, [
		  Builder.node('form', { id: 'shareByEmailForm', onsubmit: 'return false;' }, [
			  Builder.node('label',  'Your Name', [
			  Builder.node('input',{ id: 'yourName', type: 'text', value: ''})]),  
			  Builder.node('label',  'Friends Name', [
			  Builder.node('input',{ id: 'friendsName', type: 'text', value: ''})]), 
			  Builder.node('label',  'Friends Email', [
			  Builder.node('input',{ id: 'friendsEmail', type: 'text', value: ''})]),  
			  Builder.node('label',  'Message', [
			  Builder.node('textarea',{ id: 'emailContent', name : 'emailContent' })]),
			  Builder.node('input',{ id: 'sendToFriend', type: 'button', value: '' , onclick: 'sendToAFriend(); return false;', title:'Send'}),  
			  Builder.node('input',{ id: 'cancelSendToFriend', type: 'button', value: '', onclick: 'cancelSendToFriendBox()', title:'Cancel'}),
		  ])
	]);
	src.insert({ after: element });
	src.setStyle({display: 'none'});
	$('shareByEmailWrap').innerHTML += '<h2>Privacy</h2><p>We will not add this email address to our list unless asked by the owner</p>';
} 

function sendToAFriend(){
	$('email_error').innerHTML = '';
	// check their name
	if($('yourName').value==''){
		$('email_error').innerHTML ='Please ensure you have entered your name.';
		return false;
	}
	// check friends name
	if($('friendsName').value==''){
		$('email_error').innerHTML ='Please ensure you have entered your friends name.';
		return false;
	}	
	// check friends email
	var reg = /^([A-Za-z0-9_\-.])+@([A-Za-z0-9_\-.])+.([A-Za-z]{2,4})$/;
	if($('friendsEmail').value==''){
		$('email_error').innerHTML ='Please ensure you have entered your friends email address.';
		return false;
	}		
	if(reg.test($('friendsEmail').value) == false) {
		$('email_error').innerHTML ='Please ensure you have entered a valid email address.';
		return false;
	}	
	
	// send ajax request to socnetAJAX file
	new Ajax.Request('/incs/ajax/socnetAJAX.php?send_to_friend=true', {
			method: 'post',
			onComplete: cleanUpSendToEmail,
			parameters: { 'yourName': $('yourName').value, 'friendsName': $('friendsName').value, 'friendsEmail' : $('friendsEmail').value, 'emailContent' : $('emailContent').value, 'srcurl': document.location.href }
	});		
}

function cleanUpSendToEmail(req){
	if(req.responseText=='OK'){
		var src = $('sendToFriend');
		src.setStyle({display: 'none'});
		$('shareByEmailWrap').remove();
		var element = Builder.node('p', { id: 'sendToFriendThanks'}, 'Thanks! Your email was successful.');
		src.insert({ after: element });
	} else { 
		//alert(req.responseText);
		$('email_error').innerHTML = req.responseText;
	}
}

function cancelSendToFriendBox(){
	$('email_error').innerHTML = '';
	try{
		var src = $('sendToFriend');
		src.setStyle({display: ''});	
		$('shareByEmailWrap').remove();
	} catch(ex){
		return false;
	}
}	

