function swapTheme(widgetdata)
{
	// theme has been changed
	// check for type here... theme
	if (widgetdata=="newtheme")
	{
		document.getElementById('themetext').value = "";
	}
	else
	{
		setTheme();
		reloadWidgets(widgetdata);
	}
}

function saveThemes()
{
	// find the dropdown list called themes
	var selectObject = document.getElementById("themes");

	// get current theme name and option index
	var currentThemeNo = selectObject.selectedIndex;
	var currentTheme = selectObject.options[currentThemeNo].text;
	if ((currentTheme != "or type a new theme name above") && (currentTheme !=""))
	{
		// create new widget data for this theme
		var widgetData = "";
		
		// widget_calendar
		widgetData = widgetData + "widget_calendar," + document.getElementById("widget_calendar").style.left + "," + document.getElementById("widget_calendar").style.top + ",0," + document.getElementById("widget_calendar").style.display + "%";
		// widget_email
		widgetData = widgetData + "widget_email," + document.getElementById("widget_email").style.left + "," + document.getElementById("widget_email").style.top + ",0," + document.getElementById("widget_email").style.display + "%";
		// widget_gsearch
		widgetData = widgetData + "widget_gsearch," + document.getElementById("widget_gsearch").style.left + "," + document.getElementById("widget_gsearch").style.top + ",0," + document.getElementById("widget_gsearch").style.display + "%";
		// widget_clock
		widgetData = widgetData + "widget_clock," + document.getElementById("widget_clock").style.left + "," + document.getElementById("widget_clock").style.top + ",0," + document.getElementById("widget_clock").style.display + "%";
		// widget_news
		widgetData = widgetData + "widget_news," + document.getElementById("widget_news").style.left + "," + document.getElementById("widget_news").style.top + ",0," + document.getElementById("widget_news").style.display + "%";
		// widget_twitter
		widgetData = widgetData + "widget_twitter," + document.getElementById("widget_twitter").style.left + "," + document.getElementById("widget_twitter").style.top + ",0," + document.getElementById("widget_twitter").style.display;

		// replace option
		selectObject.getElementsByTagName('option')[currentThemeNo].value=widgetData;

		// set string to hold cookie values
		var cookieString = "";
		var temp = "";

		// set expiry date for cookie at onr year
		var date = new Date();
		date.setTime(date.getTime()+(365*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
		// loop through all items in dropdown list
		for (var i=0; i<selectObject.length; i++)
		{
			if(selectObject.options[i].value != "newtheme")
			{
				temp = selectObject.options[i].text + "=" + selectObject.options[i].value + "|";
				
				// check for currently selected
				if (selectObject.selectedIndex == i)
				{
					temp = "1" + temp;
				}
				else
				{
					temp = "0" + temp;
				}
				// add theme to string

				cookieString = cookieString + temp;
			}
		}
	}
	// remove last pipe
	cookieString = cookieString.substring(0, cookieString.length-1);
		
	// write cookie
	document.cookie = 'themes=' + cookieString + expires;

	//alert("cookie saved");
}

function reloadWidgets(widgetdata)
{
	//var widgetdata=""; // string of widget positions and states

	// find the dropdown list called themes
	//var selectObject = document.getElementById("themes");
	//widgetdata = selectObject.options[selectObject.selectedIndex].value;
	var widget = widgetdata.split("%");
	// loop through each widget
	for (i=0; i<widget.length; i++)
	{
		var widgetvalue = widget[i].split(",");
		document.getElementById(widgetvalue[0]).style.left = widgetvalue[1];
		document.getElementById(widgetvalue[0]).style.top = widgetvalue[2];
		document.getElementById(widgetvalue[0]).style.display = widgetvalue[4];
		if (widgetvalue[4]=='inline')
		{
			showWidget(widgetvalue[0]);
		}
		//document.getElementById(widgetvalue[0].style.z = widgetvalue[3];
	}
}

function loadWidgets()
{
	// find the dropdown list called themes
	getTweets();
	var selectObject = document.getElementById("themes");

	// get current theme name and option index
	var currentThemeNo = selectObject.selectedIndex;
	var currentThemeData = selectObject.options[currentThemeNo].value;
	swapTheme(currentThemeData);
}

function setTheme()
{
	var selectObject = document.getElementById("themes");

	// get current theme name and option index
	var currentThemeNo = selectObject.selectedIndex;
	var currentTheme = selectObject.options[currentThemeNo].text;
	if (currentTheme != "or type a new theme name here")
	{
		document.getElementById('themetext').value = currentTheme;
		saveThemes();
	}
}

function addTheme()
{
	var addTheme = document.getElementById('themetext').value;
	// scroll through themes and see if it already exists
	// find the dropdown list called themes
	var selectObject = document.getElementById("themes");
	var newTheme = true;
	for (var i=0; i<selectObject.length; i++)
	{
		if (selectObject.options[i].text.toLowerCase() == addTheme.toLowerCase())
		{
			// this theme already exists so swap to this theme
			newTheme =false;
			selectObject.options[i].selected = true;
			swapTheme(selectObject.options[i].value);
		}
	}
	if (newTheme==true)
	{
		// this is a new theme so add it

		// find current theme and copy it to new theme
		var currentThemeNo = selectObject.selectedIndex;
		//alert("current theme no is " + currentThemeNo);
		selectObject.options[selectObject.options.length] = new Option(addTheme,selectObject.options[currentThemeNo].value);
		//alert(addTheme + " *** " + selectObject.options[currentThemeNo].value);
		selectObject.selectedIndex = selectObject.options.length -1;
		//alert(selectObject.selectedIndex + " *** " + selectObject.options.length);
		
		saveThemes();
		swapTheme(selectObject.options[selectObject.options.length].value);
		//alert(selectObject.options[selectObject.options.length].value);
	}	
}

function deleteTheme()
{
	// check to make sure not trying to delete default theme
	var selectObject = document.getElementById("themes");
	var currentThemeNo = selectObject.selectedIndex;
	var deleteDefault = false;
	switch (selectObject.options[currentThemeNo].text.toLowerCase())
	{
		case 'student': deleteDefault = true; break;
		case 'staff': deleteDefault = true; break;
		case 'parent': deleteDefault = true; break;
		case 'or type a new theme name above': deleteDefault = true; break;
		default: deleteDefault = false;
	}
	if (deleteDefault == false)
	{
		selectObject.remove(currentThemeNo);
		currentThemeNo = currentThemeNo -1;
		selectObject.selectedIndex = currentThemeNo;
		saveThemes();
		swapTheme(selectObject.options[currentThemeNo].value);
	}
}

var checkTwitter = setInterval("getTweets()", 1000);

function getTweets()
{
	if (document.getElementById("tweet"))
	{
	getTwitters('tweet', {
		id: 'sl_academy',
		count: 1,
		enableLinks: true,
		ignoreReplies: true,
		clearContents: true,
		template: '"%text%"'
		});
		clearInterval(checkTwitter);
	}

}
