
function findPosY2(obj)
{
	var curtop = 0;
	if(obj.offsetParent)
		while(1)
		{
		  curtop += obj.offsetTop;
		  if(!obj.offsetParent)
			break;
		  obj = obj.offsetParent;
		}
	else if(obj.y)
		curtop += obj.y;
	return curtop;
}

function initFB()
{
	window.fbAsyncInit = function() { 
		FB.init({appId: '111185558908946', status: true, cookie: true, xfbml: true});
	};
	(function() 
	{
		var e = document.createElement('script'); e.async = true;
		e.src = document.location.protocol + '//connect.facebook.net/nb_NO/all.js';
		document.getElementById('fb-root').appendChild(e);
	}());
}

function fbLikeBox()
{
	var fbDiv = document.getElementById("fbbx");
	var fbHTML = fbDiv.innerHTML;
	var fbHTML = fbHTML.replace(/<!-- FBML /g, "");
	var fbHTML = fbHTML.replace(/ FBML -->/g, "");    
	fbDiv.innerHTML = fbHTML;
}

function minCollapse( div )
{
	
	var div = document.getElementById(div);
	
	if (div.style.display == 'none')
	{	
		div.style.display = 'block';
	}
	else
	{
		div.style.display = 'none';
	}
		
}

function checkField( value )
{
	if(value != "")
	{
		return true;
	}
	else
	{
		alert("Feltet er tomt!");
		return false;
	}
	 
}

function get_selection(the_id)
{
    var e = document.getElementById(the_id);

    //Mozilla and DOM 3.0
    if('selectionStart' in e)
    {
        var l = e.selectionEnd - e.selectionStart;
        return { start: e.selectionStart, end: e.selectionEnd, length: l, text: e.value.substr(e.selectionStart, l) };
    }
    //IE
    else if(document.selection)
    {
        e.focus();
        var r = document.selection.createRange();
        var tr = e.createTextRange();
        var tr2 = tr.duplicate();
        tr2.moveToBookmark(r.getBookmark());
        tr.setEndPoint('EndToStart',tr2);
        if (r == null || tr == null) return { start: e.value.length, end: e.value.length, length: 0, text: '' };
        var text_part = r.text.replace(/[\r\n]/g,'.'); //for some reason IE doesn't always count the \n and \r in the length
        var text_whole = e.value.replace(/[\r\n]/g,'.');
        var the_start = text_whole.indexOf(text_part,tr.text.length);
        return { start: the_start, end: the_start + text_part.length, length: text_part.length, text: r.text };
    }
    //Browser not supported
    else return { start: e.value.length, end: e.value.length, length: 0, text: '' };
}

function replace_selection(the_id,replace_str)
{
    var e = document.getElementById(the_id);
    selection = get_selection(the_id);
    var start_pos = selection.start;
    var end_pos = start_pos + replace_str.length;
    e.value = e.value.substr(0, start_pos) + replace_str + e.value.substr(selection.end, e.value.length);
    set_selection(the_id,start_pos,end_pos);
    return {start: start_pos, end: end_pos, length: replace_str.length, text: replace_str};
}

function set_selection(the_id,start_pos,end_pos)
{
    var e = document.getElementById(the_id);
    
    //Mozilla and DOM 3.0
    if('selectionStart' in e)
    {
        e.focus();
        e.selectionStart = start_pos;
        e.selectionEnd = end_pos;
    }
    //IE
    else if(document.selection)
    {
        e.focus();
        var tr = e.createTextRange();
        
        //Fix IE from counting the newline characters as two seperate characters
        var stop_it = start_pos;
        for (i=0; i < stop_it; i++) if( e.value[i].search(/[\r\n]/) != -1 ) start_pos = start_pos - .5;
        stop_it = end_pos;
        for (i=0; i < stop_it; i++) if( e.value[i].search(/[\r\n]/) != -1 ) end_pos = end_pos - .5;
        
        tr.moveEnd('textedit',-1);
        tr.moveStart('character',start_pos);
        tr.moveEnd('character',end_pos - start_pos);
        tr.select();
    }
    return get_selection(the_id);
}

