/* Funktioner som måste köras när sidan startas */
window.onload = init;

function init() {
	initMeny();
	initSidor();
}

function initMeny() {
	
	// skapa onmouseover och onmouseout för alla länkar i menyn
	var menuItems = new Array('Hem','Blogg','Shop','Cup','Arkiv');
	var menyText = new Array('Hem','Blogg','Shop','Cuper','Arkiv');
	var ObjText = document.getElementById('topmenyText');
	var startText = ObjText.innerHTML;
	
	for(x in menuItems) {
		skapaTopMenylank(menuItems[x], menyText[x], startText);
	}
}
	
function skapaTopMenylank(lankID, nyText, startText) { 
	var menuObj = document.getElementById('topmeny'+lankID);
	var ObjText = document.getElementById('topmenyText');
	menuObj.onmouseover = function() {
		ObjText.innerHTML = nyText;
	};
	
	menuObj.onmouseout = function() {
		ObjText.innerHTML = startText;
	};
}


/* Allmänna funktioner */

function bytAdminKat(elemID,url) {
	selectID = document.getElementById(elemID);
	url += selectID.value;
	document.location = url;
}

function setEditCommentId(nr) {
	document.getElementById('editcomment_id').value = nr;
	document.getElementById('editcomment_form').submit();
}

function get_access(msg) {
	if(msg == '') {
		msg = 'You must be logged in to use this feature';
	}
	alert(msg);
	return false;
}
function inteTomt(faltID,msg) {
	if(msg == '') {
		msg = 'You left a field empty';
	}
	ruta = document.getElementById(faltID);
	if(ruta.value == '') {
		alert(msg);
		return false;
	} else {
		return true;
	}	
}

function open_bild(adress,bredd,hojd) {
		// ställ in bredd och hojd:
		if(bredd < 530) { bredd = 530; }
		
		var str = 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, copyhistory=no';
		str += ',width='+bredd;
		//str += ',height='+hojd;
		unik=new Date();
		unik=unik.getSeconds()+"_"+unik.getMinutes()+"_"+unik.getHours();
		window.open(adress,unik,str);
} 
function bekrafta(msg) {
	var okej = confirm(msg);
	return okej;
}


function bytcrewkat() {
	crewkat = window.document.byt.crewkat.value;
	eval("document.location='index.php?p=adcrew&kat="+crewkat+"'");
}

/* POLL --------------------------------------------------------	*/
displayanyway = " style=\"display: block;\" ";
maxinputs=30;
mininputs=2;
visibleinputs=0;

function skapa_inputs(start) {
	var inputs = "";
	start = start*1;
	for (i=start; i<maxinputs; i++){
		inputs += "<div " + ( (i<mininputs)?displayanyway:" style=\"display: none;\" " ) + " class=\"filecontainer\" id=\"filecontainer" + i + "\">Alternativ" + (i+1) + " <input type=\"text\" size=\"40\" name=\"svar" + i + "\"/></div>";
	}
	return inputs;
}

function nrinputs(minus){
	var bynumber = document.editform.antal_alt.value;
	visibleinputs=(bynumber);
	fixvisibility(minus);
}


function lessinputs(bynumber){
	visibleinputs-=bynumber;
	fixvisibility();
}

function moreinputs(bynumber){
	visibleinputs+=bynumber;
	fixvisibility();
}

function fixvisibility(addnr){
	if (visibleinputs<mininputs)
		visibleinputs=mininputs;

	if (visibleinputs>maxinputs)
		visibleinputs=maxinputs;

	window.status = visibleinputs;
	var num = null
	for(i=0; i<(maxinputs-addnr); i++){
		num = (i*1) + (addnr*1);
		document.getElementById("filecontainer" + num).style.display=(num<visibleinputs)?"block":"none";

	}
}
// -----------------------------------------------------





/* FUNKTIONER FÖR ATT FLYTTA TEXT, FÖR BB CODE och FÖR ATT KUNNA REDIGERA FLERA SIDOR */

function setMailto() {
	var to = document.getElementById('mail_till_list').value;
	document.getElementById('mail_to').value = to;
}
function add_smajly(string) {
	var post = window.document.editform.text.value; 
    window.document.editform.text.value = post+string;
} 
function check_url() {
	return document.location;
}

