var mT, inputV = new Array (), twitTime;

function messageBox(message,secondsOut) {
	i='messageBox';
	if (mT) clearTimeout(mT);
	mT=null;
	if ($(i) != null) {
		$(i).update(message);
		centreElement (i,1);
		$(i).show();
		mT = setTimeout(function () { $(i).hide(); }, (secondsOut*1000));
	}
	else {
		alert('Message box doesn\'t exist');	
	}
}

function centreElement (e, vert) {
	var theScrolls = document.viewport.getScrollOffsets();
	theLeft = Math.floor(((document.viewport.getWidth())-($(e).getWidth()))/2) + theScrolls[0];
	theTop = Math.floor(((document.viewport.getHeight())-($(e).getHeight()))/2) + theScrolls[1];
	if (theTop < 0) theTop = 0;
	if (vert==1)  {
		$(e).setStyle({ top: '0px' });
		$(e).setStyle({ top: theTop+'px' });
	}
	$(e).setStyle({ left: theLeft+'px' });
	
}

function Select_Value_Set(SelectName, Value) {
  eval('SelectObject = document.' + 
    SelectName + ';');
  for(index = 0; 
    index < SelectObject.length; 
    index++) {
   if(SelectObject[index].value == Value)
     SelectObject.selectedIndex = index;
   }
}

function pageOverlay() {
	var theScrolls = document.viewport.getScrollOffsets();
	pageWidth = document.viewport.getWidth() + theScrolls[0]; pageHeight = document.viewport.getHeight() + theScrolls[1];
	if (pageWidth < $('mainContainer').getWidth()) pageWidth = $('mainContainer').getWidth();
	if (pageHeight < ($('mainContainer').getHeight()+127)) pageHeight = ($('mainContainer').getHeight()+127);
	$('pageOverlay').setStyle({ opacity: '0.7', display: 'block', width:pageWidth+'px', height:pageHeight+'px' });
	$('pageOverlay').show();
}

function showBox(id) {
	pageOverlay();
	centreElement (id,1);
	$(id).show();
	new Draggable(id, { scroll: window });
}

function readyForPost(t) {
	t = t.replace("‘","'");
	t = t.replace("’","'");
	return escape(t);
}

function encode_utf8(s) {
	return unescape( encodeURIComponent( s ) );
}

function decode_utf8 (s) {
	return decodeURIComponent( escape( s ) );
}

function clearInputBox(i,t,o,c) {
	if (o==1) {
		if ($F(i) == t) $(i).value='';
	}
	else if (o==2) {
		$(i).observe('focus', function () { clearInputBox(i,t,1,c); });
		$(i).observe('blur', function () { clearInputBox(i,t,0,c); });
	}
	else {
		if ($F(i) == '') $(i).value=t;	
	}
	if (c) { $(i).setStyle({ color: c }); }
}

function isValidEmail(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1) return false;
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) return false;
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) return false;
	if (str.indexOf(at,(lat+1))!=-1) return false;
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) return false;
	if (str.indexOf(dot,(lat+2))==-1) return false;
	if (str.indexOf(" ")!=-1) return false;
	return true;			
}

function handleEnter (event, func, v) {
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) {
		event.stop()
		if (func) func (v)
		return false;
	}
	else return true;
}

function showVimeo (vidID, width, height, divID, colour,auto) {
	var flashvars = {show_portrait: "0",fullscreen: "1",color: colour,autoplay:auto};
	var params = {allowfullscreen: "true",allowscriptaccess: "always",movie: "http://www.youtube.com/v/sNd4gPbRr98?version=3&hl=en_US",wmode: "transparent"};
	var attributes = {clip_id: vidID};
	swfobject.embedSWF("http://www.youtube.com/v/sNd4gPbRr98?version=3&hl=en_US", divID, width, height, "9.0.0","expressInstall.swf", flashvars, params, attributes);
}

function createSCPlayer (width, height, user, permalink, divID, set, type, colour, play) {
	if (set) user = user + '/sets';
	if (colour == null) colour = '6cff00';
	if (play == null) play = 'false';
	if (type == null) type = 'main';
	if (divID == 'mixPlayer1') playerID = divID+m;
	else if (divID == 'mixPlayer2') playerID = divID+m2;
	else playerID = divID+'1';
	swfobject.embedSWF("http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Fplaylists%2F1151200&auto_play=false&player_type=artwork&color=f6cc59", divID, width, height, "9.0.0","expressInstall.swf");
}


