function deleteNews(newsId) {
	var form = document.forms[0];
	var message_1 = form.message_1.value;
		
	if (confirm(message_1)) {
		form.action += "&saveaction=delete&newsId=" + newsId;
		submitForm(0);
	}
}

function saveNews(newsId, roleLevel) {
	var form = document.forms[0];
	var message_1 = form.message_1.value;
	var message_2 = form.message_2.value;
	var message_3 = form.message_3.value;
	var message_4 = form.message_4.value;
	var message_5 = form.message_5.value;
	var message_6 = form.message_6.value;
	var message_7 = form.message_7.value;
	var message_8 = form.message_8.value;
	var message_9 = form.message_9.value;
	var message_10 = form.message_10.value;
	var message_11 = form.message_11.value;	
	var message_12 = form.message_12.value;	
	var counter = 0;
	var unitcounter = 0;
	var tempcounter = 0;
	
	if (form.operationId != null)
	{
		if (form.operationId.value == '*,(empty)')
		{
			alert(message_11);
			return;	
		}
	}
		
	var anonym_selected=false;
	for (i=0; i < form.roleId.length; i++)
	{
		if (form.roleId.options[i].selected)
		{
			tempcounter += 1;
			if (form.roleId.options[i].value==700)
			{
				anonym_selected=true;
			}
		}
	}
	
	//if(form.rolelevel.value == 'Sysadmin')
	//{
		if (form.unitId != null)
		{
			if (form.unitId.value == '' && anonym_selected==false)
			{
				alert(message_9);
				return;	
			}
		}
	//}
	
	if (form.roleId.value == null || form.roleId.value == '')
	{
		alert(message_12);
		return;	
	}
	
	if (form.StartDate.value == "" || checkDateFormat(form.StartDate.value) == false) {
		alert(message_1);
		return;
	}
	
	if (form.EndDate.value == "" || checkDateFormat(form.EndDate.value) == false) {
		alert(message_2);
		return;
	}
		
	if(form.EndDate.value < form.StartDate.value){
				alert(message_3);
				return;
	}
			
	if (form.Header.value == "") {
		alert(message_4);
		return;
	}
	
	if (form.Preamble.value == "") {
		alert(message_5);
		return;
	}
	
	if (form.Preamble.value.length > 255) {
		alert(message_6);
		return;
	}
	
	if (form.Body.value == "") {
		alert(message_7);
		return;
	}
	
	if (form.Body.value.length > 2047) {
		alert(message_8);
		return;
	}
		
	//Ändra < och > till &lt; och &gt; vid MarkUp fält
	var txtPreamble = form.Preamble.value;
	txtPreamble=changeCharacter(txtPreamble);
	if (txtPreamble=='false')
	{
		alert(message_10);
		return;	
	}
	else
	{
		form.Preamble.value=txtPreamble;	
	}
	
	var txtBody = form.Body.value;
	txtBody=changeCharacter(txtBody);
	if (txtBody=='false')
	{
		alert(message_10);
		return;	
	}
	else
	{
		form.Body.value=txtBody;	
	}
	
	//ENHETER	- Admin
	// Kan bara lägga upp på sin egen enhet
	if(form.rolelevel.value == 'Admin' || form.rolelevel.value == 'TeacherGR' || form.rolelevel.value == 'Teacher')
	{
		addField(form, 'UnitId$' + 1, form.unitId.value);	
		addField(form, 'insertunitcounter', 1);
	}
	
	//ENHETER	- Sysadmin
	if(form.rolelevel.value == 'Sysadmin')
	{
		for (j=0; j < form.unitId.length; j++)
		{
			if (form.unitId.options[j].selected)
			{
				unitcounter += 1;
				addField(form, 'UnitId$' + unitcounter, form.unitId.options[j].value);
			
				if (newsId == '')
				{
					addField(form, 'NewsId$' + unitcounter, form.new_newsId.value);
				}
				else
				{
					addField(form, 'NewsId$' + unitcounter, newsId);
				}
			}
		}
		if (unitcounter > 0)
		{
			addField(form, 'insertunitcounter', unitcounter);
		}
	}
	//ROLLER
	for (i=0; i < form.roleId.length; i++)
	{
		if (form.roleId.options[i].selected)
		{
			counter += 1;
			addField(form, 'RoleId$' + counter, form.roleId.options[i].value);
			if (newsId == '')
			{
				addField(form, 'NewsId$' + counter, form.new_newsId.value);
			}
			else
			{
				addField(form, 'NewsId$' + counter, newsId);
			}
		}
	}
		
	
	if (counter > 0)
	{
		addField(form, 'insertcounter', counter);
	}
	else
	{
		alert(message_12);	
		return;
	}


	if (anonym_selected==true)
	{
		addField(form,'fk_Operation', form.operationId.value); 	
	}
	else
	{
		addField(form,'fk_Operation', ''); 	
	}
	//Länken ska tömmas om om den inte fylls i
	if (form.Link.value == 'http://') {
		form.Link.value = '';
	}	
	
	if (newsId == "") {
		if (roleLevel == "Sysadmin") 
		{	
			form.action += "&saveaction=insert_sysadmin";				
		}
		else
			form.action += "&saveaction=insert";
	}
	else	
		if (anonym_selected==true)
		{
			form.action += "&saveaction=updateAnonymous&newsId=" + newsId; 	
		}
		else
		{
			form.action += "&saveaction=updateNonAnonymous&newsId=" + newsId;	
		}

	if (form.check_back!=null && form.check_back!='')
	{
		form.check_back.value=1;	
	}
		
	//alert(form.action);
	//form.action = 'debuginfo.jsp';
	submitForm(0);
}

