var IE = (document.all ? true : false);
var FX = navigator.userAgent.indexOf("Firefox") != -1;

var fadeVal = 1;
var currentAlpha = 0;
var msgFocus = false;
var ignoreDynamicTitle = "";

function getElement(ID)
{
	if (IE)
	{
		return document.all[ID];
	}
	else
	{
		return document.getElementById(ID);
	}
}


function insertText(NAME,BEFORE,REPLACE,AFTER) 
{
    var OBJ;
    
    if (IE) 
    {
    	OBJ = document.all[NAME];
	    OBJ.focus();
	    var selection = document.selection;
	    var range = selection.createRange();
	    range.collapse;
	    range.text = BEFORE + range.text + AFTER;
    }
    else 
    {
    	OBJ = document.getElementById(NAME);
    	OBJ.focus();
		var len = OBJ.value.length;
        var first = OBJ.value.substring(0,OBJ.selectionStart);
        var middle = OBJ.value.substring(OBJ.selectionStart,OBJ.selectionEnd);
        var last = OBJ.value.substring(OBJ.selectionEnd,OBJ.value.length);

       OBJ.value = first + BEFORE + middle + AFTER + last;
    }
}

function openwin(WIDTH,HEIGHT,URL,NAME) 
{
	var top = (screen.height - WIDTH)/2;
	var left = (screen.width - HEIGHT)/2;
	var settings = "width=" + WIDTH + ", height=" + HEIGHT + ", top=" + top + ", left=" + left + ", scrollbars=0, toolbar=0, resizable=0";	
	var backref = window.open(URL,NAME,settings);
}

function compose(USER,TITLE) 
{
    openwin(400,300,'standalone/composemsg.php?user=' + USER + '&title=' + TITLE,'msg_' + USER);
}

function viewmsg(ID) 
{
	openwin(400,300,'standalone/viewmsg.php?ID=' + ID,'msg_' + ID);
}

function checkAll(form) 
{
	var inputs = document.getElementById(form).getElementsByTagName("input");
	for (var i = 0; i < inputs.length; i++)
	{
		var attr = inputs[i].getAttribute("type").toString();
		if (attr == 'checkbox')
		{
			inputs[i].checked = true;
		}
	}
}

function edit(ID,NAME)
{
    var OBJ = getElement(NAME);
    var EDIT = getElement('edit');

    EDIT.value = ID;
    OBJ.value = eval('comment' + ID);
    self.location = "#postcomment";
    	
}

function addQuickSearch()
{
  if ((typeof window.sidebar == "object") && (typeof window.sidebar.addSearchEngine == "function")) {
    window.sidebar.addSearchEngine(
      "http://www.omFilm.net/standalone/search/omfilm.src",
      "http://www.omfilm.net/img/icons/favicon.ico","omFilm.net","Film, TV & Video");
  } 
  else 
  {
    alert("Du måste ha en mozilla-baserad webläsare för att installera denna plugin");
  }	
}

function reloadImagePreview(url)
{
	var date = new Date();
	var img = getElement('userimage');
	img.src = url + "&t=" + date.getTime();
}

function showHide(NAME)
{
	var OBJ = getElement(NAME);
    
    if (OBJ.style.visibility == 'hidden')
    {
		showBlock(NAME);
    }
    else
    {
     	hideBlock(NAME);	
    }
}

function showBlock(NAME)
{
	var OBJ = getElement(NAME);
    	
    OBJ.style.visibility = 'visible';
    OBJ.style.display = 'block';	
}

function hideBlock(NAME)
{
	var OBJ = getElement(NAME);
    
    OBJ.style.visibility = 'hidden';
    OBJ.style.display = 'none';  		
}

function fadeTitleIn() 
{
	if (FX)
	{
		fadeVal = 2;
		fadeTitle();
	}
}

function fadeTitleOut()
{
	if (FX)
	{
		fadeVal = -2;
		fadeTitle();
	}
}

function fadeTitle() 
{
	currentAlpha = currentAlpha + fadeVal;
	if (currentAlpha > 100) {
		currentAlpha = 100;
		changeAlpha('movietitle',currentAlpha);
	}
	else if (currentAlpha < 0) {
		currentAlpha = 0;
		changeAlpha('movietitle',currentAlpha);
	}
	else
	{
		changeAlpha('movietitle',currentAlpha);
		setTimeout('fadeTitle()',10);
	}
}

