// hide or show the advanced options based on the cookie value


function ieresizefix()
{
	// du'h, ie6 and ie7 needs this after a div move
	window.resizeBy(1, 1);
	setTimeout("window.resizeBy(-1,-1)", 250);
}


init = function() {

	DomLoaded.load(function() {

		if(document.getElementById('commentForm')) {
			//Element.hide('commentForm');
			Element.setStyle('commentForm', {display:'none'});
			Element.addClassName('commentForm', 'hidden');
		}

		if(document.getElementById('advSearch')) {
			cookieValue = readCookie('advSearch');
			if (cookieValue == 'hidden') {
				//Element.hide('advSearchForm');
				Element.setStyle('advSearchForm', {display:'none'});
				Element.addClassName('advSearch', 'hidden');
				Element.update('advSearch', 'Advanced Options &raquo;');
			}
			else if (cookieValue != 'visible') {
				//Element.hide('advSearchForm');
				Element.setStyle('advSearchForm', {display:'none'});
				Element.addClassName('advSearch', 'hidden');
				setCookie('advSearch', 'hidden', 365);
			}
			else {
				Element.update('advSearch', 'Hide Advanced Options &laquo;');
			}
		}

		if(document.getElementById('updateCalFilter')) {
			cookieValue = readCookie('updateCalFilter');
			if (cookieValue == 'hidden') {
				//Element.hide('updateCalFilter');
				Element.setStyle('updateCalFilter', {display:'none'});
				Element.addClassName('updateCalFilter', 'hidden');
			}
			else if (cookieValue != 'visible') {
				//Element.hide('updateCalFilter');
				Element.setStyle('updateCalFilter', {display:'none'});
				Element.addClassName('updateCalFilter', 'hidden');
				setCookie('updateCalFilter', 'hidden');
			}
			else {
				Element.hide('addFilterLink');
			}
		}

		if(document.getElementById('addEventForm')) {
			cookieValue = readCookie('addEventForm');
			if (cookieValue == 'hidden') {
			//Element.hide('addEventForm');
			Element.setStyle('addEventForm', {display:'none'});
			Element.addClassName('addEventForm', 'hidden');
			}
			else if (cookieValue != 'visible') {
				//Element.hide('addEventForm');
				Element.setStyle('addEventForm', {display:'none'});
				Element.addClassName('addEventForm', 'hidden');
				setCookie('addEventForm', 'hidden');
			}
			else {
				if(document.getElementById('addEventLink') && document.getElementById('filterDivider')) {
					Element.hide('addEventLink');
				}
				if(document.getElementById('addEventLink') && !document.getElementById('filterDivider')) {
					Element.removeClassName('addEventLink', 'fs_add');
					Element.addClassName('addEventLink', 'fs_cancel');
					Element.update('addEventLink', 'Cancel');
				}
			}
		}

		if(document.getElementById('updateCalFilter') && document.getElementById('addEventForm'))
		{
			cookieValue1 = readCookie('updateCalFilter');
			cookieValue2 = readCookie('addEventForm');
			if(cookieValue1 != 'hidden' && cookieValue2 != 'hidden') {
				elementHideEvent();
			}
			if(cookieValue1 != 'hidden' || cookieValue2 != 'hidden') {
				Element.hide('filterDivider');
			}
		}

		if(document.getElementById('welcome'))
		{
			cookieValue = readCookie('welcome');
			if (cookieValue == 'hidden') {
				Element.hide('welcome');
				Element.addClassName('welcome', 'hidden');
			}
		}

		/* uncomment to store display status in cookie (also, see relevant function below)
		if(document.getElementById('showVersionHistory')) {
			cookieValue = readCookie('showVersionHistory');
			if (cookieValue == 'hidden') {
				Element.setStyle('versionCompareFrm', {display:'none'});
				Element.addClassName('showVersionHistory', 'hidden');
				Element.update('showVersionHistory', 'Show Version History');
			}
			else if (cookieValue != 'visible') {
				Element.setStyle('versionCompareFrm', {display:'none'});
				Element.addClassName('showVersionHistory', 'hidden');
				setCookie('showVersionHistory', 'hidden', 365);
			}
			else {
				Element.update('showVersionHistory', 'Hide Version History');
			}
		}
		*/

		/* no cookie */
		if(document.getElementById('showVersionHistory')) {
			//Element.hide('versionCompareFrm');
			Element.setStyle('versionCompareFrm', {display:'none'});
			Element.addClassName('showVersionHistory', 'hidden');
			Element.update('showVersionHistory', 'Show Version History &raquo;');
			
		}

		/* no cookie */
		if(document.getElementById('showChildAdd')) {
			Element.setStyle('newChildAdd', {display:'none'});
			Element.addClassName('newChildAdd', 'hidden');
			//Element.update('showChildAdd', 'Add Child Page');
		}
 	});
}
// Temp solution; not a very elegant.

