function convertBRTags(text) {
	var newline = "\n";
	return text.replace(/\<br>/g, newline);	
}

function resetFields() {
	document.getElementById("imagesPreviewDiv").innerHTML = "";
	document.getElementById("headerPreviewDiv").innerHTML = "";
	document.getElementById("subHeaderPreviewDiv").innerHTML = "";
	document.getElementById("bodyLeftPreviewDiv").innerHTML = "";
	document.getElementById("bodyRightPreviewDiv").innerHTML = "";	
}

/* Trim  string, i.e. remove leading  white spaces. */
function trim(str) {
	var elem = document.getElementById(str).value;
	document.getElementById(str).value = elem.replace(/^\s+|\s+$/g, '');
}

function trimStr(str) {
	return str.replace(/^\s+|\s+$/g, '');
}


function validateFields(fldArr, labelArr, valTypeArr) {
	var str = "";

	for (i=0; i<fldArr.length; i++) {
		if (valTypeArr[i] == "isEmptyString") {
			if (document.getElementById(fldArr[i]).value == "") {	
				str = str + "Fältet '" + labelArr[i] + "' måste ha ett värde!\n";
			}
		}

		if (valTypeArr[i] == "isNumber") {
			if (!isNumber(document.getElementById(fldArr[i]).value)) {	
				str = str + "Fältet '" + labelArr[i] + "' är inte ett nummer!\n";
			}
		}
		
		if (valTypeArr[i] == "isImageChosen") {
			if (document.getElementById(fldArr[i]).value == "") {	
				str = str + "En bild för fältet '" + labelArr[i] + "' måste väljas!\n";
			}
		}
	}

	if (str == "") {
		return true;
	} else {
		alert(str);
		return false;
	}
}

function reloadImagePreviewDiv() {
	document.getElementById("imagesPreviewDiv").innerHTML = "<img src='" + document.getElementById('imageNames').value + "' style='border:none;width:500px' />";
}

function reloadHeaderPreviewDiv() {
	var editText = document.getElementById("header").value;
	document.getElementById("headerPreviewDiv").innerHTML = editText;
}

function reloadSubHeaderPreviewDiv() {
	var editText = document.getElementById("subHeader").value;
	document.getElementById("subHeaderPreviewDiv").innerHTML = editText;
}

/* Handle new lines and update the body left preview div. */
function reloadBodyLeftPreviewDiv() {
	var newline = /\n/g;
	var NewText = document.getElementById("bodyTextLeft").value;
	
	NewText = NewText.replace(newline, "<br />");
	document.getElementById("bodyLeftPreviewDiv").innerHTML = "&lt;<b>VÄNSTER KOLUMN</b>&gt;<br />" + NewText;
}

/* Handle new lines and update the body right preview div. */
function reloadBodyRightPreviewDiv() {
	var newline = /\n/g;
	var NewText = document.getElementById("bodyTextRight").value;
	
	NewText = NewText.replace(newline, "<br />");
	document.getElementById("bodyRightPreviewDiv").innerHTML = "&lt;<b>HÖGER KOLUMN</b>&gt;<br />" + NewText;
}

/* Call this function  with a reference to the html element, tag start and tag end. */
function formatText(el, tagstart, tagend) {	
	/* IF MOZILLA */
	if (el.setSelectionRange) {
		el.value = el.value.substring(0,el.selectionStart) + tagstart + el.value.substring(el.selectionStart,el.selectionEnd) + tagend + el.value.substring(el.selectionEnd,el.value.length)
	}
	/* IF MICROSOFT  INTERNET EXPLORER */
	else {
		var selectedText = document.selection.createRange().text;
	
		if (selectedText != "") {
			var newText = tagstart + selectedText + tagend;
			document.selection.createRange().text = newText;
		}
		else {
			el.focus(el.caretPos);
			el.caretPos = document.selection.createRange().duplicate();
			if(el.caretPos.text.length == 0) {
				el.caretPos.text = tagstart + tagend;
			}
		}
	}
}

function isNumber(str) {
	if (str.match(/^\d+$/)) {
		return true;
	} else {
		return false;
	}
}

function isUrl(str) {
	var v = new RegExp(); 
	v.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$");

	if (!v.test(str)) {
		return false;
	}
}

/* FUNCTION CALLED FROM MODAL WINDOW TO SET  AN A HREF TAG IN EDITOR WHEN USING MOZILLA */
function updateEditorAMozilla(fldVal, tArea) {
	var tagBeginning = fldVal;
	var tagEnding = "</a>";
	var el = document.getElementById(tArea);	
		
	if (el.setSelectionRange) {
		el.value = el.value.substring(0,el.selectionStart) + tagBeginning + el.value.substring(el.selectionStart,el.selectionEnd) + tagEnding + el.value.substring(el.selectionEnd,el.value.length)
	}
	el.focus();
}

/* FUNCTION FOR ADDING AN A HREF TAG IN EDITOR FOR LEFT COLUMN */
function formatTextLinkLeft(el,name) {
	/*  IF INTERNET EXPLORER */
	if (window.showModalDialog) {
		var myText = window.showModalDialog('../admin/choose_link_url_left.php', 
											'name', 
											'dialogWidth:530px;dialogHeight:180px');
		var selectedText = document.selection.createRange().text;

		if (selectedText != "") {
			var newText =  myText + selectedText + "</a>";
			document.selection.createRange().text = newText;
		}
		else {
			el.focus(el.caretPos);
			el.caretPos = document.selection.createRange().duplicate();
			if(el.caretPos.text.length == 0) {
				el.caretPos.text = myText + "</a>";
			}
		}		
	}
	/* IF MOZILLA */
	else {
		window.open('../admin/choose_link_url_left.php', 
					'name',  
					'height=180,width=530,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,modal=yes');
	}	
}

/* FUNCTION FOR ADDING AN A HREF TAG IN EDITOR FOR RIGHT COLUMN */
function formatTextLinkRight(el,name) {
	/*  IF INTERNET EXPLORER */
	if (window.showModalDialog) {
		var myText = window.showModalDialog('../admin/choose_link_url_right.php', 
											'name', 
											'dialogWidth:530px;dialogHeight:180px');
		var selectedText = document.selection.createRange().text;

		if (selectedText != "") {
			var newText =  myText + selectedText + "</a>";
			document.selection.createRange().text = newText;
		}
		else {
			el.focus(el.caretPos);
			el.caretPos = document.selection.createRange().duplicate();
			if(el.caretPos.text.length == 0) {
				el.caretPos.text = myText + "</a>";
			}
		}		
	}
	/* IF MOZILLA */
	else {
		window.open('../admin/choose_link_url_right.php', 
					'name',  
					'height=180,width=530,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,modal=yes');
	}	
}