function switcher(id, cnt, section) {
	var i = 0;
	while(i < cnt) {
		i++;
		document.getElementById('sec-'+i).className = '';
	}
	document.getElementById('sec-'+id).className = 'active';
	document.getElementById('platform').value = section;
}

function validate_form(form) {
	var e = 0;
	var errms = '';
	var obj = document.getElementById(form);
	
	for (var i = 0; i < obj.elements.length; i++) {
		var el = obj.elements[i];
		if(el.className == 'check') {
			if(el.value == "") {
				e = 1;
				el.style.backgroundColor = '#c80000';
				errms = 'Följande fel har uppstått:\nDu har missat att fylla i en del obligatoriska fält. Dessa har markerats.\n';
			}
		}
		if(el.className == 'check-email') {
			if (eval(el.value.search(/^.+@.+\..{2,4}$/)) == -1) {
				e = 1;
				el.style.backgroundColor = '#c80000';
				errms = 'Följande fel har uppstått:\nDu har missat att fylla i en del obligatoriska fält. Dessa har markerats.\n';
			}
		}
		if(el.className == 'check-rules') {
			if(el.checked == "") {
				e = 1;
				document.getElementById('checklabel').style.color = '#c80000';
				document.getElementById('checklabel').style.fontWeight = 'bold';
				errms += 'Du måste acceptera reglerna för att kunna posta en kommentar.';
			}
		}
		if(el.className == 'check-rules-2') {
			if(el.checked == "") {
				e = 1;
				document.getElementById('checklabel').style.color = '#c80000';
				document.getElementById('checklabel').style.fontWeight = 'bold';
				errms += 'Du måste acceptera reglerna för att kunna gå vidare med registreringen.';
			}
		}
	}
	
	if(e == 1) {
		alert(errms);
		return false;
	}
	else {
		return true;
	}
}

function editor(id, cnt) {
	var i = 0;
	while(i < cnt) {
		i++;
		document.getElementById('c'+i).className = 'show';
		document.getElementById('f'+i).className = 'hide';
		document.getElementById('text_'+i).style.visibility = 'hidden';
	}
	
	document.getElementById('c'+id).className = 'hide';
	document.getElementById('f'+id).className = 'show';
	document.getElementById('text_'+id).style.visibility = 'visible';
}
function returner(id) {	
	document.getElementById('c'+id).className = 'show';
	document.getElementById('f'+id).className = 'hide';
	document.getElementById('text_'+id).style.visibility = 'hidden';
}
function add(icon, field) {
	document.getElementById(field).value += ' '+icon;
}
function mark_all(frm) {
	var formName = document.getElementById(frm);
	for(var i=0; i<formName.elements.length; i++){
		if(formName.elements[i].type == "checkbox") {
			formName.elements[i].checked = !formName.elements[i].checked;
		}
	}
}

function setfocus(target) {
	document.getElementById(target).focus();
}

function code(tag, target, form) {
	var obj = document.getElementById(target);
	var theform = document.getElementById(form);

	if (typeof theform != "object" && typeof must_click_message != "undefined") { // QR check
		alert(must_click_message);
		return false;
	}

	var optioncompiled = "";

	// lets call this when they try and use tag rather than on change
	//getActiveText(obj);

	if (document.all) { // its IE to the rescue
		var before = "["+tag+"]";
		var after = "[/"+tag+"]";
		
		
		if(obj.selectionStart) {
			var beforSel = (obj.value).substring(0,obj.selectionStart);
			var theSel = (obj.value).substring(obj.selectionStart,obj.selectionEnd);
			var afterSel = (obj.value).substring(obj.selectionEnd);
			obj.value = beforSel + before + theSel + after + afterSel;
		}
		if(document.selection.createRange().text) {
			document.selection.createRange().text=before+document.selection.createRange().text+after;
		}
		
		setfocus(target);
		return false;
	}
	else if ((obj.selectionStart || obj.selectionStart == '0') && obj.selectionStart != obj.selectionEnd) { // its mozilla and we'll need to re-write entire text
		var start_selection = obj.selectionStart;
		var end_selection = obj.selectionEnd;
		// fetch everything from start of text area to selection start
		var start = (obj.value).substring(0, start_selection);
		// fetch everything from start of selection to end of selection
		var middle = (obj.value).substring(start_selection, end_selection);
		// fetch everything from end of selection to end of text area
		var end = (obj.value).substring(end_selection, obj.textLength);

		if (middle.substring(0, tag.length + 2 ) == "[" + tag + "]" && middle.substring(middle.length - tag.length - 3, middle.length) == "[/" + tag + "]") {
			middle = middle.substring(tag.length + 2, middle.length - tag.length - 3);
		}
		else {
			middle = "[" + tag + optioncompiled + "]" + middle + "[/" + tag + "]";
		}
		obj.value = start + middle + end;
		setfocus(target);
		obj.selectionStart = end_selection + middle.length;
		obj.selectionEnd = start_selection + middle.length;
		return false;
	}
	else {
		obj.value +=  "["+tag+"][/"+tag+"]";
	}
	setfocus(target);
	return false;
}