function changeAlpha(ID,OPACITY) 
{
 	var OBJ = getElement(ID);
    if (FX) 
    {
    	OBJ.style.MozOpacity = (OPACITY / 100);
    } 
    
    if (OPACITY == 0)
    {
    	OBJ.style.visibility = 'hidden';
    } 
    else
    {	
    	OBJ.style.visibility = 'visible';	
    }
}

function vote(VAL)
{
	if (VAL == 1 || VAL == 10)
	{
		var conf = confirm('Du håller på att rösta högsta eller lägsta betyget.\nÄr du säker på du vill ge denna film detta betyg?');
		if (!conf)
		{	
			return;	
		}
	}
	
	var OBJ = getElement('vote');
	OBJ.votenum.value = VAL;
	OBJ.submit();
}

function censur(VAL)
{
	var OBJ = getElement('censur');
	OBJ.commentID.value = VAL;
	OBJ.submit();
}

function quote(USER,ID)
{
	insertText('msg','','','[Citera=' + USER + ']' + eval('comment' + ID) +'[/Citera]');
}

function accept(TYPE,ID)
{
	var FORM = document.accept;
	FORM.type.value = TYPE;
	FORM.id.value = ID;
	FORM.accept.value = 'yes';
	FORM.submit();
}

function censurComment(ID,Status)
{
	var FORM = document.censur;
	FORM.id.value = ID;
	if (Status == 1)
	{
		FORM.permanent.value = !confirm('Ska censureringen hävas vid redigering?');
		FORM.reason.value = prompt("Anledning till censurering (skickas till användaren i pm)");
		if (!confirm('Är du säker på att du vill censurera den här kommentaren?'))
		{
			return;
		}
	}
	else
	{
		if (!confirm('Är du säker på att du vill ta bort censuren från den här kommentaren?'))
		{
			return;
		}
	}
	FORM.submit();
}

function deleteMsgs()
{
	if (confirm('Är du säker på att du vill ta bort de markerade meddelandena?')) 
	{ 
		getElement('messages').submit(); 
	}
}

function deleteBookmarks()
{
	if (confirm('Är du säker på att du vill ta bort de markerade bokmärkena'))
	{
		getElement('bookmarks').submit();
	}
}

function signOut()
{
	if (confirm('Är du säker på att du vill logga ut?'))
	{
		self.location = self.location + "&a=logout";
	}
}

function deny(TYPE,ID)
{
	var FORM = document.accept;
	FORM.type.value = TYPE;
	FORM.id.value = ID;
	FORM.accept.value = 'no';
	var reason = prompt('Anledning till nekning? (skickas som pm till användaren)');
	if (reason != '' && reason != null)
	{	
		FORM.reason.value = reason;
		if (confirm('Är du säker på att du vill neka med följande anledning:\n' + reason)) 
		{
			FORM.submit();	
		}
	}
}

function matchDynamicBB(TEXT,PARENTDIR)
{
	var startPos = TEXT.indexOf("[?=");
	var endPos = TEXT.indexOf("]",startPos + 3);
	var nextPos = TEXT.indexOf("[",startPos + 3) == -1 ? TEXT.length + 1 : TEXT.indexOf("[",startPos + 3);

	if (startPos != -1 && endPos < nextPos && endPos != -1)
	{
		var qrystring = TEXT.substring(startPos + 3,endPos);
		if (qrystring == ignoreDynamicTitle)
		{
			return;
		}
		ignoreDynamicTitle = qrystring;
		var msg = getElement('msg');
		msg.disabled = true;
		makeRequest(PARENTDIR + 'standalone/ajax/bbfetcher.php?start=' + startPos + '&end=' + endPos + '&q=' + escape(qrystring),'BBDynamicReturned');
	}
}

function updateConfirmCode(ID,VAL)
{
	var elem = getElement(ID);
	var date = new Date();
	elem.src = "img/misc/confirmcode.php?s=" + VAL + "&t=" + date.getTime();
}

function checkChatUpdate()
{
	var scroll = getElement('chatboard').scrollTop == 0;
	var msglen = getElement('msg').value.length == 0;	
	
	if (scroll && !msgFocus && msglen)
	{
		makeRequest('standalone/ajax/chatupdater.php?t=' + time,'chatUpdateReturned')
	}
	
	setTimeout('checkChatUpdate()',10000);
}

