//
// Global Variables
//
var jaikuUsername;
var jaikuPassword;
var jaikuFlag;
var jaikuMode;
var twitterUsername;
var twitterPassword;
var twitterFlag;
var twitterMode;
var timelogUsername;
var timelogPassword;
var timelogFlag;
var timelogMode;
var twitxrUsername;
var twitxrPassword;
var twitxrFlag;
var twitxrMode;
var friendfeedUsername;
var friendfeedPassword;
var friendfeedFlag;
var friendfeedMode;

var wassrUsername;
var wassrPassword;
var wassrFlag;
var wassrMode = 0;

var identiUsername;
var identiPassword;
var identiFlag;
var identiMode = 0;

var jaiterlogFlag;
var twit2RTMFlag;
var userdata;

function loadCookie() {
	userdata = new Cookie(document, 'mBlog', 720);
	
	if (userdata.load()) {
		jaikuUsername = base64decode(userdata.jaikuUsername);
		jaikuPassword = base64decode(userdata.jaikuPassword);
		jaikuFlag = (userdata.jaikuFlag == 'true');
		jaikuMode = userdata.jaikuMode;

		twitterUsername = base64decode(userdata.twitterUsername);
		twitterPassword = base64decode(userdata.twitterPassword);
		twitterFlag = (userdata.twitterFlag == 'true');
		twitterMode = userdata.twitterMode;

		timelogUsername = base64decode(userdata.timelogUsername);
		timelogPassword = base64decode(userdata.timelogPassword);
		timelogFlag = (userdata.timelogFlag == 'true');
		timelogMode = userdata.timelogMode;
		
		twitxrUsername = base64decode(userdata.twitxrUsername);
		twitxrPassword = base64decode(userdata.twitxrPassword);
		twitxrFlag = (userdata.twitxrFlag == 'true');
		twitxrMode = userdata.twitxrMode;

		friendfeedUsername = base64decode(userdata.friendfeedUsername);
		friendfeedPassword = base64decode(userdata.friendfeedPassword);
		friendfeedFlag = (userdata.friendfeedFlag == 'true');
		friendfeedMode = userdata.friendfeedMode;

		wassrUsername = base64decode(userdata.wassrUsername);
		wassrPassword = base64decode(userdata.wassrPassword);
		wassrFlag = (userdata.wassrFlag == 'true');

		identiUsername = base64decode(userdata.identiUsername);
		identiPassword = base64decode(userdata.identiPassword);
		identiFlag = (userdata.identiFlag == 'true');

		jaiterlogFlag = (userdata.jaiterlogFlag == 'true');
		twit2RTMFlag = (userdata.twit2RTMFlag == 'true');
	}
	else {
		jaikuUsername = '';
		jaikuPassword = '';
		jaikuFlag = false;
		jaikuMode = 0;

		twitterUsername = '';
		twitterPassword = '';
		twitterFlag = false;
		twitterMode = 0;

		timelogUsername = '';
		timelogPassword = '';
		timelogFlag = false;
		timelogMode = 0;

		twitxrUsername = '';
		twitxrPassword = '';
		twitxrFlag = false;
		twitxrMode = 0;

		friendfeedUsername = '';
		friendfeedPassword = '';
		friendfeedFlag = false;
		friendfeedMode = 0;

		wassrUsername = '';
		wassrPassword = '';
		wassrFlag = false;
				
		identiUsername = '';
		identiPassword = '';
		identiFlag = false;


		jaiterlogFlag = true;
		twit2RTMFlag = true;
	}
}


//------------------------------------------------------------------------------------------------
// Post box variables and functions
//
//------------------------------------------------------------------------------------------------
var postBoxFlip;
var menuBoxFlip;