function code_prompt(tag, target, form) {
	var obj = document.getElementById(target);
	var theform = document.getElementById(form);

	if (typeof theform != "object" && typeof must_click_message != "undefined") { // QR check
		alert(must_click_message);
		return false;
	}

	var optioncompiled = "";

	// lets call this when they try and use tag rather than on change
	//getActiveText(obj);

	if (document.all) { // its IE to the rescue
		var before = "["+tag+"]";
		var after = "[/"+tag+"]";
		
		
		if(obj.selectionStart) {
			var beforSel = (obj.value).substring(0,obj.selectionStart);
			var theSel = (obj.value).substring(obj.selectionStart,obj.selectionEnd);
			var afterSel = (obj.value).substring(obj.selectionEnd);
			obj.value = beforSel + before + theSel + after + afterSel;
		}
		if(document.selection.createRange().text) {
			document.selection.createRange().text=before+document.selection.createRange().text+after;
		}
		
		setfocus(target);
		return false;
	}
	else if ((obj.selectionStart || obj.selectionStart == '0') && obj.selectionStart != obj.selectionEnd) { // its mozilla and we'll need to re-write entire text
		var start_selection = obj.selectionStart;
		var end_selection = obj.selectionEnd;
		// fetch everything from start of text area to selection start
		var start = (obj.value).substring(0, start_selection);
		// fetch everything from start of selection to end of selection
		var middle = (obj.value).substring(start_selection, end_selection);
		// fetch everything from end of selection to end of text area
		var end = (obj.value).substring(end_selection, obj.textLength);

		if (middle.substring(0, tag.length + 2 ) == "[" + tag + "]" && middle.substring(middle.length - tag.length - 3, middle.length) == "[/" + tag + "]") {
			middle = middle.substring(tag.length + 2, middle.length - tag.length - 3);
		}
		else {
			middle = "[" + tag + optioncompiled + "]" + middle + "[/" + tag + "]";
		}
		obj.value = start + middle + end;
		setfocus(target);
		obj.selectionStart = end_selection + middle.length;
		obj.selectionEnd = start_selection + middle.length;
		return false;
	}
	else {
		if(tag == "citat") {
			var attr = prompt("Citat:","");
			var text = prompt("Vem skrev citatet: (valfritt)","");
		}
		else if(tag == "url") {
			var attr = prompt("Adress:","");
			var text = prompt("Länktext: (valfritt)","");
		}
		
		if(text != "") {
			if(text == null) {
				code =  '['+tag+']'+attr+'[/'+tag+']';
			}
			else {
				code =  '['+tag+'='+attr+']'+text+'[/'+tag+']';
			}
		}
		else {
			code =  '['+tag+']'+attr+'[/'+tag+']';
		}
		
		if(attr == null) {
			code =  '['+tag+'][/'+tag+']';
		}
		obj.value +=  code;
	}
	setfocus(target);
	return false;
}

function spoiler(id) {
	if(document.getElementById(id).style.display == 'none') {
		document.getElementById(id).style.display = 'block';
		document.getElementById('btn_'+id).value = 'Dölj spoiler';
	}
	else if(document.getElementById(id).style.display == 'block') {
		document.getElementById(id).style.display = 'none';
		document.getElementById('btn_'+id).value = 'Visa spoiler';
	}
}