elementHideAdvSearch = function(){
	if (Element.hasClassName('advSearch', 'hidden')) {
		// Element.show('advSearchForm');
		Effect.BlindDown('advSearchForm');
		Element.removeClassName('advSearch', 'hidden');
		Element.update('advSearch', 'Hide Advanced Options &laquo;');
		setCookie('advSearch', 'visible', 365);
	}
	else {
		// Element.hide('advSearchForm');
		Effect.BlindUp('advSearchForm');
		Element.addClassName('advSearch', 'hidden');
		Element.update('advSearch', 'Advanced Options &raquo;');
		setCookie('advSearch', 'hidden', 365);
	}
}

// only filter or add event should show, i.e. not both

elementHideFilter = function(){
	Element.hide('filterDivider');
	if (Element.hasClassName('updateCalFilter', 'hidden')) {
		//Element.show('updateCalFilter');
		Effect.Appear('updateCalFilter');
		Element.removeClassName('updateCalFilter', 'hidden');
		Element.hide('addFilterLink');
		setCookie('updateCalFilter', 'visible');

	if(document.getElementById('addEventForm')) {
			cookieValue = readCookie('addEventForm');
			if (cookieValue == 'visible') {
				Element.hide('addEventForm');
				//Effect.Fade('addEventForm');
				Element.addClassName('addEventForm', 'hidden');
				Element.show('addEventLink');
				setCookie('addEventForm', 'hidden');
			}
		}
	}
	else {
		//Element.hide('updateCalFilter');
		Effect.Fade('updateCalFilter');
		Element.addClassName('updateCalFilter', 'hidden');
		Element.show('addFilterLink');
		setCookie('updateCalFilter', 'hidden');
	}
}

elementHideEvent = function(){

	if(document.getElementById('filterDivider')){
		Element.hide('filterDivider');
	}

	if (Element.hasClassName('addEventForm', 'hidden')) {
		//Element.show('addEventForm');
		Effect.Appear('addEventForm');
		Element.removeClassName('addEventForm', 'hidden');
		Element.hide('addEventLink');

		if(!document.getElementById('filterDivider')){
			Element.removeClassName('addEventLink', 'fs_add');
			Element.addClassName('addEventLink', 'fs_cancel');
			Element.update('addEventLink', 'Cancel');
			Element.show('addEventLink');
		}

		setCookie('addEventForm', 'visible');

		if(document.getElementById('updateCalFilter')) {
			cookieValue = readCookie('updateCalFilter');
			if (cookieValue == 'visible') {
				Element.hide('updateCalFilter');
				//Effect.Fade('updateCalFilter');
				Element.addClassName('updateCalFilter', 'hidden');
				Element.show('addFilterLink');
				setCookie('updateCalFilter', 'hidden');
			}
		}
	} else {
		//Element.hide('addEventForm');
		Effect.Fade('addEventForm');
		Element.addClassName('addEventForm', 'hidden');
		Element.show('addEventLink');
		if(!document.getElementById('filterDivider')){
			Element.removeClassName('addEventLink', 'fs_cancel');
			Element.addClassName('addEventLink', 'fs_add');
			Element.update('addEventLink', 'Add a new event');
		}
		setCookie('addEventForm', 'hidden');
	}
}

elementHideComment = function(){

	if (Element.hasClassName('commentForm', 'hidden')) {
		Effect.BlindDown('commentForm', {duration: 0.2});
		Element.removeClassName('commentForm', 'hidden');
		Element.removeClassName('addCommentLink', 'fs_add');
		Element.addClassName('addCommentLink', 'fs_cancel');
		Element.update('addCommentLink', 'Cancel');
	}
	else {
		Effect.BlindUp('commentForm', {duration: 0.2});
		Element.addClassName('commentForm', 'hidden');
		Element.removeClassName('addCommentLink', 'fs_cancel');
		Element.addClassName('addCommentLink', 'fs_add');
		Element.update('addCommentLink', 'Add a comment');
	}
	
	if (BrowserDetect.browser == "Explorer" && (BrowserDetect.version == 6 || BrowserDetect.version == 7)) {
		ieresizefix();
	}
}

