
String.prototype.trim = function() {

// skip leading and trailing whitespace
// and return everything in between
  return this.replace(/^\s*(\b.*\b|)\s*$/, "$1");

}

// ===========================================================
//  Athugar hvort netfang er löglegt
// =========================================================== 
function checkEmail( sEmail ){

	var bResult = false;

	sEmail = sEmail.trim();

	var rexpIsEmail=/^.+@.+\..{2,3}$/;
	if ((rexpIsEmail.test(sEmail))) { 
			bResult = true;
	}

	return bResult;  
}

function show( id )
{
   	document.getElementById(id).style.display = 'block';
}

function showTableInline( id )
{
   	document.getElementById(id).style.display = 'table-inline';
}

function hide( id )
{
	document.getElementById(id).style.display = 'none';
}

function showHideToggle( id )
{
	if( document.getElementById(id).style.display == 'none' )
	   	document.getElementById(id).style.display = 'block';
	else
		document.getElementById(id).style.display = 'none';
}
	
function setBackgroundGrey(field)
{
   	if(field.style)
   		field.style.backgroundColor = 'rgb(225,225,225)';
}
  	
function setBackgroundWhite(field)
{
   	if(field.style)
   		field.style.backgroundColor = 'rgb(255,255,255)';
}

// alerts the user if kennitala is not legal
function kannaKennitolu(svaedi)
{
	var kt = svaedi.value;

	if (kt == "") return true;

	if (kt.length != 10) 
	{
		alert("Kennitalan er of stutt");
		svaedi.focus();
		return false;
	}

	//Vartölupróf
	var ath=parseInt(kt.substring(0,1),10)*3+
                   	parseInt(kt.substring(1,2),10)*2+
                   	parseInt(kt.substring(2,3),10)*7+
                   	parseInt(kt.substring(3,4),10)*6+
                   	parseInt(kt.substring(4,5),10)*5+
                   	parseInt(kt.substring(5,6),10)*4+
                   	parseInt(kt.substring(6,7),10)*3+
                   	parseInt(kt.substring(7,8),10)*2+
                   	parseInt(kt.substring(8,9),10);
  	if (ath % 11 != 0) 
  	{
    	alert("Kennitalan er ekki lögleg. \nVinsamlegast lagfærið hana.");
    	svaedi.focus();
	    return false;
	  }
  
	return true;
}

	function validateEmail( emailString )
    {
        var re;
        // Rules for the email regular expression:
        // The start of the email must have at least one character
        // before the @ sign
        // There may be either a . or a -, but not together before the @ sign
        // There must be an @ sign
        // At least once character must follow the @ sign
        // There may be either a . or a -, but not together in the address
        // The address must end with a . followed by 2 to 4 characters( non numbers )
        re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.[a-z]{2,4})+$/;

        
        if (re.test(emailString) == true){
            //alert('Löggengt netfang, þetta er allt í fína =)');
            return true;
            }
        else
        {
            alert('Netfang ekki rétt!');
            return false;
        }
    }

	// check if form items start with "req_" then require them to be filled out
	// check e-mail specially ( if entered )
	function checkRequiredEntries(form)
	{
		var marker = 0;
		for (var i = 0; i < form.elements.length; i++)
		{
			if (form.elements[i].name.substring(0,3) == "req")
			{
				if (form.elements[i].value == "")
				{
					marker = 1;
					var temp = form.elements[i].name.substring(4,30);
					alert("Fylla verður út í reitinn "+ temp);
					form.elements[i].focus();
					break;
				}
			}
			var email_ok = true;
			//check req_Netfang and if field with name netfang/email, check if legal email
			if ( (form.elements[i].name.substring(0,11) == "req_Netfang") || ( ( ( form.elements[i].name == "Netfang") || (form.elements[i].name == "email")) && (form.elements[i].value != "") )
				)
			{
				email_ok = validateEmail(form.elements[i].value);
				if ( !email_ok )
				{
					form.elements[i].focus();
					form.elements[i].select();
					break;
				}
			}
		}
		var extra = checkExtra(form);
		
		if (!marker && email_ok && extra )
		{
			form.update.value = true;
			alert("Nú mætti senda formið, (update sett true), allt sem verður að fylla út hefur verið skráð :).");
			return true;
		}
		return false;
	}
	
	//Extra check for page, if nothing extra to check, return true	
	function checkExtra(form)
	{
			return true;

	}
	
	//********
	// ToolTip
	// 	NOTE: must place this DIV right before HTML BODY end
	//	<div id="tooltip" class="tooltip" style="display: none; position: absolute; "></div>
	//	This DIV is in bottom.html
	//********
	
		// toolTip calls toolTipWithOffset 0,0
		function toolTip( e,message )
		{
			toolTipWithOffset( e, 0, 0, message);
		}

		// toolTipWithOffset, message is the text to display, mouse positions are x and y
		function toolTipWithOffset( e, xOffset, yOffset,message )
		{
			var x = e.pageX? e.pageX: e.clientX;
			var y = e.pageY? e.pageY: e.clientY;

			//IE does not add scrolling distance automatically
			if (navigator.appName == "Microsoft Internet Explorer")
				moveToolTipTo( x+xOffset, (y+document.body.scrollTop+yOffset) );
			else
				moveToolTipTo( x+xOffset, y+yOffset );
			document.getElementById('tooltip').style.display = 'block';
			changeToolTip( message );
		}
		
		// toolTipWithOffset, message is the text to display, mouse positions are x and y, width stands for box width
		function toolTipWithOffset2( e, xOffset, yOffset,message, width )
		{
			var x = e.pageX? e.pageX: e.clientX;
			var y = e.pageY? e.pageY: e.clientY;

			//IE does not add scrolling distance automatically
			if (navigator.appName == "Microsoft Internet Explorer")
				moveToolTipTo( x+xOffset, (y+document.body.scrollTop+yOffset) );
			else
				moveToolTipTo( x+xOffset, y+yOffset );
				
			document.getElementById('tooltip').style.width = width;
			document.getElementById('tooltip').style.display = 'block';
			changeToolTip( message );
		}

		// hide the toolTip
		function toolTipOut()
		{
			document.getElementById('tooltip').style.display = 'none';
		}

		// moveToolTipTp, moves the ToolTip DIV to the desired location
		function moveToolTipTo( left, top )
		{
			document.getElementById('tooltip').style.top = top;
			document.getElementById('tooltip').style.left = left;
		}

		// set text of toolTip message
		function changeToolTip( message )
		{
			x = document.getElementById('tooltip');
			x.innerHTML = '';
			x.innerHTML = message;
		}

	// ToolTip END
	
	
	
