var questions = new Array('Vill du verkligen tacka nej till kompisförfrågan?', 'Vill du verkligen radera din kompisförfrågan?', 'Vill du verkligen avsluta kompisskapet?', 'Är du säker på att du vill radera de valda meddelandena?', 'Vill du låsa tråden?', 'Vill du radera inlägget?', 'Vill du klistra tråden?', 'Vill du radera tråden?', 'Vill du låsa upp tråden?', 'Vill du lossa tråden?');

function doRE(obj, fEdit, dest) {
	var text = obj.value;
	var m = text.match(/[^a-z0-9]/);
	if(m != null) {
		text = text.toLowerCase();
		text = text.replace(/[åä]/g, "a")
		text = text.replace(/[öóòôø]/g, "o")
		text = text.replace(/[üúùû]/g, "u")
		text = text.replace(/[ëéèê]/g, "e")
		text = text.replace(/[ñ]/g, "n")
		text = text.replace(/[ïíìî]/g, "i")
		text = text.replace(/[_]/g, "")
		text = text.replace(/[^a-z0-9]/g, "")
	}
	if(friendly_altered && fEdit == 0) {
		if(confirm("Du har ändrat kortnamnet. Är du säker på att du vill skriva över det?")) {
			friendly_altered = false;
		}
	}
	if(!friendly_altered || fEdit == 1) {
		document.getElementById(dest).value = text;
	}
}

function HLMenuItem(obj, mode, action, color, skipper) {
	if(skipper != 1) {
		obj.style.background = color;
	}
}

function hlRow(row, mode, action, color, skipper) {
	if(skipper != 1) {
		row.style.backgroundColor = color;
	}
}

function yesno(question) {
	if(confirm(questions[question])) {
		return true;
	} else {
		return false;
	}
}

function yesnoSend(question, frm) {
	if(confirm(questions[question])) {
		frm.submit();
	}
}

function yesnoGo(question, url) {
	if(confirm(questions[question])) {
//		alert(url);
		document.location.href = url;
	}
}

var vis = "d1";
function toggle() {
	if(vis == "d1") {
		document.getElementById('d1').style.display = 'none';
		document.getElementById('d2').style.display = 'block';
		vis = "d2";
	} else {
		document.getElementById('d1').style.display = 'block';
		document.getElementById('d2').style.display = 'none';
		vis = "d1";
	}
}

function doSendVote() {
	if(document.getElementById('gradeSel').value != "xx") {
		document.getElementById('voteform').submit();
		toggle();
	}
}

function checkLoginForm() {
	if(document.getElementById('password').value.length < 32) {
		document.getElementById('password').value = hex_md5(document.getElementById('password').value);
	}
	return true;
}

function inputToggler(obj, mode, text, text2) {
	switch(mode) {
		case 0:
			if(obj.value == text2) {
				obj.value = text;
			}
			break;
		case 1:
			if(obj.value == text) {
				obj.value = text2;
			}
			break;
		default:
			break;
	}
}

function chkboxToggler(obj, type) {
	switch(type) {
		case 0:
			if(obj.checked == true) {
				obj.checked = false;
			} else {
				obj.checked = true;
			}
			break;
		case 1:
			if(obj.selected == true) {
				obj.selected = false;
			} else {
				obj.selected = true;
			}
			break;
		default:
			break;
	}
}

function switchCheck(frm, chkStr, chk) {
	for (var i = 0; i < frm.elements.length; i++) {
		var e = frm.elements[i];
		if ((e.name.substr(0, chkStr.length) == chkStr) && (e.type == 'checkbox')) {
			e.checked = chk.checked;
		}
	}
}

function openGallery(url, maxW, maxH, winname) {
	addW = 200;
	addH = 120;
	minW = 520 + addW;
	minH = 400 + addH;
	scrW = screen.availWidth;
	scrH = screen.availHeight;
	if(winname == "") {
		winname = "newwin";
	}
	if(scrW < (maxW+addW) || maxW == 0) {
		newW = scrW;
	} else {
		if((maxW+addW) < minW) {
			newW = minW;
		} else {
			newW = (maxW+addW);
		}
	}
	if(scrH < (maxH+addH) || maxH == 0) {
		newH = scrH;
	} else {
		if((maxH+addH) < minH) {
			newH = minH;
		} else {
			newH = (maxH+addH);
		}
	}
//	url += "/size/" + maxW + "/" + maxH + "/" + newW + "/" + newH;
	pars = "scrollbars=no,resizable=yes,directories=no,location=no,menubar=no,toolbar=no,hotkeys=yes,status=no";
	pars += ",width=" + newW;
	pars += ",height=" + newH;
	OpenWindow(winname, url, winname, pars);
}

