function Askriftarvefur() 
{
	this.table	= $('verd');
	this.samtals	= $('samtals');
	this.kerfi	= $('afslattarkerfi');
	this.samtals_verd	= $('samtals_verd');
	this.samtals_afsl	= $('samtals_afsl');
	this.sparnadur	= $('sparnadur');
	this.sparnadur_text = $('sparnadur_text');
	this.afslkerfi	= $('verd_afslattarkerfi');
	this.afsl_head	= $('verd_afslattur');
	this.form		= $('stodvaval');

	this.valid	= "0";
	this.ekkert	= {"nafn" : "", "mynd" : "", "prosenta" : "0%", "fjoldi" : "0", "texti" : ""};

	this.packs	= {};
	this.stjarna	= "<span class=\"stjarna\">*</span>";

	this.kaupaeinn	= false;
}

var Stars =
{
	container : {},

	add : function(id)
	{
		var numStars = 0;

		for(var x in this.container)
		{
			if(this.container[x] > numStars)
				numStars = this.container[x];
		}
		numStars++;
		this.container[id] = numStars;
		return numStars;
	},

	remove : function(id)
	{
		var removedStars = this.container[id];
		this.container[id] = 0;
		this.fix(removedStars);
	},

	fix : function(num)
	{
		for(var x in this.container)
		{	
			if(this.container[x] == num+1)
			{
				this.container[x] = num;
				num++;
			}
		}
	}
}

Askriftarvefur.init = function()
{
	var a = new Askriftarvefur;
	var link;
	var hash = document.location.hash.substr(1, document.location.hash.length);

	var locationRas = location.search.split('ras=')[1];
	locationRas = ( locationRas && locationRas.split('&')[0] ) || '';

	a.CCField("kortanumer");

	//hengja tilkynningu um bið á login
	var loginSubmit = $("loginSubmit");
	

	if(loginSubmit)
	{
		loginSubmit.onclick = function() { a.showNotice("Sæki upplýsingar... Vinsamlegast bíðið. Athugið að smá stund getur liðið frá því að fyrirspurn er send þar til að svar fæst."); };
	}

	var changeNext = $("changeNext");
	var option_button = $("option_button");
	

	if(changeNext)
	{
		changeNext.onclick = function() { 
			a.showProgress("Sæki upplýsingar... Vinsamlegast bíðið.");
			changeNext.disabled = true;
			
			if(option_button)
			{
				option_button.innerHTML = '<a class="submitLong">Samþykkja og greiða</a>';
			}

			if(changeNext.value == 1)
			{
				location.href = '/?PageID=2066&kaupanaesta=1&nc=1';
			}
			else
			{
				location.href = '/?PageID=2066&kaupanaesta=0&nc=1';
			}

			setTimeout("document.getElementById('progress').style.backgroundImage = 'url(http://stod2.visir.is/lisalib/getfile.aspx?itemid=24675)'", 200);
		};
		return false
	}


	var step1_next = $("step1_continue");

	if(step1_next)
	{
		/*step1_next.onclick = function() { 
			a.showProgress("Sæki upplýsingar... Vinsamlegast bíðið.");
			step1_next.disabled = true;
		}*/
	}

	if(option_button)
	{
		option_button.onclick = function() { 
			a.showProgress("Sæki upplýsingar... Vinsamlegast bíðið.");
			//step1_next.disabled = true;
		}
	}

	var step3_next = $("step3_continue");

	if(step3_next)
	{
		step3_next.onclick = function() { 
			a.showProgress("Sæki upplýsingar... Vinsamlegast bíðið.");
			step3_next.disabled = true;
		}
	}


	var payment = $("payment_form");
	if(payment)
		payment.onsubmit = a.validatePayment;

	if(typeof kerfi == "undefined" || typeof verd == "undefined")
		return;

	//hengja á stöðvar
	for(var v in verd)
	{
		a.packs[v] = 0;

		link = $("check_" + v);

		if(link)
		{
			//hengja á toppröð
			var top = $("pakki_" + v);

			if(top)
			{
				/*
				Trick til að rífa breytuna útúr scope og fá gildi hennar *núna*,
				ef við notum þetta ekki væri gildið alltaf það gildi sem kemur seinast
				í lykkjunni.
				Köllum líka á fallið með Askriftarkerfi hlutnum sem scope, þ.a. "this"
				virki rétt.
				*/
				top.onclick = (function(scope, pack, element) { return function()
				{
					if(!element.disabled)
					{
						if(element.checked)
						{
							element.checked = false;
							a.removeStation.call(scope, pack)
						}
						else{
							element.checked = true;
							a.addStation.call(scope, pack)
						}
					}
					return false;
				}})(a, v, link);
			}

			link.onclick = (function(scope, pack, element) { return function()
			{
				a.togglePack.call(scope, pack, element)
			}})(a, v, link);
			
			if(link.checked)
				a.addStation(v);

			if( hash == v || locationRas == v || locationRas == verd[v].stuttnafn )
			{
				link.checked = true;
				a.addStation.call(a, v);
			}
		}
	}

	link = $("kaupaeinn");

	if(link)
	{
		link.onclick = (function(scope, pack, element) { return function()
		{
			a.togglePack.call(scope, "", element)
		}})(a, v, link);
	}

	//hengja validation á formið
	/*if(a.form)
	{
		a.form.onsubmit = function() { return a.validate.call(a); }
	}*/

	//HESTUR!!
}