function andrafarg(namn, farg) {
	document.getElementById(namn).style.color=farg;
}

function koppa_varde(fran_namn,till_namn) { 
	document.getElementById(till_namn).value = document.getElementById(fran_namn).value;
}
function andravisi(namn,state) {
	document.getElementById(namn).style.visibility=state;
}

function intervju(rutaID) {
	ruta = document.getElementById(rutaID);
	var fraga;
	var i;
	var text;
	i = 0;
	fraga = "Question?";
	
	while (fraga != null) { // loopa tills man tar cancel
		
		if(i%2 == 0) { 
			text = "Enter a new question";
		} else {
			text = "Write answer to  " + fraga;
		}
		
		if(i != 0) { 
			fraga = "";
		} else {
			ruta.value += '[tabb]';
		}
		fraga = prompt(text,fraga);
		if(fraga != null) {
			if(i%2 == 0) {
				text = "[b]"+fraga+"[/b]\n";
				ruta.value += text;
			} else {
				text = " - "+fraga+"\n";
				ruta.value += text;
			}
		} else {
			ruta.value += '[/tabb]';
		}
		++i;
	}
}


function lank(rutaID) {
	ruta = document.getElementById(rutaID);
	var url = "";
	var text = "";
	var lank = "";
	url = prompt("Enter URL you want to link to",url);
	if(url != null && url != "") { // om man tar cancel..
		text = prompt("Enter linktext",text);
		if(text != null && url != "") {
			lank = " [a "+url+"]"+text+"[/a] ";
			bbtext(rutaID,lank);
		}
	}
}
function irclank(rutaID) {
	ruta = document.getElementById(rutaID);
	var url = "";
	var text = "";
	var lank = "";
	url = prompt("Enter channel @ q-net (without #)",url);
	if(url != null && url != "") { // om man tar cancel..
		text = prompt("Enter link text",text);
		if(text != null && url != "") {
			lank = " [irc "+url+"]"+text+"[/irc] ";
			bbtext(rutaID,lank);
		}
	}
}
function hbild(rutaID) {
	ruta = document.getElementById(rutaID);
	var url = ruta.value;
	url = prompt("Enter URL of the image you want to use",url);
	if(url != null) { // om man tar cancel..
		ruta.value = url;
	}
}


function flaggtext(franID,tillID) {
	fran = document.getElementById(franID);
	till = document.getElementById(tillID);
	till.value = '[flag]'+fran.value+'[/flag]';
	till.focus();
}

function select_ruta(rutaID) {
	ruta = document.getElementById(rutaID);
	ruta.select();
}


	// Funktion för att stänga öppna taggar
	// tags anges så här [a]|[b]|[center] osv
	// close_tags blir då [/a]|[/b]|[/center] osv 
	function close_tags(tags,slut_tags,rutaID) {
		var ruta = document.getElementById(rutaID);
		var tag_ar = tags.split("|");
		var close_tag_ar = slut_tags.split("|");
		var diff = 0;
		for(var i=0; i<tag_ar.length; i++) {
			// Anropa funktion som räknar alla tags;
			diff = raknaTag(tag_ar[i],rutaID) - raknaTag(close_tag_ar[i],rutaID);

			// Stäng alla öppna tagger
			while(diff != 0) {
				ruta.value += close_tag_ar[i];
				diff--;
			}
			diff = 0;
		}
	}
	
	// Funktion som räknar hur många gånger en tag (eller ett ord) förekommer i en textarea
	function raknaTag(tag,rutaID) {
		
		var ruta = document.getElementById(rutaID);
		var str = ruta.value;

		var pos = str.indexOf(tag);
		var tag_len = tag.length;
		var tag_num = 0;


		while(pos != -1) {
			pos = str.indexOf(tag, (pos+tag_len));
			tag_num++;
		}
		
		return tag_num;		
	} 