function MM_openBrWindow(theURL,winName,features) 
{ 
	window.open(theURL,winName,features);
}

function F_loadRollover(){}

function F_roll(){}

function changeLanguage( lang )
{
		var temp = window.location.href;
		// remove old language parameter
		if( temp.indexOf("language") != -1 )
		{
			temp = temp.replace("language","oldLanguage");
		}
		// need to check if parameters are set, then add & not ? in next line

		if( temp.indexOf("?") != -1 )
			temp = temp + '&language=' + lang;
		else
			temp= temp + '?language=' + lang;
			
		window.location = temp;
}



function stafirEftirKommuR(svaedi,fjoldi) 
{
		var tmp =  svaedi + "";
		var tmp2 = tmp.replace(',','.');
		var ret;
	
		val=tmp2.split(".");
		
		var fjoldiStafaeftirkommu = 0;
		if (val[1])
			fjoldiStafaeftirkommu = val[1].length;
		if (fjoldiStafaeftirkommu > fjoldi)
		{
			tmp =  tmp2.toFixed(1);      
			ret = tmp.replace('.',',');                   
		}
		else
		{
			ret =  svaedi.replace('.',',');
		}
		
		return ret;
} 


function stafirEftirKommu2(svaedi,fjoldi) 
{
		var tmp =  svaedi + "";
	
		val=tmp.split(".");
		
		var fjoldiStafaeftirkommu = 0;
		if (val[1])
			fjoldiStafaeftirkommu = val[1].length;
		if (fjoldiStafaeftirkommu > fjoldi)
		{
			return svaedi.toFixed(1);                         
		}
		else
		{
			return svaedi;
		}
} 

function getHTTPObject2() 
{	
	var xmlhttp;
 /*@cc_on
  @if (@_jscript_version >= 5)
   	try {
	      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
	      try {
	        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      	} catch (E) {
        	xmlhttp = false;
      }
   	}
  @else
	  xmlhttp = false;
  @end @*/

	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') 
	{
    	try 
    	{
			xmlhttp = new XMLHttpRequest();
		} 
		catch (e) {xmlhttp = false;}
  	}
	return xmlhttp;
}

function getNodeContent2( node )
{
	if( node.hasChildNodes() )
		return node.firstChild.data;
	return '';
}