﻿	function sh(f,sel,ed)
	{
	    //sh(this.form , this , hl3ME00100_row_ME_2_ed);
	    
		var ctrl = document.getElementById(sel.name + "_ed");
		var ctrl = ed;
		if(sel.value == '-2')
		{
			ctrl.style.display='inline';
			sel.style.display='none';
			sel.value = "";
		}
		else
		{
			ctrl.style.display='none';
			sel.style.display='inline';
		}
	}
	
	function selfile()
	{
		window.showModalDialog("postimage.aspx","Dialog Arguments Value","dialogHeight:150px; dialogWidth: 300px; dialogTop: 405px; dialogLeft: 413px; edge: Raised;center: Yes; help: No; resizable: No; status: Yes;");
	}
	
	function setemployeeimage(imagepath)
	{
	    return; //ekki leingur notað
	    document.getElementById('employeeimg').src = imagepath;
	}
	
	function Help_OnClick(sHelpID)
	{
		//var oHelp = dnn.dom.getById(sHelpID);
		var oHelp = document.getElementById(sHelpID);
		if (oHelp != null)
		{
			if (oHelp.style.display == 'none')
				oHelp.style.display = '';
			else
				oHelp.style.display = 'none';

			return true;	//cancel postback
		}
		return false;	//failed so do postback
	}

	function SwitchComboFree(id)
	{
		//debugger
		var ed = document.getElementById(id + "_ed");
		if(ed === null)
		    return false;
		ed.style.display='none';
		document.getElementById(id + 's').style.display='inline';
		ed.value='';
		document.getElementById(id+'z').value='';
		return false;
	}
	


