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) + "%";
	}

}

function ToggleCSS(title, active)
{
	var stylesheets = document.getElementsByTagName('LINK');
	for (var i = 0; i < stylesheets.length; i++)
	{
		if (stylesheets[i].title == title)
		{
			stylesheets[i].disabled = (!active);
		}
	}
}

function GetCSSStatus(title)
{
	var stylesheets = document.getElementsByTagName('LINK');
	for (var i = 0; i < stylesheets.length; i++)
	{
		if (stylesheets[i].title == title)
		{
			return (!stylesheets[i].disabled);
		}
	}
}

function contrast()
{
	if (GetCSSStatus('alternate'))
	{
		ToggleCSS('alternate', false);
	}
	else
	{
		ToggleCSS('alternate', true);
	}
}

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 email_onclick() {
	var elem = document.getElementById('LoginEMail');
	if (elem.value == 'Netfang') {
		elem.value = '';
	}
}

function email_onblur() {
	var elem = document.getElementById('LoginEMail');
	if (elem.value == '') {
		elem.value = 'Netfang';
	}
}

function passw_onclick() {
	var elem = document.getElementById('LoginPassword');
	if (elem.value == 'Lykilorð') {
		elem.value = '';
	}
}

function passw_onblur() {
	var elem = document.getElementById('LoginPassword');
	if (elem.value == '') {
		elem.value = 'Lykilorð';
	}
}

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));
}

/* 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 {
					isValid = (elem.value != '');
				}
				
				if (!isValid) {
					alert(elem.title + ' er ekki rétt útfyllt!');
					elem.focus();
					elem.style.borderColor = '#FF4A4A';
					elem.style.backgroundColor = '#FDFAD0';
					return false;
				} else {
					elem.style.borderColor = '';
					elem.style.backgroundColor = '';
				}
			}			
		}
	}
	return true;
}

function validateForm(form) {
	var isValid = true;
	var elemIsValid = true;
	var errString = "";
	var errMsgDetail = "";
	
	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) {
					if(elem.title == 'Nafn') {
						errMsgDetail = 'Athugaðu að skrifa nafnið þitt í reit merktan "Nafn"<br/>';			
					} else if(elem.title == 'Netfang'){
						errMsgDetail = 'Athugaðu að skrifa netfangið þitt<br/>';
					} else if(elem.title == 'Fyrirspurn'){
						errMsgDetail = 'Athugaðu að skrifa erindið þitt í reitinn merktan "Fyrirspurn"<br/>';
					}

					errString += '<label for="' + elem.id + '"><strong>' + elem.title + ' vantar: </strong></label>' + errMsgDetail + '<br/>'
					elem.focus();
					elem.style.borderColor = '#FF4A4A';
					elem.style.backgroundColor = '#FDFAD0';
					isValid = false;
				} else {
					elem.style.borderColor = '';
					elem.style.backgroundColor = '';
					elemIsValid = true;
				}
			}			
		}
		else if(elem.className.indexOf('kennitala') > 0) {
			elemIsValid = isValidNumber(elem.value, 10); 
			
			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 = '<h3>Villa í skráningarformi</h3><br/>' + errString;
		document.getElementById('notice').style.visibility = "visible";
	}
	return isValid;
}

function isValidEmail(value) {
	return (value.indexOf(".") > 2) && (value.indexOf("@") > 0);
}
