$(function()
{
	Date.format = 'dd.mm.yyyy';
	Date.dayNames = ['Sunnudagur', 'Mánudagur', 'Þriðjudagur', 'Miðvikudagur', 'Fimmtudagur', 'Föstudagur', 'Laugardagur'];
	Date.abbDayNames = ['Sun', 'Mán', 'Þri', 'Mið', 'Fim', 'Fös', 'Lau'];
	Date.monthNames = ['Janúar', 'Febrúar', 'Mars', 'Apríl', 'Maí', 'Júní', 'Júlí', 'Ágúst', 'September', 'Október', 'Nóvember', 'Desember'];
	Date.abbrMonthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'Maí', 'Jún', 'Júl', 'Ágú', 'Sep', 'Okt', 'Nóv', 'Des'];
	$.dpText = {
		TEXT_PREV_YEAR	: 'Fyrra ár',
		TEXT_PREV_MONTH	: 'Fyrri mánuður',
		TEXT_NEXT_YEAR	: 'Næsta ár',
		TEXT_NEXT_MONTH	: 'Næsti mánuður',
		TEXT_CLOSE	: 'Loka',
		TEXT_CHOOSE_DATE	: 'Velja dagsetningu',
		HEADER_FORMAT 	: 'mmmm yyyy'
	}
	$('.date-pick').datePicker({ startDate : '01/01/1901' });
	clickZoomImages();
});
// General form-validation
function validate(form)
{
	var isValid = true;
	var ifCount = 0;

	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('ssnoval') > 0)
				{
					isValid = (elem.value.length == 11);
				} else if (elem.className.indexOf('dropdownval') > 0)
				{
					isValid = (elem.value != 0);
				} else if (elem.className.indexOf('numberval') > 0)
				{
					isValid = IsNumeric(elem.value);
				} else if (elem.className.indexOf('phoneval') > 0)
				{
					isValid = IsPhone(elem.value);
				} else
				{
					isValid = (elem.value != '');
				}

				if (!isValid)
				{
					alert(elem.title + ' er ekki rétt út fyllt!');
					elem.focus();
					elem.style.borderColor = '#FF4A4A';
					elem.style.backgroundColor = '#FDFAD0';
					return false;
				} else
				{
					elem.style.borderColor = '';
					elem.style.backgroundColor = '';
				}
			}
		}
		else if (elem.className.indexOf('reeqdif') > 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 && elem.value != '')
				{
					ifCount = ifCount + 1;
					isValid = isValidEmail(elem.value);
				} else if (elem.className.indexOf('ssnoval') > 0 && elem.value != '')
				{
					ifCount = ifCount + 1;
					isValid = (elem.value.length == 11);
				} else if (elem.className.indexOf('dropdownval') > 0)
				{
					ifCount = ifCount + 1;
					isValid = (elem.value != 0);
				} else if (elem.className.indexOf('numberval') > 0 && elem.value != '')
				{
					ifCount = ifCount + 1;
					isValid = IsNumeric(elem.value);
				} else if (elem.className.indexOf('phoneval') > 0 && elem.value != '')
				{
					ifCount = ifCount + 1;
					isValid = IsPhone(elem.value);
				} else if (elem.value != '')
				{
					ifCount = ifCount + 1;
				}

				if (!isValid)
				{
					alert(elem.title + ' er ekki rétt út fyllt!');
					elem.focus();
					elem.style.borderColor = '#FF4A4A';
					elem.style.backgroundColor = '#FDFAD0';
					return false;
				} else
				{
					elem.style.borderColor = '';
					elem.style.backgroundColor = '';
				}
			}
		}
	}

	if (ifCount > 0)
	{
		for (var i = 0; i < form.elements.length; i++)
		{
			var elemif = form.elements[i];
			if (elemif.className.indexOf('reeqdif') > 0)
			{
				if (elemif.value == '')
				{
					alert(elemif.title + ' er ekki rétt út fyllt!');
					elemif.focus();
					elemif.style.borderColor = '#FF4A4A';
					elemif.style.backgroundColor = '#FDFAD0';
					return false;
				} else
				{
					elemif.style.borderColor = '';
					elemif.style.backgroundColor = '';
				}
			}
		}
	}


	return true;
}

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;
	}

	if (stripped.length == 0)
	{
		elemIsValid = true;
	}

	return elemIsValid;
}