function badField (f,t) {
	var b = false;
	if (t==1) {
		f.each(function(n){
			if ($F(n)=='' || $F(n)==inputV[n]) b = true;
		});
	}
	else if ($(f).tagName == 'FORM' || $(f).tagName == 'form') {
		var a=$$('#'+f+' input[type="text"]');
		a.each(function(n){
			if ($F(n.id)=='' || $F(n.id)==inputV[n.id]) b = true;
		});
	}
	else if ($F(f)=='' || $F(f)==inputV[f]) b = true;
	return b;
}
function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toUTCString());
}

/********************** ALL ************************/

function setUpAll () {
	Event.observe('email', 'keypress',function (e) { handleEnter (e) });
	Event.observe('name', 'keypress',function (e) { handleEnter (e, submitSignUp) });
	Event.observe('city', 'keypress',function (e) { handleEnter (e, submitSignUp) });
	Event.observe('submitSignUp', 'click',submitSignUp);
	Event.observe('twitterText', 'keypress',twitterCharsLeft);
	Event.observe('twitterText', 'keydown',twitterCharsLeft);
	Event.observe('twitterText', 'keyup',twitterCharsLeft);
	Event.observe('twitter', 'click',function(){twitterPost(1)} );
	var a=$$('form');
	a.each(function(n){
		$(n.id).reset();
	});
	var a=$$('input[type="text"]');
	a.each(function(n){
		if ($F(n.id) != null && n.id != null) {
			clearInputBox($(n.id),$F(n.id),2);
			inputV[n.id]=$F(n.id);
		}
   	});
	showVimeo ('10975634', 433, 238, 'video', 'ebb901');
	createSCPlayer (425, 425, 'john-dahlback', 'rootmusic-bandpage', 'scBox', 1, 'artwork', '000000');
	getTweets ()
	twitterPost ();
}

function submitSignUp () {
	if (badField('signUpForm',2)) messageBox('Please enter all fields',3);
	else if (isValidEmail($F('email'))) {
		var allNodes = Form.serialize('signUpForm');
		var aj = new Ajax.Request(baseURL+'ajaxStuff.php', {method: 'post', parameters: 'signUp=1&'+allNodes,onComplete: function(response) {
			messageBox('Thanks, your details have been saved',3);
			$('signUpForm').reset();
			window.location='http://www.globestudios.net/albin/mix/myback%205%20min%20mix.mp3';
		}});
	}
	else messageBox('Please enter a valid email',3);
}

function twitterPost (m) {
	if (twitterActive && $F('twitterText')) {
		var allNodes = Form.serialize('twitterForm');
		var aj = new Ajax.Request(baseURL+'ajaxStuff.php', {method: 'post', parameters: 'twitterPost=1&'+allNodes,onComplete: function(response) {
			$('twitterText').value='';
			twitterCharsLeft ();
			getTweets ();
			setCookie('twitterPost','',0);
		}});
	}
	else {
		if ($F('twitterText')) setCookie('twitterPost',$F('twitterText'),2);
		if (m){
			var aj = new Ajax.Request(baseURL+'ajaxStuff.php', {method: 'post', parameters: 'getAuthoriseURL=1',onComplete: function(response) {
				window.location=response.responseText;
			}});
		}
	}
}

function getTweets () {
	clearTimeout(twitTime)
	var aj = new Ajax.Updater('twitterMentions',baseURL+'ajaxStuff.php', {method: 'post', parameters: 'loadTwitter=1&type=mentions'});
	var aj2 = new Ajax.Updater('johnsTwitterFeed',baseURL+'ajaxStuff.php', {method: 'post', parameters: 'loadTwitter=1&type=user'});
	//twitTime = setTimeout(getTweets,300000);
}

function twitterCharsLeft () {
	$('twitChars').update((twitterCharMax-$F('twitterText').length));
	if ($F('twitterText').length>twitterCharMax) $('twitterText').value = $F('twitterText').substring(0,twitterCharMax);
}



Event.observe( window, 'load',setUpAll);
