//
//	jQuery Accessibility Dashboard Plugin
//	(cc) Paul Castle / Custompublish AS
//
//	Dependencies: jQuery.cookie.js [Klaus Hartl (stilbuero.de)]
//
//	Plugin to provide streamlined accessibility customization by manipulating
//	the DOM, adding or removing designer-specified classes to the <body> tag
//	that can be called and manipulated from a single stylesheet.
//
//	Usage:
//		accessDashTextResize('.accessdash-resize a', 'textSizeMedium');
//		where accessdash-resize a = selector
//		and textSizeMedium = Default variable if no cookie set.
//
//		accessDashContrast('.accessdash-contrast a', 'contrastDefault');
//		where accessdash-contrast a = selector
//		and contrastDefault = Default variable if no cookie set.
//
// The above examples will set the following;
//
//		<body class="contrastDefault textSizeMedium">
//


function accessDashTextResize(selector, defaultSize) {
var lastSize = defaultSize;

function write(name, value, days) {
var expires = "";
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days * 86400000));
		var expires = "; expires=" + date.toGMTString();
	}
	document.cookie = name + "=" + value + expires + "; path=/";
}

function read(name) {
	name += "=";
	var ca = document.cookie.split(';');
	for(var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == ' ') c = c.substring(1, c.length);
		if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
	}
	return null;
}

function updateSizeFromCookie() {
	$('body').removeClass(lastSize);
	lastSize = read('size') || defaultSize;
	$('body').addClass(lastSize);
}

jQuery(selector).click(function() {
	write('size', this.className);
	updateSizeFromCookie();
	return false;
});
	updateSizeFromCookie();
}

//	Contrast Selection

function accessDashContrast(selector, defaultContrast) {

var lastContrast = defaultContrast;

function write(name, value, days) {
var expires = "";
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days * 86400000));
		var expires = "; expires=" + date.toGMTString();
	}
	document.cookie = name + "=" + value + expires + "; path=/";
}

function read(name) {
	name += "=";
	var ca = document.cookie.split(';');
	for(var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == ' ') c = c.substring(1, c.length);
		if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
	}
	return null;
}

function updateContrastFromCookie() {
	$('body').removeClass(lastContrast);
	lastContrast = read('contrast') || defaultContrast;
	$('body').addClass(lastContrast);
}

jQuery(selector).click(function() {
	write('contrast', this.className);
	updateContrastFromCookie();
	return false;
});
	updateContrastFromCookie();
}

//	Width Adjustment

function accessLayoutWidth(selector, defaultWidth) {

var lastWidth = defaultWidth;

function write(name, value, days) {
var expires = "";
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days * 86400000));
		var expires = "; expires=" + date.toGMTString();
	}
	document.cookie = name + "=" + value + expires + "; path=/";
}

function read(name) {
	name += "=";
	var ca = document.cookie.split(';');
	for(var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == ' ') c = c.substring(1, c.length);
		if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
	}
	return null;
}

function updateWidthFromCookie() {
	$('body').removeClass(lastWidth);
	lastWidth = read('Width') || defaultWidth;
	$('body').addClass(lastWidth);
}

jQuery(selector).click(function() {
	write('Width', this.className);
	updateWidthFromCookie();
	return false;
});
	updateWidthFromCookie();
}