/** BB KOD FUNKTIONER **/
/* Fixa så det fungerar att få taggar runt markerad text */
// Check for Browser & Platform for PC & IE specific bits
// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
	
	var clientPC = navigator.userAgent.toLowerCase(); // Get client info
	var clientVer = parseInt(navigator.appVersion); // Get browser version
	
	var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
	var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1) 
		&& (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
		&& (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
		 
	var is_moz = 0;
	var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
	var is_mac = (clientPC.indexOf("mac")!=-1);
	
	function tag(rutaID, knappID, tagopen, tagclose, bada) {
	
		ruta = document.getElementById(rutaID);
		knapp = document.getElementById(knappID);
		// Kolla om man ska lägga till en tag eller [tagopen] [/tagclose]
		bada = (bada == 1) ? 1 : 0;
		theSelection = false;
		
		// Kolla om någonting är selectat och lägg i så fall taggar runt det.
		if ((clientVer >= 4) && is_ie && is_win) {
	
			theSelection = document.selection.createRange().text; // Get text selection
	
			if (theSelection) {
				// Add tags around selection
				document.selection.createRange().text = tagopen + theSelection + tagclose;
				ruta.focus();
				theSelection = '';
				return;
			}
	
		} else if (ruta.selectionEnd && (ruta.selectionEnd - ruta.selectionStart > 0))	{
			mozWrap(rutaID, tagopen, tagclose);
			return;
		}
	
		// Ingenting var selectat, då ska en tagg läggas till sist i koden typ.
		// Kolla om taggen ska öppnas eller stängas.
		lastchr = knapp.value.substr(knapp.value.length-1);
		if(lastchr == '*') {
			ruta.value += tagclose;
			knapp.value = knapp.value.substr(0,knapp.value.length-1);
		} else {
			ruta.value += tagopen;
			knapp.value +='*';
		}
	
		ruta.focus();
		return;
	}
		
	
	// Bara lägg in text (i IE kan man få den mitt i rutan, men inte i FF)
	function bbtext(rutaID, text) {
		ruta = document.getElementById(rutaID);
		text = ' ' + text + ' ';
	
		if (ruta.createTextRange && ruta.caretPos) {
			var caretPos = ruta.caretPos;
			caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
		//	storeCaret(ruta); //för att man ska kunna få mitt i i IE
			ruta.focus();
		} else {
			ruta.value += text;
		//	storeCaret(ruta); //för att man ska kunna få mitt i i IE
			ruta.focus();
		}
	}

	// From http://www.massless.org/mozedit/
	function mozWrap(rutaID, open, close) {
		
		ruta = document.getElementById(rutaID);
		
		var selLength = ruta.textLength;
		var selStart = ruta.selectionStart;
		var selEnd = ruta.selectionEnd;
	
		if (selEnd == 1 || selEnd == 2)
			selEnd = selLength;
	
		var s1 = (ruta.value).substring(0,selStart);
		var s2 = (ruta.value).substring(selStart, selEnd);
		var s3 = (ruta.value).substring(selEnd, selLength);
		
		ruta.value = s1 + open + s2 + close + s3;
		return;
	}
	
	
	/* FÖR ATT KUNNA REDIGERA FLERA SIDOR */
	// Funktion som initierar textrutorna
	function initSidor() {
		var div = document.getElementById('textarea_holder');
		if(div != null && div.hasChildNodes()) {
			var textarea_ar = div.getElementsByTagName("textarea");
			// Gå igenom alla textareas
			for(var i=0;i<textarea_ar.length;++i) {
				// Om det är den första textarean ska den visas, annars ska dom döljas
				textarea_ar[i].style.display = (i == 0) ? "inline" : "none";
			}		
		}
	}
	
	
	// Funktion som flyttar fokus till en annan textarea, dvs gör den synlig
	function bytSida(byt_till) {
		var div = document.getElementById('textarea_holder');
		var textarea_ar = div.getElementsByTagName("textarea");
		var selectID = document.getElementById('selectSida');
		var Sidor = selectID.getElementsByTagName('option');
		var aktiv_area = false;
		var vald_area = false;
		// Gå igenom alla textareas och spara nr på den textarea som visas just nu.
		for(var i=0;i<textarea_ar.length;++i) {
			if(textarea_ar[i].style.display != "none") {
				aktiv_area = i;
			}	
		}
		
		 // Dölj nuvarande textarea
		if(aktiv_area !== false) {
			textarea_ar[aktiv_area].style.display="none";
		}
		
		// Sätt fokus på rätt textarea.
		if(textarea_ar.length == 0) {
			//ingen textareas finns...
			alert("Error: hittade ingen textarea");
		} else if(byt_till >= 0 && byt_till < textarea_ar.length) {
			// Om man har angett nr på rutan man ska till och den rutan faktiskt finns
			textarea_ar[byt_till].style.display="inline";
			vald_area = byt_till;
		} else if(byt_till == "forra") {
			// Gå till föregående sida
			if(aktiv_area == 0) {
				textarea_ar[textarea_ar.length-1].style.display="inline";
				selectID.selectedIndex = textarea_ar.length-1;
				vald_area = textarea_ar.length-1;
			} else {
				textarea_ar[aktiv_area-1].style.display="inline";
				selectID.selectedIndex = aktiv_area-1;
				vald_area = aktiv_area-1;
			}
			
		} else if(byt_till == "sista") {
			// Gå till sista sidan
			vald_area = textarea_ar.length-1;
			textarea_ar[vald_area].style.display="inline";
			
			// Gjorde så här för att fixa så det fungerar i IE och FF
			if(document.all) {
				Sidor[selectID.selectedIndex].setAttribute("selected","");
			} else {
				selectID.selectedIndex = vald_area;
			}			
			
			Sidor[vald_area].setAttribute("selected","selected");
		} else {
			// Gå till nästa sida		
			if(aktiv_area == (textarea_ar.length-1)) {
				textarea_ar[0].style.display="inline";
				selectID.selectedIndex = 0;
				vald_area = 0;
			} else {
				textarea_ar[aktiv_area+1].style.display="inline";
				selectID.selectedIndex = aktiv_area+1;
				vald_area = aktiv_area+1;
			}
		}
		
		// Ställ in bbcode knapparna så de pekar på rätt textarea
		bytKnappSida(textarea_ar[vald_area].id);
		uppdateraKnappar(textarea_ar[vald_area].id);
		
		// Kolla om byt titel och radera sida knappen ska aktiveras / inaktiveras
		bytTitelID = document.getElementById('bytTitelKnapp');
		raderaSidaID = document.getElementById('raderaSidaKnapp');
		if(vald_area == 0) {
			bytTitelID.disabled = "disabled";
			raderaSidaID.disabled = "disabled";
		} else if(vald_area == 1 && textarea_ar.length <= 2) {
			bytTitelID.disabled = "";
			raderaSidaID.disabled = "disabled";
		} else {
			bytTitelID.disabled = "";
			raderaSidaID.disabled = "";
		}
	}
	
	// Funktion som lägger till en textarea
	function skapaSida(cols,rows) {
		var titel = "";
		titel = prompt("Choose page title",titel); 
		// Om titel blir null ska ingen sida skapas (man tog cancel)
		if(titel != null) {
			
			var div = document.getElementById('textarea_holder');
			var textarea_ar = div.getElementsByTagName("textarea");
			var nyArea = document.createElement("textarea");
			var id = 0;
			var nyId = 0;
			
			if(titel == "") { titel = "ingen rubrik"; }	
			
			// Ställ in attribut
			if(isNaN(cols) || cols == 0) { cols = 50; }
			if(isNaN(rows) || rows == 0) { rows = 10; }
			nyArea.setAttribute("cols",cols);
			nyArea.setAttribute("rows",rows);
			nyArea.setAttribute("name","name[]");
			nyArea.style.display="none";
			
			// Ta fram vilket id vi kan använda
			// Gå igenom alla textareas i diven och ta fram det hösta id't
			var id = 0;
			for(var i=0;i<textarea_ar.length;++i) {
				id = Number(textarea_ar[i].id.substr(textarea_ar[i].id.length-1));
				if(id >= nyId) {
					nyId = id+1;
				}
			}
			
			if(nyId < 10) {
				nyId = "0"+nyId;
			}

			// Skapa sidan
			nyArea.setAttribute("id","txtareaSida"+nyId);
			nyArea.setAttribute("name","sidor[]");
			nyArea.appendChild(document.createTextNode(titel));
			div.appendChild(nyArea);
			
			// Lägg till sidan i select rutan
			var selectID = document.getElementById('selectSida');
			var nyOption = document.createElement("option");
			nyOption.value = Number(nyId);
			nyOption.appendChild(document.createTextNode(titel));
			selectID.appendChild(nyOption);
			
			// Lägg till en titel input
			var titelinput = document.getElementById('titelinput_holder');
			var nyInput = document.createElement("input");
			nyInput.setAttribute("id","titelSida"+nyId);
			nyInput.setAttribute("value",titel);
			nyInput.setAttribute("name","sidtitlar[]");
			titelinput.appendChild(nyInput);
			
			// Visa den sidan.
			bytSida('sista');
		}
	}
	
	// Byter till den sida man valt i select rutan 
	function valjSida() {
		var selectID = document.getElementById('selectSida');
		bytSida(selectID.selectedIndex);
	}
	
	// Byter titel på den valda sidan
	function bytTitel() {
		// Ta fram nuvranade titel
		var selectID = document.getElementById('selectSida');
		if(selectID.selectedIndex == -1) {
			alert("Markera först den sida vars titel du vill byta");
		} else {
			var Sidor = selectID.getElementsByTagName('option');
			var old_titel = Sidor[selectID.selectedIndex].text;
			var titel = "";
			
			// Uppdatera titel
			titel = prompt("Enter new title for page: "+old_titel,titel);
			if(titel == "" || titel == null) { titel = old_titel; }
			Sidor[selectID.selectedIndex].text = titel;
			
			//Uppdatera titel i titelinputen
			udID = Sidor[selectID.selectedIndex].value;
			if(udID < 10) { udID = "0"+udID; }
			var inputID = document.getElementById("titelSida"+udID)
			inputID.value = titel;
		}
	}
	
	// Radera den valda sidan (under vissa förutsättningar)
	function raderaSida() {
			
		// Kolla så att en sida är markerad
		var selectID = document.getElementById('selectSida');
		if(selectID.selectedIndex == -1) {
			alert("Markera först en sida som ska raderas");
		} else {
			// Ta fram id
			var div = document.getElementById('textarea_holder');
			var textarea_ar = div.getElementsByTagName("textarea");
			var Sidor = selectID.getElementsByTagName('option');
			var delID = Sidor[selectID.selectedIndex].value;
			var vald = selectID.selectedIndex;
			var titelinput = document.getElementById('titelinput_holder');
			
			// Kolla så att man inte försöker ta bort korttext eller den enda vanliga sidan
			if(delID == 0) {
				alert("Du kan inte radera korttext sidan.");
			} else if(delID == Number(textarea_ar[1].id.substr(textarea_ar[1].id.length-1)) && textarea_ar.length <= 2) {
				alert("Du kan inte radera sidan. Det måste alltid finnas minst 1 sida förutom korttext");
			} else {
				if(delID < 10) { delID = "0"+delID; }
				
				var titel = Sidor[selectID.selectedIndex].text;
				var ok = confirm("Vill du verkligen radera sidan \""+titel+"\"? \r\n All text på sidan försvinner");
				if(ok == true) {
					
					// Radera textarea, saken i select listan och titel inputen
					selectID.remove(selectID.selectedIndex);
					
					// Radera textarean.
					div.removeChild(document.getElementById("txtareaSida"+delID));
					
					// Radera titel grejen
					titelinput.removeChild(document.getElementById("titelSida"+delID));
					
					// Välj vilken sida som ska visas nu
					if(vald > (textarea_ar.length-1)) {
						bytSida(0);
						selectID.selectedIndex = 0;
					} else {
						bytSida(vald);
						selectID.selectedIndex = vald;
					}
				}
			}
		}	
	}
	
	
	// Funktion som byter det textarea id som används av varje knapp i knapp_holder 
	// Den ändrar på alla som har en funktion som tar argument i onclick
	// textareaID förväntas vara det första argumentet i alla onclick funktioner
	
	function bytKnappSida(textareaID) {
		var knappboxID = document.getElementById("knapp_holder");
		var Knappar = knappboxID.getElementsByTagName("input");
		var klickfunk = "";
		var funk_namn = "";
		var args = null;
		var nyfunk = "";
		var j = 0;

		for(var i = 0; i < Knappar.length; i++) {
			klickfunk = Knappar[i].onclick.toString();
			klickfunk = klickfunk.substring((klickfunk.indexOf("{")+1),klickfunk.indexOf("}"));
			// Om knappen har något onclick
			if(klickfunk != "" && klickfunk != null) {
				
				funk_namn = klickfunk.substr(0, klickfunk.indexOf("("));
				args = klickfunk.substring(klickfunk.indexOf("(")+1, klickfunk.indexOf(")"));
				// Om funktionen som anropas onclick har argument
				if(args != "" && args != null) {
					args = args.split(',');
					// Skapa en ny onclick grej, alla argument ska vara samma förutom första som är txtareans id
					nyfunk = funk_namn+"(\""+textareaID+"\"";
					
					// Lägg in alla andra argument
					for(j = 1; j<args.length; j++) {
						nyfunk += ","+args[j];
					}
					nyfunk += ");";
					eval("Knappar[i].onclick = function () {"+nyfunk+"};");				
				}
			}			
		}
	}
	
	// Funktion som uppdaterar knapparnas status när man byter sida 
	// Går först igenom alla knappar som kör tag funktionen och kollar deras start och slut taggar.
	// Räknar antalet taggar i textarean. Saknas slut tag(ar) så får knappen en *	
	
	function uppdateraKnappar(textareaID) {
		var knappboxID = document.getElementById("knapp_holder");
		var Knappar = knappboxID.getElementsByTagName("input");
		var j = 0;
		var diff = 0;
		var lastchr = "";
		var starttag = "";
		var sluttag = "";

		// Leta fram alla taggar som kan används
		for(var i = 0; i < Knappar.length; i++) {

			klickfunk = Knappar[i].onclick.toString();
			klickfunk = klickfunk.substring((klickfunk.indexOf("{")+1),klickfunk.indexOf("}"));
			// Om knappen har något onclick
			if(klickfunk != "" && klickfunk != null) {
				funk_namn = klickfunk.substr(0, klickfunk.indexOf("("));
				
				if(funk_namn.indexOf("tag") != -1) {

					args = klickfunk.substring(klickfunk.indexOf("(")+1, klickfunk.indexOf(")"));
					args = args.split(',');
					
					// Kolla om det finns lika många tags som slut tags, 
					// Ta fram starttag och sluttag, 
					// Man måste göra olika för i mozilla är det ett space före "[b]" etc
					if(args[2].substr(0,1) != '"' && args[2].substr(0,1) != "'") {
						starttag = args[2].substring(2,args[2].length-1);
						sluttag = args[3].substring(2,args[3].length-1);
					} else {
						starttag = args[2].substring(1,args[2].length-1);
						sluttag = args[3].substring(1,args[3].length-1);
					}
										
					// Diff blir starttags - sluttags
					diff = raknaTag(starttag,textareaID) - raknaTag(sluttag,textareaID);

					// Kolla knappens sista bokstav och ge den sedan rätt namn.
					lastchr = Knappar[i].value.substr(Knappar[i].value.length-1); 
					if(diff != 0 && lastchr != "*") {
						// Sätt en * på knappen
						Knappar[i].value += "*";							
					} else if(diff == 0 && lastchr == "*") {				
						Knappar[i].value = Knappar[i].value.substr(0,Knappar[i].value.length-1);
					}
					diff = 0;
				}
			}
		}
	}	
	
	// Funktion som stänger öppna taggar i alla textareor
	function close_all_tags(tags,slut_tags) {
		var div = document.getElementById('textarea_holder');
		var textarea_ar = div.getElementsByTagName("textarea");
		var id = null;
		for(var i = 0; i<textarea_ar.length; ++i) {
			id = textarea_ar[i].id;
			close_tags(tags,slut_tags,id);
		}
		// Uppdatera knappar
		var selectID = document.getElementById('selectSida');
		uppdateraKnappar(textarea_ar[selectID.selectedIndex].id);		
	}
	
	
/* CUP SKIT */
// SCRIPT FÖR ATT VÄLJA ANTAL GRUPPER OSV 
newoptionid = 0;
function createOption(selectname,nytext,nyvalue) {
	var selectID = document.getElementById(selectname);
	var newOption = document.createElement("option");
	var newText = document.createTextNode(nytext);
	newOption.setAttribute("id","option"+newoptionid);
	newOption.setAttribute("value",nyvalue);
	newOption.appendChild(newText);

	if(selectname == "antal_grupper") {
		// gör så att man kommer direkt till grupp_vidare när man klickar i antal_grupper
		// fungerar inte i IE verkar det som
		newOption.onclick = function() { updateGruppvidare(); }
	}
	selectID.appendChild(newOption);
	newOption.selected="selected";
	newoptionid++;
}

function removeAllOptions(selectname) {
	var selectID = document.getElementById(selectname);
	while(selectID.length != 0) {
		selectID.remove(0);
	}
}
function updateGrupper() {
	// fyll antal_grupper selectboxen med alternativ som går att kombinera med valt antal lag
	var antallagID = document.getElementById("antal_lag");
	var antalgrupperID = document.getElementById("antal_grupper");
	var gruppvidareID = document.getElementById("grupp_vidare");
	
	var antal_lag = antallagID.value;
	antalgrupperID.disabled="disabled";
	gruppvidareID.disabled="disabled";
	removeAllOptions("antal_grupper");
	removeAllOptions("grupp_vidare");
	if(isNaN(antal_lag) || antal_lag < 4) {
		alert("Du måste välja att ha minst 4 lag i cupen!");
		antallagID.focus();
	} else {
		var j;
		for(j=2;j<=(antal_lag / 2);j++) {
			if((antal_lag % j == 0) && (antal_lag / j > 2)) {
				createOption("antal_grupper",j,j);
			}
		}
		// kolla så att det faktiskt fanns något antal_grupper som fungerar med valt antal_lag
		if(antalgrupperID.length == 0) {
			alert("Du måste välja antal lag på så sätt att man kan ha minst 2 grupper med minst 3 lag i varje!");
			antallagID.focus();
		} else {
			antalgrupperID.disabled="";
			antalgrupperID.focus();
		}
	}	
}

function updateGruppvidare() {
	// fyll grupp_vidare selectboxen med alternativ som går att kombinera med valt antal lag och valt antal grupper
	var antallagID = document.getElementById("antal_lag");
	var antalgrupperID = document.getElementById("antal_grupper");
	var gruppvidareID = document.getElementById("grupp_vidare");
	
	var antal_lag = antallagID.value;
	var antal_grupper = antalgrupperID.value;
	if(isNaN(antal_lag) || antal_lag < 4 || isNaN(antal_grupper) || antal_grupper < 2) {
		// det här ska aldrig hända
		alert("Något har blivit fel, var god välj om!");
		removeAllOptions("antal_grupper");
		removeAllOptions("grupp_vidare");
		antalgrupperID.disabled="disabled";
		gruppvidareID.disabled="disabled";
		antallagID.focus();
	} else {
		removeAllOptions("grupp_vidare");
		var j;
		var extralag;
		var antal_pllag;
		for(j=1;j<(antal_lag / antal_grupper);j++) {
			// totalt antal lag som ska gå till slutspel
			antal_pllag = Math.pow(2,Math.ceil(Math.log(antal_grupper*j)/Math.log(2)));
			// antal extra lag som krävs med j lag vidare från varje grupp
			extralag = Math.round(antal_pllag - Math.pow(2,(Math.log(antal_grupper*j)/Math.log(2))));
			
			if(extralag < antal_grupper) {
				createOption("grupp_vidare",j,j);
			}
		}
		// kolla så att det faktiskt fanns något antal_vidare som fungerar med valt antal_lag & valt antal grupper
		if(gruppvidareID.length == 0) {
			alert("Du måste välja antal grupper på så sätt att de extralag som krävs är färre än antalet grupper! Öka antalet lag vidare från gruppen eller välj ett annat antal grupper. OBS: Extralag är det här: säg att du valt 15lag, 3grupper och 2lag vidare från varje grupp. I exemplet krävs att de 2 bästa 3orna också går vidare till slutspelet, antalet extralag är alltså 2!");
			antallagID.focus();
		} else {
			gruppvidareID.disabled="";
			gruppvidareID.focus();
		}
	}
}
// 		SLUT PÅ VÄLJA GRUPPER OSV


function form_reset()
{
	var x=document.forms.edlag
	x.reset()
}

// JS för slumpa schema

function stryk_anvenda() {
	
	// looopa fram alla använda lag namn
	var nr=0;
	var anvenda = new Array();
	for(i = 1; i <= antal_lag; ++i) {
	
		// tabort alla överstryckningar, senare kommer de att läggas dit igen
		document.getElementById(li_prefix+i).style.fontSize = "10px";
		if(document.getElementById(lag_prefix+i).value != "") { // lägg in de lag som fyllts i en
															// array
			anvenda[nr] = document.getElementById(lag_prefix+i).value;
			++nr;
		}	
	
	}

	// loopa igenom arrayen vi skapade och stryk alla värden vi hittar i den
	// i listan till höger
	
	var ar_str = anvenda.join("%");
	for(i = 1; i <= antal_lag; ++i) {
	
		var pos=ar_str.indexOf(document.getElementById(li_prefix+i).innerHTML);
		if (pos>=0) {
			document.getElementById(li_prefix+i).style.fontSize = "10px";
		}
	
	}

} // slut på funktionen

function check_anvend(varde) {

	// om vi hittar laget som skulle läggas in i en av rutorn
	// så retrun true, annars false
	var rtr = false;
	alert("varde = "+varde);
	for(i = 1; i <= antal_lag; ++i) {
	
		if(document.getElementById(lag_prefix+i).value == varde) {
			rtr = true;
		}	
	}
	alert("rutnamn bör vara "+lag_prefix+i);
	return rtr;
}

function fyll_resten(rnd) {
 // loopa fram och skapa en array med lagen som inte lagts till
 // dvs lagen som inte är överstruckna
	// looopa fram alla använda lag namn
	var nr=0;
	var oanvenda = new Array();
	for(i = 1; i <= antal_lag; ++i) {
		if(document.getElementById(li_prefix+i).style.fontSize == "10px") { 
			// skapa arrayen
			oanvenda[nr] = document.getElementById(li_prefix+i).innerHTML;
			++nr;
		}	
	
	}
	// kolla om vi ska slumpa
	if(rnd == 1) {
		
		var len = oanvenda.length;
 		var rand,temp,k;
  		for (k = 0; k < len; k++){
    		rand = Math.floor(Math.random()*len);
    		temp = oanvenda[k];
    		oanvenda[k] = oanvenda[rand];
   		 	oanvenda[rand] = temp;
 		 }
	}
	// Nu loppar vi igenom alla rutor och ger de tomma ett värde från arrayen
	
	var j = 0;
	for(i = 0; i < antal_lag; ++i) {
		
		//if(document.getElementById(lag_prefix+i).value == "") { 
		if(document.edlag[i].value == "") {
			// lägg in värden
			//document.getElementById(lag_prefix+i).value = oanvenda[j];
			document.edlag[i].value = oanvenda[j];
			++j;
		}	
	}
	
} // slut på funktionen

function koppa_html(fran_namn,till_namn) {
	// kolla om vi strucikt över laget
	var check = document.getElementById(fran_namn).style.textDecorationLineThrough
	if(check != "1") {
		document.getElementById(till_namn).innerHTML = document.getElementById(fran_namn).innerHTML;
	} else {
		alert("Du har redan lagt in det här laget. Vill du tabort det, lägg ett annat lag på dess plats");
	}
}
function htmltovalue(fran_namn,till_namn) {
	
	// kolla om muspekaren har ett lag
	if(document.getElementById(fran_namn).innerHTML != "") {
		
		// kolla om vi redan andvänt det laget...
		var okej = check_anvend(document.getElementById(fran_namn).innerHTML);
		if(okej == false) {
			document.getElementById(till_namn).value = document.getElementById(fran_namn).innerHTML;
			stryk_anvenda(); // stryk över alla använda lag
			document.getElementById(fran_namn).innerHTML = ""; // nollställ muspekaren
		} else {
			alert('Laget har redan lagts till');
		}
	} else { // om muspekaren är tom
		if(document.getElementById(till_namn).value != "") { // om rutan inte är tom
			
			// ge rutans värde till muspekaren och töm rutan
			document.getElementById(fran_namn).innerHTML = document.getElementById(till_namn).value;
			document.getElementById(till_namn).value = "";
			stryk_anvenda(); // se till så rätt lag är strykta
		
		}
	}
}
function tom_element(namn) {

	document.getElementById(namn).value = "";
	document.getElementById(namn).innerHTML = "";
}

function flytta_obj(namn) {

	document.getElementById(namn).style.left=window.event.x;
	document.getElementById(namn).style.top=window.event.y+document.body.scrollTop;
	
}

// Slut på JS för slumpa schema