Askriftarvefur.prototype.choosePlan = function(plan)
{
	var m12val	= $("m12val");
	var m12valid	= $("m12valid");
	var m12texti	= $("m12texti");
	var m12fela	= $("m12fela");
	var m12		= $("m12");
	var kaupaeinn	= $("kaupaeinn");

	var k = kerfi[plan];

	if(k)
	{
		this.valid = plan;

		if(!kaupaeinn.checked)
			m12fela.style.display = "block";
	
		m12valid.style.display = "inline";
		m12valid.innerHTML = '<img style="display: inline;" src="/lisalib/getfile.aspx?itemid='+k.mynd+'&proc=62" />';
		m12texti.innerHTML = k.texti;

		if(!kaupaeinn.checked)
			this.afslkerfi.innerHTML = k.nafn;
		
		this.updateTable();

		m12.value = k.einkenni;
	}
	
	//reset
	if(plan == "")
	{
		m12fela.style.display = "none";
		m12texti.innerHTML = "Veldu allar þær stöðvar sem þú vilt vera áskrifandi að til að sjá afsláttarkjör þín.";
	}

	if(kaupaeinn.checked)
	{
		var statpick = "";
		var picked = [];
		if($("check_stod2").checked)
		{
			picked.push("Stöð 2");
		}
		if($("check_syn").checked)
		{
			picked.push("Stöð 2 Sport");
		}
		if($("check_enski").checked)
		{
			picked.push("Stöð 2 Sport 2");
		}
		if($("check_stori").checked)
		{
			picked.push("Stöð 2 Fjölvarp");
		}
		else
		{
			if($("check_skemmti").checked)
			{
				picked.push("Stöð 2 Fjölvarp skemmtun");
			}
			if($("check_frodi").checked)
			{
				picked.push("Stöð 2 Fjölvarp fræðsla");
			}
			if($("check_toppur").checked)
			{
				picked.push("Stöð 2 Fjölvarp toppur");
			}
		}

		for(var i = 0; i < picked.length; i++)
		{
			if(i > 0)
			{
				if(i == picked.length - 1)
				{
					statpick += " og ";
				}
				else
				{
					statpick += ", ";
				}
			}
			statpick += picked[i];
		}

		m12fela.style.display = "none";
		m12texti.innerHTML = "Þú hefur valið að kaupa einn mánuð" + (statpick == "" ? "" : " af " + statpick);

		for(var stod in verd)
		{
			$("stodvar_" + stod).style.display = "none";
		}
	}
	else
	{
		for(var stod in verd)
		{

			if($("check_" + stod).checked)
			{
				$("stodvar_" + stod).style.display = "";	
			}	
		}
	}
}

Askriftarvefur.prototype.togglePack = function(pack, element)
{	
	element.checked ? this.addStation(pack) : this.removeStation(pack);

	if(pack == "")
	{
		element.checked? this.hidePlan() : this.showPlan();
	}
}

Askriftarvefur.prototype.forEachInTable = function(matcher, func)
{
	var all = this.table.getElementsByTagName("li");

	for(var i = 0, n = all.length; i<n; i++)
	{
		if(matcher(all[i]))
		{
			func(all[i]);
		}
	}
}

Askriftarvefur.prototype.hidePlan = function()
{
	this.sparnadur_text.innerHTML = "Ef þú velur Vild myndir þú spara";

	function hide()
	{
		for(var i = 0, n = arguments.length; i<n; i++)
			arguments[i].className += " hidden";
	}	

	hide(this.afslkerfi, this.afslkerfi, this.afsl_head, this.samtals_afsl);

	this.forEachInTable(
		function(o)
		{
			return o.className.indexOf("verd_afslattarkerfi") >= 0 || o.className.indexOf("afslattur") >= 0
		},
		hide);
}

