﻿/* ***** Begin: GreyWyvern's Buffered Text-fade Effect - v2.2a ***** */
var fader = new Array(), fadeQ = new Array();
var RGB = new Array(256), k = 0, hex = ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];
for (var i = 0; i < 16; i++) for (var j = 0; j < 16; j++) RGB[k++] = hex[i] + hex[j];

function fadeObj(number, id, colOff, colOn, spdIn, spdOut, def) {
  this.number = number;
  this.id = id;
  this.colOff = [parseInt(colOff.substr(0, 2), 16), parseInt(colOff.substr(2, 2), 16), parseInt(colOff.substr(4, 2), 16)];
  this.colOn = [parseInt(colOn.substr(0, 2), 16), parseInt(colOn.substr(2, 2), 16), parseInt(colOn.substr(4, 2), 16)];
  this.colNow = [parseInt(colOff.substr(0, 2), 16), parseInt(colOff.substr(2, 2), 16), parseInt(colOff.substr(4, 2), 16)];
  this.spdIn = spdIn;
  this.spdOut = spdOut;
  this.def = def;
  this.direction = false;
  this.active = false;
  this.message = new Array();
  this.messageNow = 0;
}

function fadeCmd(number, message, direction) {
  this.number = number;
  this.message = message;
  this.direction = direction;
}

function fade(number, message, direction) {
  if (fader[number].def && fader[number].messageNow == 0 && fader[number].direction) {
    fadeQ[fadeQ.length] = new fadeCmd(number, 0, false);
    fadeQ[fadeQ.length] = new fadeCmd(number, message, direction);
    message = 0;
    direction = false;
  } else fadeQ[fadeQ.length] = new fadeCmd(number, message, direction);
  setTimeout(function() { fadeBegin(number); }, 20);
}

function fadeBegin(number) {
  for (var x = 0; x < fadeQ.length; x++) {
    for (var y = x + 1; y < fadeQ.length; y++) {
      if (fadeQ[x].number == fadeQ[y].number && fadeQ[x].message == fadeQ[y].message && fadeQ[x].direction != fadeQ[y].direction) {
        fadeQ.splice(x, 1);
        fadeQ.splice(y - 1, 1);
      }
    }
  }
  if (!fader[number].active) {
    for (var x = 0; x < fadeQ.length; x++) {
      if (fadeQ[x].number == number && fadeQ[x].direction != fader[number].direction) {
        var del = fadeQ.splice(x, 1);
        setTimeout(function() { fadeEng(number, del[0].message, del[0].direction); }, 0);
        break;
      }
    }
  }
}

function fadeEng(number, message, direction) {
  if (!fader[number].active) {
    fader[number].active = true;
    fader[number].direction = direction;
    fader[number].messageNow = message;
    document.getElementById(fader[number].id).innerHTML = fader[number].message[message];
  }
  var iniCol = (direction) ? fader[number].colOff : fader[number].colOn;
  var endCol = (direction) ? fader[number].colOn : fader[number].colOff;
  var incCol = fader[number].colNow;
  var spd = (direction) ? fader[number].spdIn : fader[number].spdOut;
  for (var x = 0; x < 3; x++) {
    var incr = (endCol[x] - iniCol[x]) / spd;
    incCol[x] = (incr < 0) ? Math.max(incCol[x] + incr, endCol[x]) : Math.min(incCol[x] + incr, endCol[x]);
  }
  document.getElementById(fader[number].id).style.color = "#" + RGB[parseInt(incCol[0])] + RGB[parseInt(incCol[1])] + RGB[parseInt(incCol[2])];
/* Fix Links Inside Text */
  document.getElementById(fader[number].id).innerHTML = document.getElementById(fader[number].id).innerHTML.replace('<a','<a style="color:#' + RGB[parseInt(incCol[0])] + RGB[parseInt(incCol[1])] + RGB[parseInt(incCol[2])] + ';"').replace('<A','<A style="color:#' + RGB[parseInt(incCol[0])] + RGB[parseInt(incCol[1])] + RGB[parseInt(incCol[2])] + ';"');
/*                      */

  if (incCol[0] == endCol[0] && incCol[1] == endCol[1] && incCol[2] == endCol[2]) {
    fader[number].active = false;
    for (var x = 0; x < fadeQ.length; x++) {
      if (fadeQ[x].number == number) {
        var del = fadeQ.splice(x, 1);
        setTimeout(function() { fadeEng(number, del[0].message, del[0].direction); }, 0);
        return false;
      }
    }
    if (!direction) {
      if (fader[number].def) {
        setTimeout(function() { fadeEng(number, 0, true); }, 0);
      } else document.getElementById(fader[number].id).innerHTML = "&nbsp;";
    }
  } else setTimeout(function() { fadeEng(number, message, direction); }, 0);
}
/* ***** End: GreyWyvern's Buffered Text-fade Effect - v2.2a ******* */

