window.onload = init;

function init() {
	var search = document.getElementById('SearchString1');
	if (search != null) {
		search.onclick = search_onclick;
		search.onblur = search_onblur;
	}
	
	var fontSize = "11";
	if ((getCookie("fontsize") != null) &&  (getCookie("fontsize") != '')) {
		fontSize =  getCookie("fontsize");
	}
	if (fontSize != 11) {
		document.body.style.fontSize = getPercentSize(fontSize) + "%";
	}	
	nextBoxOli('CardNumber1');
}

function search_onclick() {
	var search = document.getElementById('SearchString1');
	if (search.value == 'Sláðu inn leitarorð') {
		search.value = '';
	}
}

function search_onblur() {
	var search = document.getElementById('SearchString1');
	if (search.value == '') {
		search.value = 'Sláðu inn leitarorð';
	}
}

function enlargeFont() {
	var size = getCookie("fontsize");
	if (size == null) {
		size = 11;
	}
	size++;
	if (size > 15) {size = 15}
	document.body.style.fontSize = getPercentSize(size)+'%';
	setCookie("fontsize",size);
}

function shrinkFont() {
	var size = getCookie("fontsize");
	if (size == null) {
		size = 11;
	}
	size--;
	if (size < 9) {size = 9}
	document.body.style.fontSize = getPercentSize(size)+'%';
	setCookie("fontsize",size);
}

function restoreSize() {
	size = "11";
	document.body.style.fontSize = getPercentSize(size)+'%';
	setCookie("fontsize",size);	
}

function getPercentSize(size) {
	return (size/16)*100;
}

function setCookie(cookieName,cookieValue) {
	var today = new Date();
	var expire = new Date();
	expire.setTime(today.getTime() + 3600000*24*1000);
	document.cookie = cookieName + "=" + escape(cookieValue) + ";expires="+expire.toGMTString();
}

function getCookie(cookieName) {
	oCookie = document.cookie;
	var index = oCookie.indexOf(cookieName + "=");
	if (index == -1) return null;
	index = oCookie.indexOf("=", index) + 1;
	var endstr = oCookie.indexOf(";", index);
	if (endstr == -1) endstr = oCookie.length;
	return unescape(oCookie.substring(index, endstr));
}

function validate(form) {
	var isValid = true;
	var elemIsValid = true;
	var errString = "";
	
	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) {
					elemIsValid = isValidEmail(elem.value);
				} else if(elem.className.indexOf('number') > 0) {
					elemIsValid = isValidNumber(elem.value, 7); 
				} else if(elem.className.indexOf('kennitala') > 0) {
					elemIsValid = isValidNumber(elem.value, 10); 
				} else {
					elemIsValid = (elem.value != '');
				}
				
				if (!elemIsValid) {
					errString += elem.title + ' er ekki rétt út fyllt!<br/>'
					elem.focus();
					elem.style.borderColor = '#FF4A4A';
					elem.style.backgroundColor = '#FDFAD0';
					isValid = false;
				} else {
					elem.style.borderColor = '';
					elem.style.backgroundColor = '';
					elemIsValid = true;
				}
			}			
		} 
	}
	if(!isValid) {
		document.getElementById('notice').innerHTML = errString;
		document.getElementById('notice').style.display = "block";
	}
	return isValid;
}

function isValidEmail(value) {
	return (value.indexOf(".") > 2) && (value.indexOf("@") > 0);
}

function isValidNumber(value, number) {
	var elemIsValid = true;
	var stripped = value.replace(/[\(\)\.\-\ ]/g, '');
	
	if (!(stripped.length == number)) {
		elemIsValid = false;
	}
	
	if(isNaN(stripped)) {
	     elemIsValid = false;
   	}

	return elemIsValid;
}

var xmlHttp;

function GetCardStatus()
{
	document.getElementById("CardStatus").innerHTML = "Sæki stöðu...";
	xmlHttp = GetXmlHttpObject();

	if (xmlHttp == null)
	{
		alert ("Browser does not support HTTP Request");
		return;
	}

	var cardno = "4567160120"; 
	cardno = cardno + document.getElementById("CardNumber").value;

	var url = "/Card_Movements.aspx";
	url = url + "?CardNumber=" + cardno;
	url = url + "&sid=" + Math.random();

	xmlHttp.onreadystatechange=stateChanged2
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
} 

function GetCardStatusNew() // EKKI EYÐA, FYRIR NÝTT KORTATÉKK.
{
	document.getElementById('CardStatus').style.display = 'block';
	document.getElementById("CardStatus").innerHTML = "Sæki stöðu...";
	xmlHttp = GetXmlHttpObject();

	if (xmlHttp == null)
	{
		alert ("Browser does not support HTTP Request");
		return;
	}

	var cardno = "456716"; 
	cardno += document.getElementById("CardStoreNumber").value;
	cardno += document.getElementById("CardNumber").value;

	var url = "/Card_Movements.aspx";
	url = url + "?CardNumber=" + cardno;
	url = url + "&sid=" + Math.random();

	xmlHttp.onreadystatechange=stateChanged2
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
} 

function stateChanged() 
{ 
	if (xmlHttp.readyState == 4) 
	{
		if (xmlHttp.status == 200) 
		{
			document.getElementById("CardStatus").innerHTML = xmlHttp.responseText;
		}
	}
}
function stateChanged2() 
{ 
	if (xmlHttp.readyState == 4) 
	{
		if (xmlHttp.status == 200) 
		{
			document.getElementById("CardStatus").innerHTML = xmlHttp.responseText;
		}
	}
}
function GetXmlHttpObject()
{ 
	var objXMLHttp=null
	if (window.XMLHttpRequest)
	{
		objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject)
	{
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp
}

function GetCardStatusArion()
{
	document.getElementById('CardStatus').style.display = 'block';
	document.getElementById("CardStatus").innerHTML = "Sæki stöðu...";
	xmlHttp = GetXmlHttpObject();

	if (xmlHttp == null)
	{
		alert ("Browser does not support HTTP Request");
		return;
	}

	var cardno ="45074200";
	cardno += document.getElementById("CardNumber3").value;
	cardno += document.getElementById("CardNumber4").value;

	var url = "/?pageid=67";
	url = url + "&giftcardnumber=" + cardno;

	xmlHttp.onreadystatechange=stateChanged2
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
}

function toggleLayer(val)
{
	if(val == 'on' || val === true)
	{
		document.getElementById('cardnew').style.display = 'block';
		document.getElementById('cardold').style.display = 'none';
		document.getElementById('CardStatus').style.display = 'none';
	}
	else if(val == 'off' || val === false)
	{
		document.getElementById('cardnew').style.display = 'none';
		document.getElementById('cardold').style.display = 'block';
		document.getElementById('CardStatus').style.display = 'none';
	}
}

function nextBox(input)
{
	if(input.value.toString().length == 4)
	{
		document.getElementById('CardNumber4').focus();
	}
}

function nextBoxOli(field)
{
	var BACKSPACE = 8;
	var DELETE = 46;
	var MAX = 2;

	//Tökum eitt input element og finnum öll nálæg
	var seed = document.getElementById(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.readOnly)
			{
				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;

	}
}

Array.prototype.top = function()
{
	return this[this.length-1];
}