Askriftarvefur.prototype.showPlan = function()
{
	this.sparnadur_text.innerHTML = "Þú sparar";

	function show()
	{
		for(var i = 0, n = arguments.length; i<n; i++)
			arguments[i].className = arguments[i].className.replace(/hidden/g, "");
	}

	show(this.afslkerfi, this.afslkerfi, this.afsl_head, this.samtals_afsl);

	this.forEachInTable(
		function(o)
		{
			return o.className.indexOf("verd_afslattarkerfi") >= 0 || o.className.indexOf("afslattur") >= 0
		},
		show);
}

Askriftarvefur.prototype.childStations = function(id)
{
	var children = {};

	if(id == "")
		return {};

	if(typeof verd[id] == "undefined")
		return {};

	var parent = verd[id];

	for(var s in parent.children)
		children[s] = this.packs[s];

	return children;
}

Askriftarvefur.prototype.disableChildren = function(id)
{
	var children = this.childStations(id);

	for(var child in children)
	{
		this.removeStation(child);
		var check = $("check_" + child);

		if(check)
		{
			check.checked = false;
			check.disabled = true;
		}
	}
}

Askriftarvefur.prototype.enableChildren = function(id)
{
	var children = this.childStations(id);

	for(var child in children)
	{
		var check = $("check_" + child);

		if(check)
		{
			//Ef stöðin er í áskrift, disable og hak
			if(child in notandi.askriftir)
			{
				this.addStation(child);
				check.disabled = true;
				check.checked = true;
			}
			else
			{	
				check.disabled = false;
				check.checked = false;
			}
		}
	}
}

Askriftarvefur.prototype.addStation = function(pack, mark)
{
	var p = verd[pack];
	var k = (this.valid != "0") ? kerfi[this.valid] : this.ekkert;

	if (pack.indexOf('tilbod') > -1)
	{
		var allirPakkar = $('pakkar').getElementsByTagName('input');
		for (var i = 0; i < allirPakkar.length; i++)
		{
			if (allirPakkar[i].id.indexOf('tilbod') == -1)
			{
				allirPakkar[i].checked = false;
				allirPakkar[i].disabled = true;
				this.removeStation(allirPakkar[i].id.replace('check_',''));
			}
		}
	}
	
	if(p && k && this.packs[pack] == 0)
	{
		/* Ef þessi stöð á foreldri og systkini hennar er líka valið, þá viljum
		   við velja foreldrið og slökkva á öllum börnum */
		var siblings = this.childStations(p.parent);

		var disableChildren = false;

		/* Viljum að foreldri erfi merkingu frá börnum */
		var mark = 0;

		//Ef e-ð systkin er valið, slökkva á öllum
		for(var s in siblings)
		{
			/* Finnum merkingu */
			var stars = $('label_' + s).innerHTML.match(/\*+/);

			if(stars)
			{
				stars = stars[0].length;

				if(stars > mark)
					mark = stars;
			}

			if(siblings[s] == 1)
			{
				disableChildren = true;
				break;
			}
		}

		if(disableChildren)
		{
			this.disableChildren(p.parent);
			this.addStation(p.parent, mark);

			//og við viljum ekki halda áfram með að bæta þessari stöð við
			return;
		}

		this.disableChildren(pack);

		var _v = parseInt(p.verd);
		var _a = Math.round(parseInt(p.verd) * (1-parseInt(k.prosenta)/100));

		//Búa til stöðina skv. forsendum
		var ul = document.createElement("ul");
		
		//Bæta "_" við til að komast hjá IE bögg
		ul.id = "_" + pack;

		if(typeof notandi != "undefined" && notandi.askriftir[pack] == 1)
		{
			ul.className = "subscribed";
			ul.title = "Stöð er í áskrift";
		}

		//Búum til fyrir reiknivél
		var _stod = document.createElement("li");
		_stod.appendChild(document.createTextNode(p.nafn));
		_stod.className = "stod";
		ul.appendChild(_stod);

		var _verd = document.createElement("li");
		_verd.appendChild(document.createTextNode(_v.mytoLocaleString() + ' kr.-'));
		_verd.className = "verd";
		ul.appendChild(_verd);

		var _verd_afsl = document.createElement("li");
		_verd_afsl.appendChild(document.createTextNode(_a.mytoLocaleString() + ' kr.-'));
		_verd_afsl.className = "verd_afslattarkerfi";
		ul.appendChild(_verd_afsl);

		var _afsl = document.createElement("li");
		_afsl.appendChild(document.createTextNode(k.prosenta));
		_afsl.className = "afslattur";
		ul.appendChild(_afsl);

		//Bæta við fyrir ofan samtals
		this.table.insertBefore(ul, this.samtals);

		//Sýna stöðva texta
		var stodvar = $("stodvar_" + pack);
		if(stodvar) stodvar.style.display = "";

		//Sýna disclaimer ef til, og bæta þá stjörnu við
		var disclaimer = $("disclaimer_" + pack);
		if(disclaimer)
		{
			//ef við birtum bara einn disclaimer í einu..
			var shown = function()
			{
				var disclaimers = $("disclaimers").getElementsByTagName("li");
				for(var i = 0, n = disclaimers.length; i<n; i++)
				{
					if(disclaimers[i].style.display != "none" && disclaimers[i].className!="special")
						return true;
				}
				return false;
			}

			var numStars = Stars.add(pack);
			//if(!shown())
			{
				var label = $("label_" + pack);

				if(label)
				{					
					for(var i = 0; i<numStars; i++)
					{
						label.innerHTML += this.stjarna;
						disclaimer.innerHTML = this.stjarna + disclaimer.innerHTML ;
					}
				}
				disclaimer.style.display = "";
			}
		}

		//Uppfæra reiknaða reiti
		this.samtals_verd.innerHTML = (this.samtals_verd.innerHTML.parseIntFormatted(".") + _v).mytoLocaleString() + ' kr.-';
		this.samtals_afsl.innerHTML = (this.samtals_afsl.innerHTML.parseIntFormatted(".") + _a).mytoLocaleString() + ' kr.-';
		this.sparnadur.innerHTML = (this.samtals_verd.innerHTML.parseIntFormatted(".") - this.samtals_afsl.innerHTML.parseIntFormatted(".")).mytoLocaleString()
		this.packs[pack] = 1;

		//Verum viss um að það sé búið að tikka í stöðina
		var check = $("check_" + pack);
		if(check) check.checked = true;
	}

	this.updatePlan();
}