function OpenWindow(newWin, action1, action2, wcmd) {
	newWin = window.open(action1, action2, wcmd);
}

function CheckEmail(e) {
	ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";
	for(i=0; i < e.length ;i++) {
		if(ok.indexOf(e.charAt(i)) < 0) { 
			return (false);
		}
	}

	if (document.images) {
		re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
		re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
		if (!e.match(re) && e.match(re_two)) {
			return (-1);
		}
	}
}

function CheckRegForm() {
	var msg = "";
	var tStr = "";
	if(!(document.getElementById('reg_user_alias').value.length > 2 && document.getElementById('reg_user_alias').value.length < 65)) {
		msg += "Felaktigt användarnamn.\n";
	}
	if(!(document.getElementById('reg_password').value.length > 2 && document.getElementById('reg_password').value.length < 33)) {
		msg += "Felaktigt lösenord.\n";
	}
	if(!(document.getElementById('reg_password').value ==  document.getElementById('conf_password').value)) {
		msg += "Felaktig lösenordsbekräftelse.\n";
	}
	if(!(CheckEmail(document.getElementById('email').value))) {
		msg += "Felaktig e-postadress.\n";
	}
	if(!(document.getElementById('sec_code').value.length == 4)) {
		msg += "Felaktigt personnummer.\n";
	}
	if(msg != "") {
		alert(msg);
		return false;
	} else {
		return true;
	}
}

function txtCnt(fld, cfld, limit) {
	if(fld.value.length > limit) {
		fld.value = fld.value.substring(0, limit);
	} else {
		cfld.value = limit - fld.value.length;
	}
}

function doQuote(textarea, quoted, rowid)
{
	if(textarea == "") {
		textarea = 'post_text';
	}
	var txt = '';
	if (window.getSelection) {
		txt = window.getSelection();
	} else if (document.getSelection) {
		txt = document.getSelection();
	} else if (document.selection) {
		txt = document.selection.createRange().text;
		if(txt == "") {
			getOldText(textarea, quoted, rowid);
			document.getElementById(textarea).focus();
		}
	} else {
//		if(rowid != 'undefined') {
//		}
		return;
	}
	if(txt != "") {
		if(quoted == "" || quoted == undefined) {
			txt = "<q>" + txt + "</q>";
		} else {
			txt = "<q cite=\"" + quoted + "\">" + txt + "</q>";
		}
		if(document.getElementById(textarea).value != "") {
			document.getElementById(textarea).value += "\n";
		}
		document.getElementById(textarea).value += txt + "\n";
		document.getElementById(textarea).focus();
	}
}

function makeHomie(homie) {
	if(confirm("Vill du skicka en kompisförfrågan till " + homie + "?")) {
		document.location = "/homeboys/" + homie + "/bli/";
	}
}

// Startup variables
var theSelection = false;

// 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);

styleTags = new Array(Array('<b>','</b>','Fetstil'), Array('<i>','</i>','Kursiv'), Array('<u>','</u>','Understrykning'), Array('<vänster>','</vänster>','Vänsterjusterad'), Array('<center>','</center>','Centrerad'), Array('<höger>','</höger>','Högerjusterad'), Array('<justerad>','</justerad>','Justerad'), Array('<spoiler>','</spoiler>','Dold text'), Array('<röd>','</röd>','Röd text'), Array('<grön>','</grön>','Grön text'), Array('<blå>','</blå>','Blå text'), Array('<rosa>','</rosa>','Rosa text'), Array('<vit>','</vit>','Vit text'), Array('<gul>','</gul>','Gul text'), Array('<länk>','</länk>','Hyperlänk'), Array('<lista>','</lista>','Lista'), Array('<a href="','">länk</a>','Snabb hyperlänk'), Array('','','Hyperlänk'), Array('','','Lista'), Array('', '[banner/]','Banner'));