function changeCharacter(strValue)
{	
	// för att ändra alla < och > som inte räknas som taggar
	var re = /<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'))?)+\s*|\s*)\/?>/i,m;
		
  var strOld=strValue;
  var strOld1=strValue;
  var strOld2=strValue;
  var strOld3=strValue;
  var strNew='';
  var strNew1='';
  var strNew2='';
  var strNew3='';
  var strIndex=0;
  
  // kontrollera antalet </ />
	var re1 = /<\/\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?')\s*|[^\/])?)+\s*|\s*)\/>/i,m;
  strIndex=0;
  var counter1 = 0;
  var m1 = re1.exec(strOld1);
  while (m1 != null)
  {
  	counter1 = counter1 + 1;
  	strIndex = m1.lastIndex;
  	strNew2 = strNew1 + strOld1.slice(m1.index,strIndex);
  	strOld1 = strOld1.slice(strIndex);
  	m1 = re1.exec(strOld1);
 	}
 	
  // kontrollera antalet < >
	var re2 = /<\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'))?)+\s*|\s*)>/i,m;
  strIndex=0;
  var counter2 = 0;
  var m2 = re2.exec(strOld2);
  while (m2 != null)
  {
  	counter2 = counter2 + 1;
  	strIndex = m2.lastIndex;
  	strNew2 = strNew2 + strOld2.slice(m2.index,strIndex);
  	strOld2 = strOld2.slice(strIndex);
  	m2 = re2.exec(strOld2);
 	}
  
  // kontrollera antalet </  >
	var re3 = /<\/+\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'))?)+\s*|\s*)>/i,m;
 	strIndex=0;
  var counter3 = 0;
  var m3 = re3.exec(strOld3);
  while (m3 != null)
  {
  	counter3 = counter3 + 1;
  	strIndex = m3.lastIndex;
  	strNew3 = strNew3 + strOld3.slice(m3.index,strIndex);
  	strOld3 = strOld3.slice(strIndex);
  	m3 = re3.exec(strOld3);
 	}
  
  //kontroll för att se om html är skapad rätt
  if (counter1>0 || counter2 != counter3)
  {
  	return "false";
  }
  
  var strBetween='';
  var m = re.exec(strOld);
  strIndex=0;
  if (m!=null)
  {
	  while (m != null)
	 	{
	  	strIndex=m.lastIndex;
	  	if (m.index != 0)
	  	{
	  		strBetween = strOld.slice(0,m.index);	
	  		strNew=strNew + replaceChar(strBetween);
	  	}
	  	strNew = strNew + strOld.slice(m.index,strIndex);
	  	strOld = strOld.slice(strIndex);
	  	m = re.exec(strOld);
	  }
	  if (strOld != '' && strOld != null)
	  {
	  	strNew = strNew + replaceChar(strOld);
	  }
	 }
	 else
	 {
	 	strNew=replaceChar(strValue);
	 }
  return strNew;
}

function replaceChar(strIn)
{
	while (strIn.indexOf(">") > -1)
 			{strIn = strIn.replace(">","&gt;");}	
	while (strIn.indexOf("<") > -1)
 			{strIn = strIn.replace("<","&lt;");}
 	return strIn;
}

function controlOnLoad()
{
	if (document.forms[0] != null)
	{
		var oForm=document.forms[0];
		if (oForm.check_back!=null)
		{
			if (oForm.check_back.value==1 || oForm.check_back.value=='1')	
			{
				history.forward();
			}
		}
	}
}

function operationId_change()
{
	var oForm=document.forms[0];
	if (oForm.unitId!=null)
	{
		oForm.unitId.value='*,(empty)';
	}
	submitForm(0);
}

function copyNews(newsId,anonymous)
{
	var oForm=document.forms[0];
	oForm.action += "&copyNews=1&newsId="+newsId+'&anonymous='+anonymous;
	
	submitForm(0);
}

function addField (form, fieldName, fieldValue) {
  if (document.getElementById) {
    var input = document.createElement('INPUT');
      if (document.all) { // what follows should work 
                          // with NN6 but doesn't in M14
        input.type = "hidden";
        input.name = fieldName;
        input.value = fieldValue;
      }
      else if (document.getElementById) { // so here is the
                                          // NN6 workaround
        input.setAttribute('type', "hidden");
        input.setAttribute('name', fieldName);
        input.setAttribute('value', fieldValue);
      }
    form.appendChild(input);
  }
}