Askriftarvefur.prototype.removeStation = function(id)
{
	var o = $("_" + id);
	var p = verd[id];
	//Valið kerfi, annaðhvort eitthvað, eða ekki neitt
	var k = (this.valid != "0") ? kerfi[this.valid] : this.ekkert;

	if (id.indexOf('tilbod') > -1)
	{
		var allirPakkar = $('pakkar').getElementsByTagName('input');
		for (var i = 0; i < allirPakkar.length; i++)
		{
			if (allirPakkar[i].id.indexOf('tilbod') == -1)
			{
				allirPakkar[i].disabled = false;
			}
		}
	}

	if(o)
	{
		//Kveikjum á öllum börnum
		this.enableChildren(id);

		var _v = parseInt(p.verd);
		var _a = Math.round(parseInt(p.verd) * (1-parseInt(k.prosenta)/100));

		//Uppfæra reiknaða reiti
		this.samtals_verd.innerHTML = (this.samtals_verd.innerHTML.parseIntFormatted(".") - _v).mytoLocaleString();
		this.samtals_afsl.innerHTML = (this.samtals_afsl.innerHTML.parseIntFormatted(".") - _a).mytoLocaleString();
		this.sparnadur.innerHTML = (this.samtals_verd.innerHTML.parseIntFormatted(".") - this.samtals_afsl.innerHTML.parseIntFormatted(".")).mytoLocaleString()

		//Fjarlægja stöð
		o.parentNode.removeChild(o);
		//this.table.removeChild(o); //Böggað í IE

		//Fjarlægja stöðvar texta
		var stodvar = $("stodvar_" + id);
		if(stodvar) stodvar.style.display = "none";

		//Fjarlækja disclaimer
		var disclaimer = $("disclaimer_" + id); 
		if(disclaimer)
		{
			var label = $("label_" + id);
			if(label)
			{
				//þar sem innerHTML er ekki staðlað þá fer IE að breyta öllu HTML sem er sett þar inn í e-ð ljótt
				label.innerHTML = label.innerHTML.replace(/<span(.*)<\/span>/i,'');
				disclaimer.innerHTML = disclaimer.innerHTML.replace(/<span(.*)<\/span>/i,'');
				Stars.remove(id);
				this.fixDisclaimer();
			}
			disclaimer.style.display = "none";
		}
		this.packs[id] = 0;
	}

	this.updatePlan();
}

