function init() {
	hideDiv();
}


/* SUPERTEXTILE 
   This function is from Jeff Minard - http://www.creatimation.net/
    adapted from code by Stuart Langridge at http://www.kryogenix.org/
	nait: adapted from www.hicksdesign.co.uk
 */

function superTextile(s) {
    var r = s;
    // quick tags first
    qtags = [['\\*', 'strong'],
             ['\\?\\?', 'cite'],
             ['\\+', 'ins'],  //fixed
             ['~', 'sub'],   
             ['\\^', 'sup'], // me
             ['@', 'code']];
    for (var i=0;i<qtags.length;i++) {
        ttag = qtags[i][0]; htag = qtags[i][1];
        re = new RegExp(ttag+'\\b(.+?)\\b'+ttag,'g');
        r = r.replace(re,'<'+htag+'>'+'$1'+'</'+htag+'>');
    }
    // underscores count as part of a word, so do them separately
    re = new RegExp('\\b_(.+?)_\\b','g');
    r = r.replace(re,'<em>$1</em>');
	
	//jeff: so do dashes
    re = new RegExp('[\s\n]-(.+?)-[\s\n]','g');
    r = r.replace(re,'<del>$1</del>');

    // links
    re = new RegExp('"\\b(.+?)\\(\\b(.+?)\\b\\)":([^\\s]+)','g');
    r = r.replace(re,'<a href="$3" title="$2">$1</a>');
    re = new RegExp('"\\b(.+?)\\b":([^\\s]+)','g');
    r = r.replace(re,'<a href="$2">$1</a>');

    // images
    re = new RegExp('!\\b(.+?)\\(\\b(.+?)\\b\\)!','g');
    r = r.replace(re,'<img src="$1" alt="$2">');
    re = new RegExp('!\\b(.+?)\\b!','g');
    r = r.replace(re,'<img src="$1">');
    
    // block level formatting
	
		// Jeff's hack to show single line breaks as they should.
		// insert breaks - but you get some....stupid ones
	    re = new RegExp('(.*)\n([^#\*\n].*)','g');
	    r = r.replace(re,'$1<br />$2');
		// remove the stupid breaks.
	    re = new RegExp('\n<br />','g');
	    r = r.replace(re,'\n');
	
    lines = r.split('\n');
    nr = '';
    for (var i=0;i<lines.length;i++) {
        line = lines[i].replace(/\s*$/,'');
        changed = 0;
        if (line.search(/^\s*bq\.\s+/) != -1) { line = line.replace(/^\s*bq\.\s+/,'\t<blockquote>')+'</blockquote>'; changed = 1; }
		
		// jeff adds h#.
        if (line.search(/^\s*h[1-6]\.\s+/) != -1) { 
	    	re = new RegExp('h([1-6])\.(.+)','g');
	    	line = line.replace(re,'<h$1>$2</h$1>');
			changed = 1; 
		}
		
		if (line.search(/^\s*\*\s+/) != -1) { line = line.replace(/^\s*\*\s+/,'\t<liu>') + '</liu>'; changed = 1; } // * for bullet list; make up an liu tag to be fixed later
        if (line.search(/^\s*#\s+/) != -1) { line = line.replace(/^\s*#\s+/,'\t<lio>') + '</lio>'; changed = 1; } // # for numeric list; make up an lio tag to be fixed later
        // if (!changed && (line.replace(/\s/g,'').length > 0)) line = '<p>'+line+'</p>'; 
        if (!changed && (line.replace(/\s/g,'').length > 0)) line = ''+line+'';
        lines[i] = line + '\n';
    }
	
    // Second pass to do lists
    inlist = 0; 
	listtype = '';
    for (var i=0;i<lines.length;i++) {
        line = lines[i];
        if (inlist && listtype == 'ul' && !line.match(/^\t<liu/)) { line = '</ul>\n' + line; inlist = 0; }
        if (inlist && listtype == 'ol' && !line.match(/^\t<lio/)) { line = '</ol>\n' + line; inlist = 0; }
        if (!inlist && line.match(/^\t<liu/)) { line = '<ul>' + line; inlist = 1; listtype = 'ul'; }
        if (!inlist && line.match(/^\t<lio/)) { line = '<ol>' + line; inlist = 1; listtype = 'ol'; }
        lines[i] = line;
    }

    r = lines.join('\n');
	// jeff added : will correctly replace <li(o|u)> AND </li(o|u)>
    r = r.replace(/li[o|u]>/g,'li>');

// x
// x
// x replace_quote...
// x
// x
/*
		# fix selve postens innhold :
		$post_body = $row['post'];
		$post_body = preg_replace("/\[quote=\"(.*?)\"\]/",
								  "<div id=quotewrapper><div id=quoted>Sitat fra: \\1</div><div id=quotebody>",
								  $post_body);
		$post_body = preg_replace("/\[\/quote\]/","</div></div>",$post_body);
		$post_body = preg_replace("/\r/","<br>",$post_body);

	quote = new RegExp('\\[quote="(.+?)"\\]','g');
	r = r.replace(quote,'<div id=quotewrapper><div id=quoted>Sitat fra: $1</div><div id=quotebody>');
	quote = new RegExp('\\[/quote\\]','g');
	r = r.replace(quote,'</div></div>');
*/
    return r;
}



function loginbox() {
	var maybe = 0;
	//if (window.open("/login.php?js=1","login",'width=475,height=250,resizable=1 toolbar=0,scrollbars=0,menubar=0,location=0,directories=0,status=0')) {
	if (window.open("/login.php?js=1","login",'width=475,height=280,resizable=1 toolbar=0,scrollbars=0,menubar=0,location=0,directories=0,status=0')) {
		return false;
	} else {
		return true;
	}
}

/*
function fontsizeup() {
  active = getActiveStyleSheet();
  switch (active) {
    case 'A--' : 
      setActiveStyleSheet('A-');
      break;
    case 'A-' : 
      setActiveStyleSheet('A');
      break;
    case 'A' : 
      setActiveStyleSheet('A+');
      break;
    case 'A+' : 
      setActiveStyleSheet('A++');
      break;
    case 'A++' :
      break;
    default :
      setActiveStyleSheet('A');
      break;
  }
}

function fontsizedown() {
  active = getActiveStyleSheet();
  switch (active) {
    case 'A++' : 
      setActiveStyleSheet('A+');
      break;
    case 'A+' : 
      setActiveStyleSheet('A');
      break;
    case 'A' : 
      setActiveStyleSheet('A-');
      break;
    case 'A-' : 
      setActiveStyleSheet('A--');
      break;
    case 'A--' : 
       break;
    default :
      setActiveStyleSheet('A--');
      break;
  }
}
*/

/*
function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  return ('A-');
}
*/
function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function deleteCookie( name, path, domain ) {
if (readCookie(name))
	document.cookie = name + "=" + ((path)?";path=" + path : "") +(( domain) ? ";domain=" + domain : "" ) + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

/*
function cookieme() {
	var cookie = readCookie("style");
	var title = cookie ? cookie : getPreferredStyleSheet();
	setActiveStyleSheet(title);
}
window.onload = function(e) {
	cookieme();
	if (self.loadmore) {loadmore();}
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
if (title == 'null') {
  title = getPreferredStyleSheet();
}

*/

window.onload = function(e) {
	//cookieme();
	if (self.loadmore) {loadmore();}
}

//setActiveStyleSheet(title);
var state = 'show';
function showDiv() {
	if(state=='show')
	{
		if (document.getElementById) { // DOM3 = IE5, NS6
			document.getElementById('hideshow').style.visibility = 'visible';
			document.getElementById('hideshow').style.display = 'block';
		}
		else {
			if (document.layers) { // Netscape 4
				document.hideshow.visibility = 'visible';
				document.hideshow.display = 'inherit';
			}
			else { // IE 4
				document.all.hideshow.style.visibility = 'visible';
				document.all.hideshow.style.display = 'block';
			}
		}
		
		state = 'hide';
	} else if(state=='hide') {
		hideDiv("hideshow");
		state = 'show';
	}
	
		document.getElementById('hideshow').scrollIntoView();

} 

function hideDiv(name) {
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(name).style.visibility = 'hidden';
		document.getElementById(name).style.display = 'none';
	}
	else {
		if (document.layers) { // Netscape 4
			document.name.visibility = 'hidden';
			document.name.display = 'none';
		}
		else { // IE 4
			document.all.name.style.visibility = 'hidden';
			document.all.name.style.display = 'none';
		}
	}
}

function showDivTag(name)
{
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(name).style.visibility = 'visible';
		document.getElementById(name).style.display = 'block';
	}
	else {
		if (document.layers) { // Netscape 4
			document.name.visibility = 'visible';
			document.name.display = 'inherit';
		}
		else { // IE 4
			document.all.name.style.visibility = 'visible';
			document.all.name.style.display = 'block';
		}
	}

}

var myArray = [];
//var rediger_show = 'show';
function showDiv_rediger(name) {
	
	//skjekker først om knappen var trykket før
	var isthere = 'false';
	for(i in myArray)
	{
		if(i==name)
		{
			/*myArray[name] = 'false';
			show = 'false';*/
			isthere='true';
		} 
	} 
	
	if(isthere=='false') {
		myArray[name]='true';
	}
	
	if(myArray[name]=='true')
	{
		if (document.getElementById) { // DOM3 = IE5, NS6
			document.getElementById(name).style.visibility = 'visible';
			document.getElementById(name).style.display = 'block';
		}
		else {
			if (document.layers) { // Netscape 4
				document.name.visibility = 'visible';
				document.name.display = 'inherit';
			}
			else { // IE 4
				document.all.name.style.visibility = 'visible';
				document.all.name.style.display = 'block';
			}
		}
		
		myArray[name] = 'false';	
	} else if(myArray[name]=='false') {
		hideDiv(name);
		myArray[name] = 'true';
	}
	
}

var rediger_show2 = 'show';
var myArray2 = [];
function showDiv_rediger2(name) {
	
	var isthere = 'false';
	for(i in myArray2)
	{
		if(i==name)
		{
			isthere='true';
		} 
	} 
	
	if(isthere=='false') {
		myArray2[name]='true';
	}
	
	if(myArray2[name]=='true')
	{
		if (document.getElementById) { // DOM3 = IE5, NS6
			document.getElementById(name).style.visibility = 'visible';
			document.getElementById(name).style.display = 'block';
		}
		else {
			if (document.layers) { // Netscape 4
				document.name.visibility = 'visible';
				document.name.display = 'inherit';
			}
			else { // IE 4
				document.all.name.style.visibility = 'visible';
				document.all.name.style.display = 'block';
			}
		}
		
		myArray2[name]='false';
	} else if(myArray2[name]=='false') {
		hideDiv(name);
		myArray2[name]='true';
	}
	
}


//Ajax
var xmlHttp;
var ff='true';
var txtHint;
var ajaxArray =[];
function showMessage(user_id, msg_id)
{
	txtHint = msg_id;
		
	//skjekker først om knappen var trykket før
	var isthere = 'false';
	for(i in ajaxArray)
	{
		if(i==msg_id)
		{
			isthere='true';
		} 
	} 
	
	if(isthere=='false') {
		ajaxArray[msg_id]='true';

		//alert ("Vi er her:"+msg_id);
		xmlHttp=GetXmlHttpObject();
		if (xmlHttp==null)
		{
		 	alert ("Browser does not support HTTP Request");
		 	return;
		}
		var url="getmsg.php";
		url=url+"?user_id="+user_id;
		url=url+"&msg_id="+msg_id;
		xmlHttp.onreadystatechange=stateChanged;
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
		
		showHideAjax(msg_id);
		
		var vara="a"+msg_id;
		var varb="b"+msg_id;
		var varc="c"+msg_id;
		document.getElementById(vara).style.color = "#000000";
		document.getElementById(varb).style.color = "#000000";
		document.getElementById(varc).style.color = "#000000";
		
	} else if(isthere='true') {
		showHideAjax(msg_id);
	}
}
	
function stateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
	 document.getElementById(txtHint).innerHTML=xmlHttp.responseText ;
	} 
}
	
function GetXmlHttpObject()
{
	var xmlHttp=null;
	try
	 {
	 // Firefox, Opera 8.0+, Safari
	 xmlHttp=new XMLHttpRequest();
	 }
	catch (e)
	 {
	 //Internet Explorer
	 try
	  {
	  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	  }
	 catch (e)
	  {
	  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	 }
	return xmlHttp;
}

function showHideAjax(name)
{
	//alert("HEr");
	if(ajaxArray[name]=='true')
	{
		showDivTag(name);
		ajaxArray[name] = 'false';	
	} else if(ajaxArray[name]=='false') {
		hideDiv(name);
		ajaxArray[name] = 'true';
	}
}

