window.onload = init;

year = 2005;
month = 1;
day = 1;

function init()
{
	setElementHeight('content','col1','col2');
	setDate();

	//alert(document.getElementById('ctl00_ctl07_JobCategory'));
	//if(document.getElementById('ctl00_ctl07_JobCategory') != null)
	//	disableEndDate(document.getElementById('ctl00_ctl07_JobCategory'));
	//}
}

function disableEndDate(element)
{
	if (element.options[element.selectedIndex].value == '3')
	{
		//document.getElementById('ctl00_ctl07_PublishDateEnd').disabled = true;
		document.getElementById('ctl00_ctl09_PublishDateEnd').value = '';
		document.getElementById('DateEndMessage').style.display = 'inline';
		document.getElementById('JobTitleMessage').style.display = 'inline';
	}
	else
	{
		//document.getElementById('ctl00_ctl07_PublishDateEnd').disabled = false;
		//document.getElementById('ctl00_ctl07_JobTitle').disabled = false;
		document.getElementById('DateEndMessage').style.display = 'none';
		document.getElementById('JobTitleMessage').style.display = 'none';
	}
}

function email(addressm) {
	location.href = 'mailto:'+address+'@capcacent.is'
}

function sortNum(a,b) { return b-a }

function setElementHeight(one,two,three) {
	if (document.getElementById(one)) {
		var obj=new Array(3);
		var option=[one,two,three];
		for(var i=0; i<option.length; i++) {
			document.getElementById(option[i]).style.height="auto";
			obj[i]=document.getElementById(option[i]).offsetHeight;
			nh=obj.sort(sortNum);
		}
		nh1=nh.splice(1,2);
		var newHeight = parseInt(nh) + parseInt(10);
		for(var i=0; i<option.length; i++) {
			document.getElementById(option[i]).style.height=newHeight+"px";
		}
	}
}

function setDate()
{
	var CurrentDate = new Date();
	year = CurrentDate.getFullYear();
	month = CurrentDate.getMonth();
	day = CurrentDate.getDate();
}


function outputdate(x,inputfield)
{
	day=x;
	document.getElementById(inputfield).value='' + year + '.' + (month>8?month+1:'0'+month+1) + '.' + (day>9?day:'0'+day);
	document.getElementById('cal').style.visibility = "hidden";
}
			
function wd(x)
{
	return new Date(year,(x||month),1).getDay()||7;
}

function md(x)
{
	var days=[0,((!(year%4)&&year%100)||!(year%400))?29:28,0,30,0,30,0,0,30,0,30,0];return days[(x||month)]||31;
}

function cal(inputfield)
{
	document.getElementById('cal').style.visibility = "visible";
	var cal='<b>Mán</b><b>Þri</b><b>Mið</b><b>Fim</b><b>Fös</b><b>Lau</b><b>Sun</b>';
	for(i=1;i<wd();i++)
	{
		cal+='<i>'+(i+md(month-1)-wd())+'</i>';
	}

	for(i=1;i<=md();i++)
	{
		cal+='<a href="javascript:outputdate('+i+',\'' + inputfield.id + '\')">'+i+'</a>';
	}

	for(i=1;i<9-wd(month+1);i++)
	{
		cal+='<i>'+i+'</i>';
	}

	document.getElementById('cal').innerHTML=cal+(month+1)+' / '+year;
}


function enlargeFont() {
	var size = getCookie("fontsize");

	if (size == null) {
		size = 11;
	}
	size = parseInt(size) + 2;
	
	if (size > 13) {size = 13}
	document.body.style.fontSize = getPercentSize(size)+'%';
	setCookie("fontsize",size);
}

function shrinkFont() {
	var size = getCookie("fontsize");
	if (size == null) {
		size = 11;
	}
	size = parseInt(size) - 2;
	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) + "; path=/; expires="+expire.toGMTString();	
	//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;
	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 == 'Kennitala')
					{ 
						errString += '<label for="' + elem.id + '"><strong>Musisz poda&#263; numer ewidencyjny</strong></label>' + errMsgDetail + '<br/>'
					}
					else if(elem.title == 'Lykilorð')
					{
						errString += '<label for="' + elem.id + '"><strong>Musisz poda&#263; has&#322;o</strong></label>' + errMsgDetail + '<br/>'
					}
					else
					{
						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) {
			alert('kennitala');
			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 = errString;
		document.getElementById('notice').style.visibility = "visible";
	}
	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;
   	}

	if (stripped.length == 0) {
		elemIsValid = true;
	}
	
	return elemIsValid;
}