//Lagar birtingu á disclaimer þegar hak er tekið af einhverjum valmöguleika þannig að stjörnufjöldi sé réttur
Askriftarvefur.prototype.fixDisclaimer = function()
{
	for(var x in Stars.container)
	{
		var disclaimer = $("disclaimer_" + x);
		var label = $("label_" + x);

		//Fyrst að fjarlægja allar stjörnur áður en þeim er bætt við aftur
		label.innerHTML = label.innerHTML.replace(/<span(.*)<\/span>/i,'');
		disclaimer.innerHTML = disclaimer.innerHTML.replace(/<span(.*)<\/span>/i,'');

		//Loop í gegnum container og skrifa út disclaimer
		if(Stars.container[x] != 0)
		{
			//Sækja hvað eiga að vera margar stjörnur
			var numStars = Stars.container[x];
		
			for(var i = 0; i<numStars; i++)
			{
				label.innerHTML += this.stjarna;
				disclaimer.innerHTML = this.stjarna + disclaimer.innerHTML ;
			}

			disclaimer.style.display = "";
		}
	}
}

//Fer í gegnum reiknivélartöflu og uppfærir allt eftir nýju áskriftarplani
Askriftarvefur.prototype.updateTable = function()
{
	var all = this.table.getElementsByTagName("li");
	var k = (this.valid != "0") ? kerfi[this.valid] : this.ekkert;

	var samtals = 0;

	for(var i = 0, n = all.length; i<n; i++)
	{
		var c = all[i];

		if(c != this.samtals_verd && c != this.samtals_afsl)
		{
			var p = verd[c.parentNode.id.substr(1)];

			if(c.className.indexOf("afslattur") >= 0)
				c.innerHTML = k.prosenta;

			if(c.className.indexOf("verd_afslattarkerfi") >= 0)
			{
				var afsl = Math.round(parseInt(p.verd) * (1-parseInt(k.prosenta)/100));
				c.innerHTML = afsl.mytoLocaleString() + ' kr.-';

				samtals += afsl;
			}
		}
	}

	//Uppfæra reiknaða reiti
	this.samtals_afsl.innerHTML = samtals.mytoLocaleString() + ' kr.-';
	this.sparnadur.innerHTML = (this.samtals_verd.innerHTML.parseIntFormatted(".") - samtals).mytoLocaleString() + ' kr.-';

	var kaupaeinn = $('kaupaeinn') != null ? $('kaupaeinn').checked : false;

	kaupaeinn? this.hidePlan() : this.showPlan();
}

Askriftarvefur.prototype.updatePlan = function()
{
	var count = 0;

	//geymum stöðu á seinasta pakka til að geta skellt öllum undirpökkum saman ([einkenni, valinn?])
	var last = ["", 0];

	var strip = function(i)
	{
		if(i.indexOf(".") >= 0)
			return i.substr(0, i.indexOf("."));
		else
			return i;
	}

	//Viljum taka pakka sem hefur börn sem einn pakka í vali, þe. telst sem einn pakki, sama þó þú veljir alla
	//Þetta er reyndar óþarfi eftir að kröfur breytust og það á aldrei að vera hægt að vera með tvö systkina pakka..
	//geymum þetta samt :)
	var tilbodSelected = false;

	for(var pack in this.packs)
	{		
		if (pack.indexOf('tilbod') > -1)
		{
			tilbodSelected = ($('check_' + pack).checked);
		}
		
		var n = strip(verd[pack].einkenni);
			
		if(n != last[0] || last[1] == 0)
			count += this.packs[pack];

		//ef pakki sem hefur systkinapakka er valinn, "velja" öll systkin líka
		if(last[0] == n && last[1] == 1)
			last = [n, 1];
		else
			last = [n, this.packs[pack]];
	}

	//Velur besta kerfi eftir því hvað við höfum valið margar stöðvar
	var best = "";
	for(var k in kerfi)
	{
		if(count >= kerfi[k].fjoldi)
			best = k;
	}

	if (tilbodSelected)
	{
		best = 'tilbod';
	}

	this.choosePlan(best);
}