function IsNumeric(sText)
{
	return /^[0-9]+$/.test(sText);
}

function IsPhone(sText)
{
	return /^\+?[0-9][0-9- ]+$/.test(sText);
}
Font =
{
	_skip		: [],
	_basesize		: 12,
	_size		: 0,
	_startsize	: 0,
	_maxsize		: 15,
	_minsize		: 9,
	_cookie		: "fontsize",
	_disabled		: false,

	init : function(params)
	{
		if(params["size"])
			this._startsize = this._size = params["size"];

		if(params["basesize"])
			this._basesize = params["basesize"];

		if(params["skip"])
			this.skip.apply(this, params["skip"]);

		if(params["cookie"])
			this._cookie = params["cookie"];

		if(params["maxsize"])
			this._maxsize = params["maxsize"];

		if(params["minsize"])
			this._minsize = params["minsize"];

		if(params["disabled"])
			this._disabled = params["disabled"];

		if( (getCookie(this._cookie) != null) && (getCookie(this._cookie) != '') )
		{
			this._size = getCookie(this._cookie);
		}

		if(this._size != this._startsize)
			this.set_size(this._size);
	},

	set_size : function(size)
	{
		if(this._disabled)
			return;

		var p = this.percent_size(size);

		document.body.style.fontSize = p + '%';
	
		var skip = this._skip;
		for(var i = 0, n = skip.length; i<n; i++)
		{
			var o = skip[i];

			var s = Math.floor((this.percent_size(this._startsize)/100)/(p/100)*100);

			o.style.fontSize = s + "%";
		}
	},

	normal : function()
	{
		this.set_size(11);
	
		this._size = 11;
		setCookie(this._cookie, 11);
	},

	larger : function()
	{
		this.set_size(13);
	
		this._size = 13;
		setCookie(this._cookie, 13);
	},

	largest : function()
	{
		this.set_size(15);
	
		this._size = 15;
		setCookie(this._cookie, 15);
	},

	enlarge : function()
	{
		var size = this._size;

		if (size == null || size == 0)
		{
			size = this._basesize;
		}

		size++;

		if (size > this._maxsize)
			size = this._maxsize;
		
		this.set_size(size);
	
		this._size = size;
		setCookie(this._cookie, size);
	},

	shrink : function()
	{
		var size = this._size;

		if (size == null || size == 0)
		{
			size = this._basesize;
		}

		size--;

		if (size < this._minsize)
			size = this._minsize;
		
		this.set_size(size);
	
		this._size = size;
		setCookie(this._cookie, size);
	},

	restore : function()
	{
		this.set_size(this._startsize);

		this._size = this._startsize;
		setCookie(this._cookie, this._startsize);
	},

	percent_size : function(size)
	{
		return size / this._basesize * 100;
	},

	skip : function()
	{
		for(var i = 0, n = arguments.length; i<n; i++)
		{
			var o = document.getElementById(arguments[i]);
	
			if(o)
				this._skip.push(o);
		}
	}
}

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 popcorn(x,y,w,h)
{
	window.open(x,y||'_blank','scrollbars,resizable,width='+(w||180)+',height='+(h||180)).focus()
}


function clickZoomImages()
{
	if (!$('#content a.clickzoomimage').length) return false;
	var clickzoomimages = $('#content a.clickzoomimage');
	clickzoomimages.fancybox({
		'hideOnContentClick': true,
		'zoomSpeedIn': 250,
		'zoomSpeedOut': 400
	});
}


