//The below two variables may be set here, or overriden by a script on the page placed before this script's external tag.
var manual_or_random = window.manual_or_random || "random" //"manual" or "random"
var randomsetting = window.randomsetting || "eachtime" //"eachtime", "sessiononly", or "x days (replace x with desired integer)". Only applicable if mode is random.

//////No need to edit beyond here//////////////

;(function(){ // begin moving any stylesheets above this script not already in the head to it
	var sheets = document.getElementsByTagName('link'), re = /stylesheet *$/i, i = 0,
	head = document.getElementsByTagName('head')[0];
	for(var i = 0; i < sheets.length; ++i){
		if(sheets[i].parentNode !== head && re.test(sheets[i].getAttribute('rel'))){
			head.appendChild(sheets[i]);
		}
	}
})(); // end moving stylesheets

function getCookie(Name) { 
	var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
	if (document.cookie.match(re)) //if cookie found
	return document.cookie.match(re)[0].split("=")[1] //return its value
	return null
}

function setCookie(name, value, days) {
	var expireDate = new Date()
	//set "expstring" to either future or past date, to set or delete cookie, respectively
	var expstring=(typeof days!="undefined")? expireDate.setDate(expireDate.getDate()+parseInt(days)) : expireDate.setDate(expireDate.getDate()-5)
	document.cookie = name+"="+value+"; expires="+expireDate.toGMTString()+"; path=/";
}

function deleteCookie(name){
	setCookie(name, "moot")
}


function setStylesheet(title, randomize){ //Main stylesheet switcher function. Second parameter if defined causes a random alternate stylesheet (including none) to be enabled
	var i, cacheobj, altsheets=[""];
	if(setStylesheet.chosen)
		try{
			document.getElementsByTagName('head')[0].removeChild(setStylesheet.chosen);
		}catch(e){}
		for(i=0; (cacheobj=document.getElementsByTagName("link")[i]); i++) {
			if(cacheobj.getAttribute("rel").toLowerCase()=="alternate stylesheet" && cacheobj.getAttribute("title")) { //if this is an alternate stylesheet with title
				cacheobj.disabled = true
				altsheets.push(cacheobj) //store reference to alt stylesheets inside array
				if(cacheobj.getAttribute("title") == title){ //enable alternate stylesheet with title that matches parameter
					cacheobj.disabled = false //enable chosen style sheet
					setStylesheet.chosen = document.createElement('link');//cloneNode(false);
					setStylesheet.chosen.rel = 'stylesheet';
					setStylesheet.chosen.type = 'text/css';
				if(cacheobj.media)
					setStylesheet.chosen.media = cacheobj.media;
					setStylesheet.chosen.href = cacheobj.href;
					document.getElementsByTagName('head')[0].appendChild(setStylesheet.chosen);
				}
			}
		}
	if (typeof randomize!="undefined"){ //if second paramter is defined, randomly enable an alt style sheet (includes non)
		var randomnumber=Math.floor(Math.random()*altsheets.length)
		setStylesheet((window.selectedtitle = altsheets[randomnumber].title));
		//altsheets[randomnumber].disabled=false
	}
	return (typeof randomize!="undefined" && altsheets[randomnumber]!="")? altsheets[randomnumber].getAttribute("title") : "" //if in "random" mode, return "title" of randomly enabled alt stylesheet
}


function setstyle(styletitle, days){ //Interface function to switch style sheets plus save "title" attr of selected stylesheet to cookie
	if (document.getElementById){
		setStylesheet(styletitle);
		setCookie("mysheet", styletitle, 90);
	}
}