/*********************************************************
 * Flutt úr wuc_rcjobad.ascx
 **********************************************************/

	var CloseString = "Ef þú ferð af þessari síðu þá tapar þú öllum innslegnum upplýsingum";

	/******************************/
	function newline(table)
	{
	    var x = table.rows[1].cells.length;
		
		var NextRowID = table.rows[table.rows.length-1].id;
		if (NextRowID < 2)
		    NextRowID = 2;
		else
		    NextRowID = NextRowID*1 + 1;
		
		var myNewRow = table.insertRow(table.rows.length);
		//myNewRow.id = myNewRow.rowIndex;
		myNewRow.id = NextRowID;
		for (i = 0; i < x; i++)
		{   
			var s = table.rows[1].cells.item(i).innerHTML;
			var myNewCell = myNewRow.insertCell(myNewRow.cells.length);
			myNewCell.innerHTML = s;
		}
		for (i = 0; i < x; i++)
		{
			//myNewRow.cells.item(i).mergeAttributes(table.rows[1].cells.item(i));
			//AddRowToName(myNewRow.cells.item(i),myNewRow.rowIndex, table.rows[1].cells.item(i));		
			
			var tr1 = myNewRow.cells.item(i);
			var tr2 = table.rows[1].cells.item(i);

			mergeAttributes(tr1,tr2, NextRowID);
			/*
			if ("mergeAttributes" in tr1) 
            { 
                tr1.mergeAttributes(tr2, false); 
            } 
            else 
            { 
                for (var y=tr2.attributes.length-1; y >= 0; y--) 
                { 
                    var attr = tr2.attributes[y]; 
                    tr1.setAttribute(attr.name, attr.value); 
                }
            }
            AddRowToName(tr1,myNewRow.rowIndex, tr2);	
            */
            AddRowToName(tr1,NextRowID, tr2);	
		}
	}
	
	/*
	Tilraun til að laga InitControl þegar lína er afrituð 
	Tókst ekki.
	*/
	/*
    function changeScript(obj1,NewRowID)
    {
        
        var inner = obj1.innerHTML;
        if(inner.indexOf("InitControl")>0)
        {debugger
            var name = obj1.childNodes(0).name;
            if (name != 'undefined' && name != null)
            {
                var index = name.lastIndexOf('_');
			    var name2= name.substr(0,index);
			    name2 = name2+'_'+NewRowID;
			    
			    var re = new RegExp('InitControl(\''+name,"gm");
			    inner = inner.replace(re,'InitControl(\''+name2);
			    obj1.innerHTML = inner;
			}
        }
    }*/
	
	function mergeAttributes(obj1, obj2, NewRowID)
	{
	    if ("mergeAttributes" in obj1) 
        {    
            obj1.mergeAttributes(obj2, false); 
            //changeScript(obj1,NewRowID);
        } 
        else 
        { 
            var n = obj2.name;
            if (n != 'undefined' && n != null)
            {
                var index = n.lastIndexOf('_');
			    var n2= n.substr(0,index);
			    n2 = n2+'_'+NewRowID;
			}
				
            var re = new RegExp(n,"gm");
            for (var y=obj2.attributes.length-1; y >= 0; y--) 
            { 
                var attr = obj2.attributes[y]; 
                var val = attr.value;
                if (n != 'undefined' && n != null)
                    val = attr.value.replace(re,n2);
                obj1.setAttribute(attr.name, val); 
            }
        }
	}
	
	function removeAllOptions(selectbox)
    {
        while (selectbox.options.length > 0)
        {
            selectbox.remove(selectbox.options.length-1);
        }
    }	
	
	/******************************/
	function AddRowToName(obj,NewRowNum, oldObject)
	{
	    var z = 0;
	    var chkVisible = "";
	    for(z = 0; z < obj.childNodes.length; z++)
		{
			
			var tagname = obj.childNodes[z].tagName;
			if((tagname =='INPUT') || (tagname == 'SELECT'))
			{
				var n = obj.childNodes[z].name;
				
				if(tagname =='INPUT' && obj.childNodes[z].getAttribute("type") == 'checkbox')
					obj.childNodes[z].checked = false;
				else
					obj.childNodes[z].innerText = "";
					
				var index = n.lastIndexOf('_');
				var n2= n.substr(0,index);
				n2 = n2+'_'+NewRowNum;
				obj.childNodes[z].name = n2;
				var oldSel = oldObject.childNodes[z];
				var newSel = obj.childNodes[z];
				mergeAttributes(newSel,oldSel,NewRowNum);
				if(oldSel.onkeypress)
				    newSel.onkeypress = oldSel.onkeypress;
				if(oldSel.onblur)
				    newSel.onblur = oldSel.onblur;
				//newSel.mergeAttributes(oldSel);
				
				if(tagname == 'SELECT')
				{
                    //var chkVisible = obj.childNodes[z];
                    removeAllOptions(newSel);
					for (tel=0; tel< oldSel.options.length; tel++)
					{
						var oOption = document.createElement("OPTION");
						//oOption.innerText = oldSel.options[tel].innerText;
						oOption.text = oldSel.options[tel].text;
						oOption.value = oldSel.options[tel].value;
						newSel.options.add(oOption);
					}
				}
				var re = new RegExp(n,"gm");
				
				//Í Firefox er í stað þess að nota outerHTML til að skipta út nafni á öllu í einu þá þarf lykkja yfir öll attribute og skipta út.
				if ("outerHTML" in newSel)
				{
				    newSel.outerHTML = newSel.outerHTML.replace(re,n2); //IE
				}
				else
				{
				    for (var y=newSel.attributes.length-1; y >= 0; y--) //FireFox
                    { 
                        var attr = newSel.attributes[y]; 
                        var val = attr.value.replace(re,n2);
                        newSel.setAttribute(attr.name, val); 
                    }
                }
                if(tagname == 'SELECT')
				{
                    var chkVisible = obj.childNodes[z];
                }
			}
			else if(tagname == 'SPAN' || tagname == 'BUTTON' || (BrowserDetect.browser != "Explorer" && tagname == 'A') )
			{
				//debugger
				var newSel = obj.childNodes[z];
				//var re = new RegExp("_1","gm");
				var re = new RegExp(n,"gm");
				//newSel.outerHTML = newSel.outerHTML.replace(re,"_"+NewRowNum);
				if ("outerHTML" in newSel)
				{
				    newSel.outerHTML = newSel.outerHTML.replace(re,n2); //IE
				}
				else
				{
				    for (var y=newSel.attributes.length-1; y >= 0; y--) 
                    { 
                        var attr = newSel.attributes[y]; 
                        var val = attr.value.replace(re,n2);
                        newSel.setAttribute(attr.name, val); 
                    }
                }
			}
		
			if(oldObject.childNodes != null && oldObject.childNodes != 'undefined')
			{
			  if(BrowserDetect.browser != "Explorer")
			    AddRowToName(obj.childNodes[z],NewRowNum, oldObject.childNodes[z]);
			}
		}
		if(chkVisible != "")
		{
		    var s = chkVisible.id;
		    s = s.substring(0,s.length-1);
		    return SwitchComboFree(s);
		}
	}
	
	function loopChild(newSel,oldSel)
	{
	    if(newSel.tagName == "INPUT")
	    {
	        //do the thing
	    }
	    else
	    {
	        if(newSel.firstChild)
	            lookChild(newSel.firstChild,oldSel.firstChild);
	    }
	}
	
	/******************************/	
	function deleterow(thisElement)
	{
	    if(thisElement.parentNode == null)
			return false;
		else if(thisElement.tagName == "TR")
		{
			if(thisElement.parentNode.rows.length >2)
				thisElement.parentNode.deleteRow(thisElement.rowIndex);
			return false;
		}
		else
			deleterow(thisElement.parentNode);
		return false;
	}
	
	/******************************/
	function IsRadioChecked(f, tmname)
	{
		for(tel = 0; tel < f.elements.length; tel++)
		{	
			var z = f.elements.item(tel);
			if(z.tagName == "INPUT" && z.getAttribute("type") == "radio")
			{
				if(z.name == tmname)
				{
					if(z.checked)
						return true;
				}
			}
		}
		return false;
	}
	
	/******************************/	
	function onValidateOnSubmit(form)
	{
		CloseString = "";
		document.body.onbeforeunload = null;
		//ath hvort netföng passa
		var netfang = form["hl3Netfang"];
		var netfangs = form["hl3Netfangs"];
		//var netfangs = document.getElementById("hl3Netfangs");
		//var netfang = form.elements.item("hl3Netfang");
		//var netfangs = form.elements.item("hl3Netfangs");
		if((netfang != null) && (netfangs != null))
		{
			if(netfang.value != netfangs.value)
			{
					alert("Netfang og staðfest netfang eru ekki eins ");
					netfang.focus();	
					return false;
			}
		}
		
		//Tékka á öllum req gildum
		var s = "";
		for(i = 1; i< form.elements.length;i++)
		{
			var el = form.elements[i];
			//debugger
			if(el.name.substr(0,3) =="hl3" && el.getAttribute("req") == "1")
			{
				s += " "+el.name;
				/*if(el.name == "hl3PU00600_row_PU_0100_1")
				{
					debugger
				}*/
				if(el.tagName == "INPUT" && el.getAttribute("type") == "radio")
				{
					if((el.checked == false) && (IsRadioChecked(form, el.name) == false))
					{
						alert("Þú átt eftir að skrá "+ el.getAttribute("caption"));
						el.focus();	
						return false;
					}
				}
				else if(el.tagName == "INPUT" && el.value == "")
				{
					alert("Þú átt eftir að skrá  "+ el.getAttribute("caption"));
					el.focus();	
					return false;
				}
				else if(el.tagName == "SELECT"&& el.value == "")
				{
					alert("Þú átt eftir að skrá "+ el.getAttribute("caption"));
					el.focus();	
					return false;
				}
			}
				
		}
		return true;
	}
	/******************************/	
	function tabKey(obj)
	{
		var a = new Array;
		var t = obj.tabIndex;
		  
		var numElements = document.all("tabobj").length;
		var objInput = document.all("tabobj");
		for (i=0;i<numElements;i++)
		{
			if(objInput[i].tabIndex == t+1)
			{
			objInput[i].focus();
			break;
			}
		}
		if(objInput[numElements-1].tabIndex==t)
		{
			objInput[0].focus();
		}
	}
	/******************************/
	function percentKey(s_value,obj)
	{
		var str_value = new String(s_value);
		var re, r
		checkKey(obj);
		
		if (window.event.keyCode != 8 && window.event.keyCode != 44 && window.event.keyCode != 46 && window.event.keyCode < 48 || window.event.keyCode > 57)
			window.event.keyCode='\0';
		
		else if(window.event.keyCode == 44 || window.event.keyCode == 46)
		{
			window.event.keyCode=44;
			
			re = /,/i;               
			r = str_value.search(re);
			if (r != -1)
			{
				window.event.keyCode='\0';
			}	
		}
	}
	
	function getKeyCode(evt)
	{
	    var keycode;
	    if(evt == undefined) 
	    {
	        evt = window.event; //IE
	        keycode = window.event.keyCode;
	    }
	    else
	        keycode = evt.which;	    
	    
	    return keycode;
	}
	
	/******************************/		
	function numberKey(evt)
	{
	    //var keycode = getKeycode(evt);
	    var keycode;
	    if(evt == undefined) 
	    {
	        evt = window.event; //IE
	        keycode = window.event.keyCode;
	    }
	    else
	        keycode = evt.which;	    
	    
    	//Leyfir:
    	// <= 31 stýritákn svo sem tab og backspace, 46 er punktur og tölustafi
	    if (keycode <= 31 || keycode == 46 || keycode > 47 && keycode < 58)
	    {
	        return;
	    }
	    else
	    {
	        if (window.event) 
                evt.returnValue = null; //IE
            else 
                evt.preventDefault();	//Firefox
	    }
	}

	/******************************/
	function upperKey(obj)
	{ 
	    checkKey(obj);
	    var strValue = obj.value;
	    strValue = strValue.toUpperCase();
	    obj.value = strValue;
	}
	/******************************/
	function checkKey(obj)
	{
	    //debugger
	    if (window.event.keyCode==13)
	    {
		    window.event.keyCode='\0';
		    window.event.returnValue=false;
		    tabKey(obj);
		}	
	} 
	
	//Til að samhæfa windows og firefox
	function getEventObject(evt)
	{
	   var obj;
       if(evt == undefined) evt = window.event; //IE
	   if(evt)
	      if(evt.target) 
		     obj = evt.target;
		  else 
		     obj = evt.srcElement;
	   return obj;
	}
	
	// athugar vartölu kennitölu
	function nationalid_check(evt)
	{
		var res = false;
		//var obj = window.event.srcElement;
		var obj = getEventObject(evt);
		var err = 'Innslegin kennitala þarf að vera tíu stafir!'; 
		if(obj.value.length==10)
		{
			var nid = obj.value.split("");
			var nidsum = (parseInt(nid[0])*3)+(parseInt(nid[1])*2)+(parseInt(nid[2])*7)+(parseInt(nid[3])*6)+(parseInt(nid[4])*5)+(parseInt(nid[5])*4)+(parseInt(nid[6])*3)+(parseInt(nid[7])*2);
			var checkdigit = nidsum % 11;
			if (((parseInt(nid[8]) == checkdigit) && checkdigit == 0) || (11-checkdigit == nid[8]))
			{
				res = true;
			}
			else
			{
				res = false;
				err = 'Innslegin kennitala er ekki rétt!'
			} 
		}
		if (res == false)
		{
			alert(err);
		}
		 
	}
	/******************************/
	function OpenAttachmentWindow(strAppId)
	{
		AttachmentWindow = window.open('AddAttachment.aspx?attachmentlist='+document.getElementById('fileattachments').value+'&applicationid='+strAppId, 'Vidhengi', 'width=380,height=320,top=200,left=200,toolbars=no,scrollbars=no,status=no,resizable=yes');
	}
	/******************************/
	function date_focus_out(evt)
	{
		var control = getEventObject(evt); //window.event.srcElement;
		var s = control.value;
		control.value = parseDate(s);	
	}
	/******************************/
	function parseDate(value)
	{
		var d = value;
		var syear;
		var smonth;
		var sday;
		var s;
	
        rExp = /\./gi;
        d = d.replace(rExp,'');
	
		if (d.length == 8 || d.length == 6)
		{
			//ár
			syear = d.substring(4,d.length);
			if (syear.length == 2)
			{
				syear = "20" + syear;
			}
			//mánuður
			smonth = d.substring(2,4);
			if (smonth == "00")
			{
				smonth = "01";
			}
			else if (parseInt(smonth) > 12)
			{
				smonth = "12";
			}
			//dagur
			sday = d.substring(0,2);
			if (sday == "00")
			{
				sday = "01";
			}
			else if(smonth == "02")
			{
				if (parseInt(syear) % 400 == 0) 
				{
					if (parseInt(sday) > 29)
					{
						sday = "29";
					}
				}	
				else if ((parseInt(syear) % 4 != 0) || (parseInt(syear) % 100 == 0))
				{
					if (parseInt(sday) > 28)
					{
						sday = "28";
					}
				}
				else
				{
					if (parseInt(sday) > 29)
					{
						sday = "29";
					}
				}			
			}
			else if (parseInt(sday) > 30 && (smonth == "04" || smonth == "06" || smonth == "09" || smonth == "11"))
			{
				sday = "30";
			}	
			else if (parseInt(sday) > 31)
			{
				sday = "31";
			}

			s = sday + "." + smonth + "." + syear;
		}
		/*
		else if (d.length == 10)
		{
			s = d;
		}
		*/
		else
		{
			s = "";
			alert('Dagsetning verður að vera á forminu dd.mm.áááá, ddmmáááá, eða ddmmáá');
		}
		return s;
	}

	/******************************/
	function InitControl(ctrl, ctrltype)
	{
		var aInputs = document.getElementsByName(ctrl);
		for(var i = 0; i < aInputs.length;i++)
		{
			if (ctrltype == "numberKey") 
			{
				aInputs[i].onkeypress = numberKey;
			}
			else if (ctrltype == "nationalid_check") 
			{
			    aInputs[i].onkeypress = numberKey;
				aInputs[i].onblur = nationalid_check;
			}
			else if (ctrltype == "date") 
			{
				aInputs[i].onkeypress = numberKey;
				aInputs[i].onblur = date_focus_out;
				//onkeypress="numberKey(this)" onblur="date_focus_out(this)"
			}
		}
	}
	
	
	function closeIt(evt)
	{
	    //sje
	    if(document.getElementById('confirm').value != "7" && 
	        document.getElementById('confirm').value != "6")
		    evt.returnValue = CloseString;
	}
	
	function showMenu(evt) 
	{

	    var scrollLeft, scrollTop;
	    if (window.pageXoffset)
	        scrollLeft = window.pageXoffset;
	    else
	        scrollLeft = document.body.scrollLeft;
	        
	    if (window.posTop)
	        scrollTop = window.posTop;
	    else
	        scrollTop = document.body.scrollTop;
	    
		//this function will position and display a nested div that acts like a menu
		whichDiv = getEventObject(evt);
		//whichDiv=evt.srcElement;
		//menu1.style.posLeft=event.clientX+document.body.scrollLeft;
        //menu1.style.posLeft = evt.clientX + scrollLeft;		
        menu1.style.left = evt.clientX + scrollLeft;	
		//menu1.style.posTop=event.clientY+document.body.scrollTop;
		//menu1.style.posTop = evt.clientY + scrollTop;
		menu1.style.top = evt.clientY + scrollTop;
		
		menu1.style.display="";
		//menu1.setCapture();
	}

	function toggleMenu(evt) 
	{
		//as the mouse moves over the menuItems, highlight them
		el = getEventObject(evt);
		//el=event.srcElement;
		if (el.className=="menuItem") 
		{
			el.className="highlightItem";
		}
		else if (el.className=="highlightItem") 
		{
			el.className="menuItem";
		}
	}

	function clickMenu(evt) 
	{
	    var men = document.getElementById("menu1");
		men.style.display="none";
		el = getEventObject(evt);
		//el=event.srcElement;
		if (el.id=="mnuPrint") 
			window.print();
			
	    if("releaseCapture" in men)
		    men.releaseCapture();
	}

	function contextTwice() 
	{
		//if (event.srcElement==whichDiv)
			showMenu();
	}
	
    function change_filebtnclass(obj)
    {
      if (obj.className=="filebutton")
      {
        obj.className="filebutton3D";
      }
      else
      {
        obj.className="filebutton";
      }
    }	
 
    function limitChar(evt, fj)
    {
        el = getEventObject(evt); 
        if(el.value.length >= fj)
        {
            if(evt == undefined) 
	        {
	            evt.keyCode='\0';
	        }       
		    
		    var strNew = el.value.substring(0, fj)
            el.value = strNew
	        return false;
	    }
	    else
	        return true;
    }
 
 
 /*detect browser*/
 var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
/*detect browser*/