function createCookie(a,b,c){if(c){var d=new Date();d.setTime(d.getTime()+(c*24*60*60*1000));var e="; expires="+d.toGMTString()}else e="";document.cookie=a+"="+b+e+"; path=/"}
function readCookie(a){var b=a+"=";var d=document.cookie.split(';');for(var i=0;i<d.length;i++){var c=d[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(b)==0)return c.substring(b.length,c.length)}return null}
function getObject(a){if(document.getElementById||document.all){var b=document.getElementById?document.getElementById(a):document.all[a];if(b)return b}return false}
function getActiveStyleSheet(){var i,a;for(i=0;(a=document.getElementsByTagName("link")[i]);i++){if(a.getAttribute("rel").indexOf("style")!=-1&&a.getAttribute("title")&&!a.disabled)return a.getAttribute("title")}return null}
function setActiveStyleSheet(b){var i,a,main;for(i=0;(a=document.getElementsByTagName("link")[i]);i++){if(a.getAttribute("rel").indexOf("style")!=-1&&a.getAttribute("title")){a.disabled=true;if(a.getAttribute("title")==b)a.disabled=false}}}
function getPreferredStyleSheet(){var i,a;for(i=0;(a=document.getElementsByTagName("link")[i]);i++){if(a.getAttribute("rel").indexOf("style")!=-1&&a.getAttribute("rel").indexOf("alt")==-1&&a.getAttribute("title"))return a.getAttribute("title")}return null}
function getSizeVal(v){v = (1-v)*-100;return 80+v;}

function getObject(id){
	if (document.getElementById || document.all) {
		var el = document.getElementById? document.getElementById(id): document.all[id];
		if (el) return el;
	}
	return false;
}

function RB_stack_ext_form(kind, selection_form, hidden_form, selected_new_input, selected_last_input) {
	selected_new_position=eval(selected_new_input.value);
	selected_old_position=eval(selected_last_input.value);
	for (i=1; i<=selected_new_input.options.length; i++) {
		input=eval('document.forms[\'stack_selector_'+i+'\'].position');
		if (input!=selected_new_input) {
			if (input.value<selected_old_position) {
				if (input.value<selected_new_position) {
				} else {
					input.selectedIndex=input.selectedIndex+1;
					}
			} else {
				if (selected_new_position<input.value) {
				} else {
					input.selectedIndex=input.selectedIndex-1;
					}
				}
			}
		}

	for (i=1; i<=selected_new_input.options.length; i++) {
		hidden_input=eval('hidden_form.'+kind+'_last_stack_'+i);
		select_input=eval('document.forms[\'stack_selector_'+i+'\'].position');
		hidden_input.value=select_input.value;
	}
}

function initResize(){
	var inc = getObject('skip-li-3').getElementsByTagName('a')[0];
	var dec = getObject('skip-li-4').getElementsByTagName('a')[0];
	if ((!inc) || (!dec)) 
		return false;
	
	inc.onclick = function(){
		var val = parseFloat(readCookie('ace-size'));
		val = Math.round(val*100)/100;
		switch(true){
			case (val <= 0.95):
				var incSize = 1;
				var decSize = 0.95;
			break;
			case (val >= 1.3):
				var incSize = 1.3;
				var decSize = 1.25;
			break;
			default:
				var incSize = val+0.05;
				var decSize = val-0.05;
		}	
		var element = document.body;
		if (element && typeof element.style.fontSize != "undefined")
			element.style.fontSize = getSizeVal(incSize)+'%';
		
		createCookie('ace-size', incSize, 30);
		return false;
	}
	dec.onclick = function(){
		var val = parseFloat(readCookie('ace-size'));
		val = Math.round(val*100)/100;
		switch(true){
			case (val <= 0.95):
				var incSize = 1;
				var decSize = 0.95;
			break;
			case (val >= 1.3):
				var incSize = 1.3;
				var decSize = 1.25;
			break;
			default:
				var incSize = val+0.05;
				var decSize = val-0.05;
		}	
		var element = document.body;
		if (element && typeof element.style.fontSize != "undefined")
			element.style.fontSize = getSizeVal(decSize)+'%';
			
		createCookie('ace-size', decSize, 30);
		return false;
	}
	
	return true;
}

function initStyleSheets(){
	var val = readCookie('ace-style');
	var high = getObject('skip-li-5').getElementsByTagName('a')[0];
	var def = getObject('skip-li-6').getElementsByTagName('a')[0];
	if ((!high) || (!def))
		return false;
		
	high.onclick = function(){
		createCookie('ace-style', 'high-contrast', 30);
		setActiveStyleSheet('high-contrast');
		return false;
	}
	def.onclick = function(){
		createCookie('ace-style', 'default', 30);
		setActiveStyleSheet('default');
		return false;
	}
	
	return true;
}

function registration(){
	var rules = {
		'#disability_list' : function(element){
			var obj = getObject('specialisationY');
			if (obj.checked == false){
				element.style.display = 'none';
			}
		},
		'#specialisationY' : function(element){
			element.onclick = function(){
				var obj = getObject('disability_list');
				obj.style.display = 'block';
			}
		},
		'#specialisationX' : function(element){
			element.onclick = function(){
				var obj = getObject('disability_list');
				obj.style.display = 'none';
			}
		},
		'#capacity-holder' : function(element){
			var obj = getObject('capped');
			if (obj.checked == false){
				element.style.display = 'none';
			}
		},
		'#capped' : function(element){
			element.onclick = function(){
				var obj = getObject('capacity-holder');
				if (element.checked == true){
					obj.style.display = 'block';
				} else {
					obj.style.display = 'none';
				}
			}
		},
		'#postal-holder' : function(element){
			var obj = getObject('postal');
			if (obj.checked == true){
				element.style.display = 'none';
			}
		},
		'#postal' : function(element){
			element.onclick = function(){
				var obj = getObject('postal-holder');
				if (element.checked == true){
					obj.style.display = 'none';
				} else {
					obj.style.display = 'block';
				}
			}
		},
		'.forum-delete' : function(element){
			element.onclick = function(){
				if (element.getAttribute("rel") == "first") {
					if ( sure = confirm('Are you sure you want to delete this discussion?') ) { return true; } else { return false; }
				} else {
					if ( sure = confirm('Are you sure you want to delete this item?') ) { return true; } else { return false; }
				}
			}
		}
	};
	Behaviour.register(rules);
}

addLoadEvent(initResize);
addLoadEvent(initStyleSheets);
addLoadEvent(registration);