//Athugar hvort þú hafir nógu margar stöðvar m.v. valið plan
//Þarf ekki lengur þar sem planið er valið sjálfkrafa, en auka tjékk er aldrei slæmt
Askriftarvefur.prototype.validate = function()
{
	var k = (this.valid != "0") ? kerfi[this.valid] : this.ekkert;

	//Velur aðeins stöðvar með unique einkenni
	var chosen = function()
	{
		var flags = {};
		for(var v in verd)
		{
			var id = verd[v]["einkenni"];
			if(id.indexOf(".") >= 0)
				id = id.substr(0, id.indexOf("."));

			if($("check_" + v).checked)
				flags[id] = 1;
		}

		return flags;
	}

	var packs = chosen();

	var i = 0;
	for(var pack in packs)
	{
		i++;
	}
	
	if(parseInt(k["fjoldi"]) > i)
	{
		alert("Þú hefur ekki valið nógu margar stöðvar.");
		return false;
	}

	return true;
}

//Breytir 4xinput reitum í "einn"
Askriftarvefur.prototype.CCField = function(field)
{
	var BACKSPACE = 8;
	var DELETE = 46;
	var MAX = 2;

	//Tökum eitt input element og finnum öll nálæg
	var seed = $(field);

	if(!seed)
		return;

	var found = [];
	found.push(seed);

	var findNext = function(o)
	{
		var max = MAX;
		var t = o.tagName;
		var i = 0;

		if(o)
		{
			do
			{
				//Ef komin yfir max, ekki fundið => skila null
				if(i++ > max)
					return null;

				o = o.nextSibling;
				if(o == null)
					return null;

			} while(o.tagName != t)

			return o;
		}
		return null;
	}

	//Búum til fylki af öllum systkinum í röð, svo lengi sem við finnum
	var _new = null;
	while((_new = findNext(found.top())) != null)
	{
		found.push(_new)
	}

	var handleKey = function(e)
	{
		var isIE = /*@cc_on!@*/false;

		if(!e)
			e = window.event;

		if(e.keyCode == DELETE)
		{
		}
		else if(e.keyCode == BACKSPACE)
		{
			if(this._prev && this.value.length == 0)
			{
				this._prev.focus();
				if(isIE)
				{
					var r = this._prev.createTextRange();
					r.collapse(true);
					r.moveStart("character", 4);
					r.moveEnd("character", 0);
					r.select();
				}
				else
				{
					//this._prev.value = this._prev.value.substr(0, this._prev.value.length-1);
				}
			}
		}
		else if(this.value.length == this.maxLength)
		{
			if(this._next)
			{
				this._next.focus();
				this._next.select();
			}
		}
	}

	//Keðjum hlutina saman og hengjum event handler á
	for(var i = 0, n = found.length; i<n; i++)
	{
		var el = found[i];

		el.onkeyup = handleKey;

		//Velur rétt fyrir/eftir systkin eða null ef á enda
		el._prev = i != 0 ? found[i-1] : null;
		el._next = i != n-1 ? found[i+1] : null;

	}
}

Askriftarvefur.prototype.showNotice = function(text)
{
	var notice = document.createElement("div");
	notice.id = "notice";

	//Hakk fyrir bakgrunnsmyndir
	var div = document.createElement("div");
	div.appendChild(document.createTextNode(text));
	
	notice.appendChild(div);

	var container = $("container");

	if(container) container.appendChild(notice);
}

Askriftarvefur.prototype.showProgress = function(text)
{
	var waitBox = document.createElement("div"); 
	waitBox.setAttribute("id", "waitBox");

	var div = document.createElement("div");
	div.appendChild(document.createTextNode(text));

	waitBox.appendChild(div);

	var container = $("container");

	if(container) container.appendChild(waitBox);
}

Askriftarvefur.prototype.validatePayment = function()
{
	var terms = $("termsAccept");
	
	if(!terms || !terms.checked)
	{
		alert("Þú verður að samþykkja skilmála til að geta gengið frá greiðslu");
		return false;
	}

	return true;
}

/****/

if(typeof console == "undefined")
{
	console = {}
	console.log = function() {}
}

function $(id) { return document.getElementById(id) }

function toggle(obj)
{
	if(obj.style.display == "none")
		obj.style.display = "";
	else
		obj.style.display = "none";
}


function RedirectPage(path)
{
	window.location = path;
}

Number.prototype.mytoLocaleString = function()
{
	var n = this.toLocaleString();
	n = n.replace(",00", "");
	n = n.replace(/(\d)(.{3}$)/, '$1.$2')
	return n;
}