function wrap_selection(the_id, left_str, right_str, sel_offset, sel_length)
{
    var the_sel_text = get_selection(the_id).text;
    var selection =  replace_selection(the_id, left_str + the_sel_text + right_str );
    if(sel_offset !== undefined && sel_length !== undefined) selection = set_selection(the_id, selection.start +  sel_offset, selection.start +  sel_offset + sel_length);
    else if(the_sel_text == '') selection = set_selection(the_id, selection.start + left_str.length, selection.start + left_str.length);
    return selection;
}

function showhidebox( box, nobox, from )
{
	var boxen = document.getElementById( box );
	if( boxen.style.display == 'none' )
	{
		boxen.style.display = "block";
	}
	else
	{
		boxen.style.display = "none";
	}
	document.getElementById(nobox).style.display = 'none';
	if( box == "newlink" )
	{
		if( from != "" )
		{
			var seltext = get_selection( from );
			document.getElementById('newlinktext').value = seltext['text'];

			/* IE sux so we have to store left and right string in hidden variabels to keep the selection */
			if(document.selection)
			{
				var attname = document.getElementById(from);
				attname.focus();
				var r = document.selection.createRange();
				var tr = attname.createTextRange();
				var tr2 = tr.duplicate();
				tr2.moveToBookmark(r.getBookmark());
				tr.setEndPoint('EndToStart',tr2);
				var left_str = "";
				var right_str = ""; 
				if (r == null || tr == null)
				{
				}
				else
				{
					var text_part = r.text.replace(/[\r\n]/g,'.'); 
					var text_whole = attname.value.replace(/[\r\n]/g,'.');
					var the_start = text_whole.indexOf(text_part,tr.text.length);
		
					var left_str = attname.value.substr(0, the_start);
					var right_str = attname.value.substr(the_start + text_part.length); 
				}
				document.getElementById('qc_ie_left').value = left_str;
				document.getElementById('qc_ie_right').value = right_str;
			}

		}
	}
}

/*
function insertlink(from,url,txt,box,nobox)
{
	var attname = document.getElementById(from);
	var urlvalue = document.getElementById(url).value;
	var txtvalue = document.getElementById(txt).value;
	var newlink = "";
	if( txtvalue == "")
	{
		txtvalue = urlvalue;
	}
	if( urlvalue.indexOf("http://") != -1)
	{	

		if(document.selection)
		{
			attname.value = attname.value + '<a href="' + urlvalue + '" target="_blank">' + txtvalue + '</a>';
		}
		else
		{
			newlink = '<a href="' + urlvalue + '" target="_blank">' + txtvalue + '</a>';
			wrap_selection( from, newlink, '' );
		}
		document.getElementById(box).style.display = 'none';
	}
	else
	{
		alert("Urlen har ikke formatet http://");
	}
}
*/

function insertlink(from,url,txt,box,nobox)
{
	var attname = document.getElementById(from);
	var urlvalue = document.getElementById(url).value;
	var txtvalue = document.getElementById(txt).value;
	var newlink = "";
	if( txtvalue == "")
	{
		txtvalue = urlvalue;
	}
	if( urlvalue.indexOf("http://") != -1)
	{	
		
		newlink = '<a href="' + urlvalue + '" target="_blank">' + txtvalue + '</a> ';

		if('selectionStart' in attname )
		{
			var sel = get_selection(from);
			var left_str = attname.value.substr(0, sel.start);
			var right_str = attname.value.substr(sel.end); 

			attname.value = left_str + newlink + right_str;
		
		}
		else if(document.selection)
		{
			var left_str = document.getElementById('qc_ie_left').value;
			var right_str = document.getElementById('qc_ie_right').value;

			attname.value = left_str + newlink + right_str;
		}
		else
		{
			attname.value = attname.value + newlink;
		}

		document.getElementById(box).style.display = 'none';
	}
	else
	{
		alert("Urlen har ikke formatet http://");
	}
}


function insertimage(from,src,box,nobox)
{
	var attname = document.getElementById(from);
	var srcvalue = document.getElementById(src).value;
	var newsrc = "";
	if( srcvalue.indexOf("http://") != -1)
	{	
		if(document.selection)
		{
			attname.value = attname.value + '<img src="' + srcvalue + '" alt="" />';
		}
		else
		{
			newsrc = '<img src="' + srcvalue + '" alt="" />';
			wrap_selection( from, newsrc ,'');
			document.getElementById(box).style.display = 'none';
		}
	}
	else
	{
		alert("Bildestien inneholder ikke http://");
	}
}

