var styleCookieTitle = "bwa-style";
var styleDefaultTitle = "westwood";

//if (navigator.userAgent.indexOf('Firefox') != -1) styleDefaultTitle = "westwood";

var cookieLife = "14";

function ndeSetStyleSheet(newtitle) {
  // this function exists solely to 
  // distinguish when the user chooses a new
  // theme. IE does not properly reflow the page
  // when a new theme is chosen and we must force
  // a reload when IE users choose a new theme.

	ndeSetStyleSheetInternal(newtitle);
	if (navigator.userAgent.indexOf('MSIE') != -1 && !window.opera && navigator.product != 'Gecko') {
//		history.go(0);
	}
}

function ndeSetStyleSheetNoCookie(newtitle) {

	if (!document.getElementsByTagName) {
		return;
	}

	var i;
	var savedtitle = '';
	var links = document.getElementsByTagName("link");

	if (!newtitle) {
		newtitle = savedtitle = ndeReadCookie(styleCookieTitle, false);
	}

	if (!newtitle) {
		newtitle = ndeGetPreferredStyleSheet();
	}

	var activesheet = null;
	for (i = 0; i < links.length; i++) {
		var a = links[i];
		var rel = a.getAttribute('rel');
		var title = a.getAttribute('title');

		if (rel.indexOf("style") != -1 && title) {
			a.disabled = true;
			if (title == newtitle) {
				activesheet = a;
			}
		}
	}
	if (activesheet) {
		activesheet.disabled = false;
	}
	if (newtitle != savedtitle) {
//		ndeCreateCookie(styleCookieTitle, newtitle, 90, false);
	}
}

function ndeSetStyleSheetInternal(newtitle) {
	if (!document.getElementsByTagName) {
		return;
	}

	var i;
	var fresh = 0;
	var savedtitle = '';
	var links = document.getElementsByTagName("link");

// Saved style cookie
	if (!newtitle) {
		newtitle = savedtitle = ndeReadCookie(styleCookieTitle, false);
	}

// No saved cookie -> Default style
	if (!newtitle) {
		newtitle = (ndeGetPreferredStyleSheet()) ? ndeGetPreferredStyleSheet() : styleDefaultTitle;
		fresh++;
	}

	var activesheet = null;
	for (i = 0; i < links.length; i++) {
		var a = links[i];
		var rel = a.getAttribute('rel');
		var title = a.getAttribute('title');
		var href = a.getAttribute('href');

		if (rel.indexOf("style") != -1 && title) {
			a.disabled = true;
			if (title == newtitle) {
				activesheet = a;
			}
		}
	}
	if (activesheet) {
		activesheet.disabled = false;
	}
	if ((newtitle != savedtitle) && (!fresh)) {
		ndeCreateCookie(styleCookieTitle, newtitle, cookieLife, false);
	}
	if (!activesheet) {
		ndeSetStyleSheetNoCookie(styleDefaultTitle);
	}
}

function ndeGetActiveStyleSheet() {
	if (!document.getElementsByTagName) {
		return null;
	}

	var i;
	var links = document.getElementsByTagName("link");

	for(i = 0; i < links.length; i++) {
		var a = links[i];
		var rel = a.getAttribute('rel');
		var title = a.getAttribute('title');

		if (rel.indexOf("style") != -1 && title && !a.disabled) {
			return title;
		}
	}
	return null;
}

function ndeGetPreferredStyleSheet() {
	if (!document.getElementsByTagName) {
		return null;
	}

	var i, a;
	var links = document.getElementsByTagName("link");

	for (i = 0; i <  links.length; i++) {
		a = links[i];
		var rel = a.getAttribute('rel');
		var title = a.getAttribute('title');

		if (rel.indexOf("style") != -1 && rel.indexOf("alt") == -1 && title) {
			return title;
		}
	}
	return null;
}

function ndeCreateCookie(name,value,days,useLang) {
	var langString = useLang ? ndeGetLang() : "";
	var cookie = name + langString + "=" + value + ";";

	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		cookie += " expires=" + date.toGMTString() + ";";
	}
	cookie += " path=/";

	document.cookie = cookie;
}

function ndeReadCookie(name, useLang) {
	var langString = useLang ? ndeGetLang() : "";
	var nameEQ = name + langString + "=";
	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(nameEQ) == 0) {
			return c.substring(nameEQ.length,c.length);
		}
	}
	return null;
}

function ndeSetTheme() {
	ndeSetStyleSheetInternal();
	return true;
}