function doStyle(sNum, edId) {
	if(edId == "") {
		edId = 'post_text';
	}
	editarea = document.getElementById(edId);
	editarea.focus();
	theSelection = false;

	if ((clientVer >= 4) && is_ie && is_win) {
		theSelection = document.selection.createRange().text;
		if (theSelection) {
			document.selection.createRange().text = styleTags[sNum][0] + theSelection + styleTags[sNum][1];
			editarea.focus();
			theSelection = '';
			return;
		}
	} else if (editarea.selectionEnd && (editarea.selectionEnd - editarea.selectionStart > 0)) {
		var selLength = editarea.textLength;
		var selStart = editarea.selectionStart;
		var selEnd = editarea.selectionEnd;
		if (selEnd == 1 || selEnd == 2) {
			selEnd = selLength;
		}
		var s1 = (editarea.value).substring(0,selStart);
		var s2 = (editarea.value).substring(selStart, selEnd)
		var s3 = (editarea.value).substring(selEnd, selLength);
		editarea.value = s1 + styleTags[sNum][0] + s2 + styleTags[sNum][1] + s3;
		return;
	}
//	alert("Slutet");
	editarea.value += styleTags[sNum][0] + styleTags[sNum][1];
	editarea.focus();
	storeCaret(editarea);
	return;
}

function getSelectedText(edId) {
	editarea = document.getElementById(edId);
	selText = editarea.value;
	theSelection = false;

	if ((clientVer >= 4) && is_ie && is_win) {
		theSelection = document.selection.createRange().text;
		if (theSelection && 1 == 2) {
			document.selection.createRange().text = styleTags[sNum][0] + theSelection + styleTags[sNum][1];
			editarea.focus();
			theSelection = '';
			return;
		}
	} else if (editarea.selectionEnd && (editarea.selectionEnd - editarea.selectionStart > 0)) {
		mozWrap(editarea, styleTags[sNum][0], styleTags[sNum][1]);
		return;
	}
	selText = theSelection;
	alert(selText);
}

// Insert at Claret position. Code from
// http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
function storeCaret(textEl) {
	if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}

function doURL() {
	edId = currArea;
	if(edId == "") {
		edId = 'post_text';
	}
	cUrl = document.getElementById('url').value;
	cDesc = document.getElementById('urlDesc').value;
	if(cUrl != "") {
		if(cDesc == "") {
			cDesc = cUrl;
		}
		styleTags[17][1] = '<a href=\"' + cUrl + '\" target=\"_blank\">' + cDesc + '</a>';
		doStyle(17, edId);
	}
}

function doLIST() {
	splitstr = document.getElementById('listarea').value;
	splitstr = escape(splitstr);
	for(i = 0; i<splitstr.length; i++) {
		if(splitstr.indexOf("%0D%0A") > -1) {
			splitstr = splitstr.replace("%0D", "");
		} else if(splitstr.indexOf("%0D") > -1) {
			splitstr = splitstr.replace("%0D", "%0A");
		}
	}
	splitstr = unescape(splitstr);
	splitarr = splitstr.split("\n");
	frm = document.getElementById('listform');
	for (var i = 0; i < frm.elements.length; i++) {
		var e = frm.elements[i];
		if (e.type == 'radio' && e.checked) {
			selRadio = e.id;
		}
	}
	switch(selRadio) {
		case "r1":
			start = "<ul type=\"disc\">";
			end = "</ul>";
			break;
		case "r2":
			start = "<ul type=\"circle\">";
			end = "</ul>";
			break;
		case "r3":
			start = "<ul type=\"square\">";
			end = "</ul>";
			break;
		case "r4":
			start = "<ol type=\"1\">";
			end = "</ol>";
			break;
		case "r5":
			start = "<ol type=\"a\">";
			end = "</ol>";
			break;
		case "r6":
			start = "<ol type=\"A\">";
			end = "</ol>";
			break;
		case "r7":
			start = "<ol type=\"i\">";
			end = "</ol>";
			break;
		case "r8":
			start = "<ol type=\"I\">";
			end = "</ol>";
			break;
		default:
			start = "<ul>";
			end = "</ul>";
			break;
	}

	var listdata = "";
	for(i in splitarr) {
		if(splitarr[i] != "") {
			listdata += '<li>' + splitarr[i]+ '</li>';
		}
	}
	if(listdata != "") {
		document.getElementById(currArea).value += start;
		document.getElementById(currArea).value += listdata;
		document.getElementById(currArea).value += end;
	}
}