String.prototype.toASCII = function(removeSpaces)
{
	var str = this;

	var nonascii	= "ÁÉÐÍÓÚÝÖáéðíóúýö";
	var ascii	 	= "AEDIOUYOaediouyo";

	var special = {	"Þ" : "Th",
			"þ" : "th",
			"Æ" : "Ae",
			"æ" : "ae"};

	var r;

	for(var i = 0, n = nonascii.length; i<n; i++)
	{
		r = new RegExp(nonascii[i], "g");
		str = str.replace(r, ascii[i]);
	}

	for(var letter in special)
	{
		r = new RegExp(letter, "g");
		str = str.replace(r, special[letter]);
	}

	if(removeSpaces)
		str = str.replace(/ /g, "_");

	return str;
}

String.prototype.parseIntFormatted = function(separator)
{
	var n = this.toString();
	n = n.replace(separator, "");
	return parseInt(n);
}

Array.prototype.top = function()
{
	return this[this.length-1];
}

function SetCheckValue(ckElem)
{
	var regmail = document.getElementById('regmail');

	if(regmail && ckElem.checked)
	{
		regmail.value = 'true';
	}
	else
	{
		regmail.value = 'false';
	}

}

//v2
function lisa_flash(s,w,h)
{
	var a=arguments
	with(document)
	{
		writeln('<object codeBase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" height="'+h+'" width="'+w+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">')
		writeln('<param name="Movie" value="'+s+'">')
		for(var i=3;i<a.length;i+=2)writeln('<param name="'+a[i]+'" value="'+a[i+1]+'">')
		write('<embed src="'+s+'" quality="high" height="'+h+'" width="'+w+'" type="application/x-shockwave-flash" pluginspage="https://www.macromedia.com/go/getflashplayer" ')
		for(i=3;i<a.length;i+=2)write(a[i]+'="'+a[i+1]+'" ')
		writeln('/>')
		write('</object>')
	}
}

function CheckIslLetters(value)
{
	var notAllowed = "ÁÉÐÍÓÚÝÖáéðíóúýþæö";
	document.getElementById('erroriceletters').style.display = 'none';
	for(var i = 0, n = notAllowed.length; i<n; i++)
	{
		if (value.indexOf(notAllowed[i]) > -1)
		{
			document.getElementById('erroriceletters').style.display = 'block';
			return false;
		}
	}
	return true;
}

function showmeoffer(elem)
{
	var daElem = document.getElementById('offer_' + elem);

	if(daElem.style.display == '' || daElem.style.display == 'none')
	{
		document.getElementById('omore_' + elem).className = 'offercollapse';
		daElem.style.display = 'block';
	}
	else
	{
		document.getElementById('omore_' + elem).className = 'offershow';
		daElem.style.display = 'none';
	}
}

/* General form-validation */

function validate(form) {
	var isValid = true;
	for (var i = 0; i < form.elements.length; i++)
	{
		var elem = form.elements[i];
		if (elem.className.indexOf('reqd') > 0)
		{
			
			/* input, select og textarea er höndlað á sama hátt .... */
			if ((elem.tagName == "INPUT") || (elem.tagName == "TEXTAREA") || (elem.tagName == "SELECT"))
			{			
				if (elem.className.indexOf('emailval') > 0) {
					isValid = isValidEmail(elem.value);
				} 
				else if (elem.className.indexOf('numberval') > 0) {
					isValid = isValidNumber(elem.value);
				}
				else if (elem.className.indexOf('extern_orPriv') > 0) {
					isValid = isExternOrPrivateNumber();
				}
				else if (elem.className.indexOf('ktval') > 0) {
					isValid = isValidKt(elem.value);
				}
				else
				{
					isValid = (elem.value != '');
				}
				
				if (!isValid) {
					if (elem.alt)
						alert(elem.alt);
					else
						alert(elem.title + ' verður að vera útfyllt!');

					elem.focus();
					elem.style.borderColor = '#FF4A4A';
					elem.style.backgroundColor = '#FDFAD0';
					return false;
				} else {
					elem.style.borderColor = '';
					elem.style.backgroundColor = '';
				}
			}			
		}
	}
	return true;
}

function isValidEmail(value) {
	return (value.indexOf(".") > 2) && (value.indexOf("@") > 0);
}

function isValidKt(strKt) {

      if (strKt == '')
      {
	return false;
      }

      var intKtSum = 0;
      intKtSum = intKtSum + (strKt.charAt(0) * 3);
      intKtSum = intKtSum + (strKt.charAt(1) * 2);
      intKtSum = intKtSum + (strKt.charAt(2) * 7);
      intKtSum = intKtSum + (strKt.charAt(3) * 6);
      intKtSum = intKtSum + (strKt.charAt(4) * 5);
      intKtSum = intKtSum + (strKt.charAt(5) * 4);
      intKtSum = intKtSum + (strKt.charAt(6) * 3);
      intKtSum = intKtSum + (strKt.charAt(7) * 2);
      intKtSum = intKtSum - (parseInt(intKtSum / 11) * 11)
      intKtSum = 11 - intKtSum;
      if (intKtSum >= 11)
            intKtSum = 0;

      if (strKt.charAt(8) == intKtSum)
      {
            return true; 
      }
      else
      {
            return false; 
      }
}


function showKredit()
{
	var x = document.getElementById('kredit');	


	if(x.style.display == '' || x.style.display == 'none')
	{
		x.style.display = 'block';
	}
	else
	{
		x.style.display = 'none';
	}
	
}

function hideKredit()
{
	var x = document.getElementById('kredit');	//tafla með kreditkortaupplýsingum
	var a = document.getElementById('43ea5fec-070f-455d-9257-19450fc17236');	//Kortanúmer
	var b = document.getElementById('d0e42fe3-1320-4c28-ace7-82514f15b59b'); //Gildistími
	var c = document.getElementById('3391a6ed-2faf-4e02-bf62-03d2d61381c9'); //CVC

	if(x.style.display == 'block')
	{
		x.style.display = 'none';
		a.value = '';
		b.value = '';
		c.value = '';
	}


}


function validateGreidslubreyting(form) 
{
	var isValid = true;
	var greidsluRadio = document.frmApplication.elements[7];

	for (var i = 0; i < form.elements.length; i++)
	{
		var elem = form.elements[i];
		if (elem.className.indexOf('reqd') > 0)
		{
			
			/* input, select og textarea er höndlað á sama hátt .... */
			if ((elem.tagName == "INPUT") || (elem.tagName == "TEXTAREA") || (elem.tagName == "SELECT"))
			{			
				if (elem.className.indexOf('emailval') > 0) {
					isValid = isValidEmail(elem.value);
				} 
				else if (elem.className.indexOf('numberval') > 0) {
					isValid = isValidNumber(elem.value);
				}
				else if (elem.className.indexOf('extern_orPriv') > 0) {
					isValid = isExternOrPrivateNumber();
				}
				else if (elem.className.indexOf('ktval') > 0) {
					isValid = isValidKt(elem.value);
				}
				else
				{
					isValid = (elem.value != '');
				}
				
				


				if (!isValid) {
					if (elem.alt)
						alert(elem.alt);
					else
						alert(elem.title + ' X verður að vera útfyllt!');

					elem.focus();
					elem.style.borderColor = '#FF4A4A';
					elem.style.backgroundColor = '#FDFAD0';
					return false;
				} else {
					elem.style.borderColor = '';
					elem.style.backgroundColor = '';
				}
			}			
		}
		

	}

	//athuga hvort hakað sé við boðgreiðslur


for (i =0; i < greidsluRadio.length; i++)
{


      if (greidsluRadio[i].value == "Boðgreiðslur" && greidsluRadio[i].checked == true )

      {

            //ef svo, athuga hvort kortanúmer sé útfyllt

            if (document.getElementById('43ea5fec-070f-455d-9257-19450fc17236').value == "")

            {

                  alert('Kortanúmer verður að vera útfyllt!');

                  document.getElementById('43ea5fec-070f-455d-9257-19450fc17236').focus();

                  document.getElementById('43ea5fec-070f-455d-9257-19450fc17236').style.borderColor = '#FF4A4A';

                  document.getElementById('43ea5fec-070f-455d-9257-19450fc17236').style.backgroundColor = '#FDFAD0';

                  return false;

            }

            //ef svo, athuga hvort gildistími sé útfylltur

            if (document.getElementById('d0e42fe3-1320-4c28-ace7-82514f15b59b').value == "")

            {

                  alert('Gildistími verður að vera útfylltur!');

                  document.getElementById('d0e42fe3-1320-4c28-ace7-82514f15b59b').focus();

                  document.getElementById('d0e42fe3-1320-4c28-ace7-82514f15b59b').style.borderColor = '#FF4A4A';

                  document.getElementById('d0e42fe3-1320-4c28-ace7-82514f15b59b').style.backgroundColor = '#FDFAD0';

                  return false;

            }     

      }

}     

	
	return true;
}


window.onload = Askriftarvefur.init;