function flipBox(elementID, buttonId) {
	var postBoxVisible = false;
	
	if (buttonId != null) {
		var button = document.getElementById(buttonId);
	}
	else {
		var button = null;
	}
	
	this.show = function() {
		postBoxVisible = true;
		Effect.BlindDown(elementID, {duration: 0.3});
//		this.showStatusOnButton();
	}
	
	this.hide = function() {
		postBoxVisible = false;
		Effect.BlindUp(elementID, {duration: 0.3});
//		this.showStatusOnButton();
	}
	
	this.status = function() {
		return postBoxVisible;
	}

	this.flip = function() {
		if (postBoxVisible) this.hide();
		else this.show();
	}
	
	this.showStatusOnButton = function() {
		if (button) {
			if (postBoxVisible) {
				button.innerText = 'Hide';	
			}
			else {
				button.innerText = 'Post';
			}
		}
	}	
// end of flipBox
}


//---------------------------------------------------------------------------------------------
//	parseISODate()
//	Parse a date string in ISO 8601 format (YYYY-MM-DDTHH:MM:SS+OO:OO) into a Date object.
//---------------------------------------------------------------------------------------------
function parseISODate(dateToParse){
	var returnDate = new Date();
	if(dateToParse && dateToParse.length>1 && dateToParse.match(/^€d€d€d€d-€d€d-€d€d/)){
        // separate date and time
        var dateTime=dateToParse.split("T");
        // set the date
        var dateArray = dateTime[0].split("-");
        if(dateArray[1]) returnDate.setMonth(dateArray[1]-1);
        if(dateArray[2]) returnDate.setDate(dateArray[2]);
        if(dateArray[0]) returnDate.setYear(dateArray[0]);
        // split time and offset
        var timeArray = null;
        if(dateTime[1]) timeArray=dateTime[1].match(/(€d€d):(€d€d):(€d€d)(?:€.€d+)?(?:([+-])(€d€d):(€d€d))?/);
        if(timeArray){
            // set the time
            if(timeArray[1]) returnDate.setHours(timeArray[1]);
            if(timeArray[2]) returnDate.setMinutes(timeArray[2]);
            if(timeArray[3]) returnDate.setSeconds(timeArray[3]);
            // add the offset
            if(timeArray[4] && timeArray[5]){
                var time = returnDate.getTime() - returnDate.getTimezoneOffset() * 60000;
                if(timeArray[4]=="+")
                    time -= timeArray[5] * 3600000;
                else
                    time += timeArray[5] * 3600000;
                returnDate.setTime(time);
            }
		}
	}
	return returnDate;
}

function createShortDate(date) {

	function twoChars(value) {
		var result = '0' + value;
		result = result.substr(-2, 2);
		return result;
	}
	
	var str = ' (' + (date.getMonth() + 1) + '/' + date.getDate() + ' ' + twoChars(date.getHours())
				+ ':' + twoChars(date.getMinutes()) + ') ';
	return str;
}


//-------------------------------

function linkStr(paramStr) {
	var str = paramStr;
	var matchResult;
	var resultStr = '';
	
	while(matchResult = str.match(/(http\:\/\/[\S]+)/)) {
		var str1 = str.substr(0, matchResult.index);
		var str2 = matchResult[0];
		var str3 = str.substr(matchResult.index + str2.length);
		
		resultStr += str1;
		if (str2.indexOf('.jpg') == -1) {
			resultStr += ' <a href="' + str2 + '">' 
				+ ' (<font color="#000066">' + str2.slice(0,15) 
				+ '..</font>) ' + '</a>';
		} else {
			resultStr += '<a href="' + str2 + '">' 
				+ ' <span class="icon"><img src="icons/icn_photo.gif"></span> ' 
				+ '</a> ';

		}
		str = str3;
	}
	
	if (str != null) resultStr += str;
	return resultStr;
}
//-------------------------------

function reload() {
	$('msgBody').innerHTML = '<div id="newmemo">Reading Messages....</div>';
	request();
}

function setTitle(nameStr) {
	$('feedTitle').innerHTML = nameStr;
}


function clearText() {
	dispText('');
}

function dispText(aStr) {
	document.getElementById('postTextOver').value = aStr;
}


function showPost() {
	postBoxFlip.flip();
}

function hidePostBox() {
	postBoxFlip.hide();
}

function showMenu() {
	menuBoxFlip.flip();
}

function hideMenuBox() {
	menuBoxFlip.hide();
}