ol_texts = new Array("<div class=\"popupDiv popupURL\"><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><thead><tr><td colspan=\"2\"><span>Lägg till en hyperlänk</span><span class=\"closePop\"><a href=\"javascript:void(0);\" onclick=\"nd();nd();\">[X]</a></span></td></tr></thead><tbody><tr><td colspan=\"2\"><label for=\"url\">Adress:</label>&nbsp;<a href=\"javascript:void(0);\" onclick=\"javascript:easenURL('url');\">Förenkla adress</a></td></tr><tr><td colspan=\"2\"><input type=\"text\" id=\"url\" value=\"http://\" /></td></tr><tr><td colspan=\"2\"><label for=\"urlDesc\">Länktext:</label></td></tr><tr><td colspan=\"2\"><input type=\"text\" id=\"urlDesc\" /></td></tr><!--<tr><td width=\"10\"><input type=\"checkbox\" id=\"useblank\" value=\"1\" checked=\"checked\" /></td><td><label for=\"useblank\">Öppna i nytt fönster</label></td></tr>--></tbody><tfoot><tr><td colspan=\"2\"><input type=\"button\" value=\"Lägg till länk\" onclick=\"javascript:doURL(); nd(); nd();\"/></td></tr></tfoot></table></div>","<div class=\"popupDiv popupLIST\"><form id=\"listform\"><table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><thead><tr><td colspan=\"6\"><span>Lägg till en lista</span><span class=\"closePop\"><a href=\"javascript:void(0);\" onClick=\"nd();nd();\">[X]</a></span></td></tr></thead><tbody><tr><td align=\"right\"><input type=\"radio\" id=\"r1\" name=\"listtype\" checked=\"checked\"></td><td><label for=\"r1\"><li type=\"disc\">&nbsp;</li></label></td><td align=\"right\"><input type=\"radio\" id=\"r2\" name=\"listtype\" ></td><td><label for=\"r2\"><li type=\"circle\">&nbsp;</li></label></td><td align=\"right\"><input type=\"radio\" id=\"r3\" name=\"listtype\" ></td><td><label for=\"r3\"><li type=\"square\">&nbsp;</li></label></td></tr><tr><td align=\"right\"><input type=\"radio\" id=\"r4\" name=\"listtype\" ></td><td><label for=\"r4\">1.</label></td><td align=\"right\"><input type=\"radio\" id=\"r5\" name=\"listtype\" ></td><td><label for=\"r5\">a.</label></td><td align=\"right\"><input type=\"radio\" id=\"r6\" name=\"listtype\" ></td><td><label for=\"r6\">A.</label></td></tr><tr><td align=\"right\"><input type=\"radio\" id=\"r7\" name=\"listtype\" ></td><td><label for=\"r7\">i.</label></td><td align=\"right\"><input type=\"radio\" id=\"r8\" name=\"listtype\" ></td><td><label for=\"r8\">I.</label></td><td align=\"right\"></td><td></td></tr><tr><td colspan=\"6\"><textarea id=\"listarea\"></textarea></td></tr></tbody><tfoot><tr><td colspan=\"6\"><input type=\"button\" value=\"Lägg till lista\" onclick=\"javascript:doLIST(); nd(); nd();\"/></td></tr></tfoot></table></form></div>");
var currCaret;
var currArea = "post_text";
function popUrl(editarea, relx, rely) {
	currArea = editarea;
	return overlib(INARRAY, 0, STICKY, CLOSECLICK, FULLHTML, FOLLOWSCROLL, RELX, relx, RELY, rely);
}
		
function popList(editarea, relx, rely) {
	currArea = editarea;
	return overlib(INARRAY, 1, STICKY, CLOSECLICK, FULLHTML, FOLLOWSCROLL, RELX, relx, RELY, rely);
}
		
function doPreview(frm) {
	oldAct = frm.action;
	oldTrg = frm.target;
	frm.action = '/tjuvkika';
	frm.target='tjuvkik';
	pars = "scrollbars=yes,resizable=yes,directories=no,location=no,menubar=no,toolbar=no,hotkeys=yes,status=no,width=866,height=300";
	prvWin = window.open('/empty', "tjuvkik", pars);
	frm.submit();
// 	prvWin.focus();
	frm.action = oldAct;
	frm.target = oldTrg;
}		

function confirmer(question, destination) {
	if(confirm(question)) {
		document.location = destination;
	}
}