function addKomurRow()
{
	var i = 0;
	while(document.getElementById('komur' + i))
	{
		if(document.getElementById('komur' + i).className == 'hide')
		{
			document.getElementById('komur' + i).className = 'none';
			break;
		}
		i++;
	}
}

function removeKomurRow()
{
	var i = 0;
	while(document.getElementById('komur' + i))
	{
		if(document.getElementById('komur' + i).className == 'hide')
		{
			break;
		}
		i++;
	}

	if(document.getElementById('komur' + (i-1)))
	{
		document.getElementById('komur' + (i-1)).className = 'hide';
	}
}

function addBrottfarirRow()
{
	var i = 0;
	while(document.getElementById('brottfarir' + i))
	{
		if(document.getElementById('brottfarir' + i).className == 'hide')
		{
			document.getElementById('brottfarir' + i).className = 'none';
			break;
		}
		i++;
	}
}

function removeBrottfarirRow()
{
	var i = 0;
	while(document.getElementById('brottfarir' + i))
	{
		if(document.getElementById('brottfarir' + i).className == 'hide')
		{
			break;
		}
		i++;
	}

	if(document.getElementById('brottfarir' + (i-1)))
	{
		document.getElementById('brottfarir' + (i-1)).className = 'hide';
	}
}

function checkAtvinna()
{
	if(document.getElementById('browse').value == "")
	{
		alert("Þú verður að láta mynd fylgja með!");				
		return false;
	}
	else if(document.getElementById('Nafn').value == "")	
	{
		alert("Þú verður að skrifa nafn!");				
		return false;
	}
	else if(document.getElementById('Kennitala').value == "")	
	{
		alert("Þú verður að skrifa kennitölu!");				
		return false;
	}
	else
	{
		return true;
	}
}

function initFront()
{
	alert(document.getElementById('keywords'));
	document.getElementById('keywords').focus();
}

function toggleItems(typeid,id)
{
	var i = 0;
	while(document.getElementById(typeid + "-item-" + i))
	{
		document.getElementById(typeid + "-item-" + i).className = '';
		document.getElementById(typeid + "-list-" + i).style.display = 'none';
		i++;
	}

	if(document.getElementById(typeid + "-item-" + id))
	{
		document.getElementById(typeid + "-item-" + id).className = 'selected';
		document.getElementById(typeid + "-list-" + id).style.display = '';
	}
	if(typeid == 'group')
	{
		clear_cookie("referer");
		set_cookie("referer","" + id,"/");
	}
}

function updateItems(itemid, itemcount)
{
	document.getElementById('shop-right-' + itemid).innerHTML = "Sýnir " + itemcount + " vörur";
}

function updateItemsEn(itemid, itemcount)
{
	document.getElementById('shop-right-' + itemid).innerHTML = "Showing " + itemcount + " products";
}

function set_cookie( _name, _value, _path )
{
	var cookie_string = _name + "=" + escape(_value);

	var date = new Date();
	date.setTime(date.getTime() + (60*60*1000));
	cookie_string += "; expires=" + date.toGMTString();

	if ( _path )
	{
		cookie_string += "; path=" + escape(_path);
	}

	document.cookie = cookie_string;
}

function clear_cookie(_cookie_name)
{
	set_cookie(_cookie_name,"","/");
}