elementHide = function(hideTarget, linkTarget, hideText, showText){

	if (Element.hasClassName(hideTarget, 'hidden')) {
		Effect.BlindDown(hideTarget, {duration: 0.2});
		Element.removeClassName(hideTarget, 'hidden');
		Element.removeClassName(linkTarget, 'fs_add');
		Element.addClassName(linkTarget, 'fs_cancel');
		Element.update(linkTarget, hideText);		
	} else {
		Effect.BlindUp(hideTarget, {duration: 0.2});
		Element.removeClassName(linkTarget, 'fs_cancel');
		Element.addClassName(linkTarget, 'fs_add');
		Element.update(linkTarget, showText);
		Element.addClassName(hideTarget, 'hidden');

	}
	
	if (BrowserDetect.browser == "Explorer" && (BrowserDetect.version == 6 || BrowserDetect.version == 7)) {
		ieresizefix();
	}
	
}

elementHideWelcome = function(){
	Effect.Fade('welcome');
	setCookie('welcome', 'hidden', 1095);
}

elementHideVersion = function(){
	if (Element.hasClassName('showVersionHistory', 'hidden')) {
		Element.show('versionCompareFrm');
		Effect.BlindDown('versionCompareFrm', {duration: 0.2});
		Element.removeClassName('showVersionHistory', 'hidden');
		Element.update('showVersionHistory', 'Hide Version History &laquo;');
		// setCookie('showVersionHistory', 'visible', 365);
	}
	else {
		Effect.BlindUp('versionCompareFrm', {duration: 0.2});
		Element.addClassName('showVersionHistory', 'hidden');
		Element.update('showVersionHistory', 'Show Version History &raquo;');
		// setCookie('showVersionHistory', 'hidden', 365);
	}
	if (IE6) setTimeout("ie6resizefix()", 1000);
}

elementHideChildAdd = function(){
	if (Element.hasClassName('newChildAdd', 'hidden')) {
		Element.removeClassName('showChildAdd', 'fs_add');
		Element.addClassName('showChildAdd', 'fs_cancel');

		Element.removeClassName('newChildAdd', 'hidden');
		Element.update('showChildAdd', 'Cancel');

		Element.show('newChildAdd');
		//Effect.BlindDown('newChildAdd');

	}
	else {
		Element.hide('newChildAdd');
		Element.addClassName('newChildAdd', 'hidden');
		Element.removeClassName('showChildAdd', 'fs_cancel');
		Element.addClassName('showChildAdd', 'fs_add');
		Element.update('showChildAdd', 'Add Child Page');


		//Effect.BlindUp('newChildAdd');
	}
}


elementHideAttachmentAdd = function(){
	if (Element.hasClassName('browseLink', 'hidden')) {
		Element.removeClassName('showAttachmentAdd', 'fs_add');
		Element.addClassName('showAttachmentAdd', 'fs_cancel');

		Element.removeClassName('browseLink', 'hidden');
		Element.update('showAttachmentAdd', 'Cancel');

		Element.show('browseLink');
		//Effect.BlindDown('newChildAdd');

	}
	else {
		Element.hide('browseLink');
		Element.addClassName('browseLink', 'hidden');
		Element.removeClassName('showAttachmentAdd', 'fs_cancel');
		Element.addClassName('showAttachmentAdd', 'fs_add');
		Element.update('showAttachmentAdd', 'Add an Attachment');


		//Effect.BlindUp('newChildAdd');
	}
}

function setCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = ";expires="+date.toGMTString();
			document.cookie = name+"="+value+expires+";path=/";
	}
	else {
		document.cookie = name+"="+value+""+";path=/";
	}
}

function readCookie(name) {
	var needle = name + "=";
	var cookieArray = document.cookie.split(';');
	for(var i=0;i <cookieArray.length;i++) {
		var pair = cookieArray[i];
		while (pair.charAt(0)==' ') {
			pair = pair.substring(1, pair.length);
		}
		if (pair.indexOf(needle) == 0) {
			return pair.substring(needle.length, pair.length);
		}
	}
return null;
}

init();


