﻿function GetParam(name){
 var start = location.search.indexOf("?"+name+"=");
 if (start<0) start = location.search.indexOf("&"+name+"=");
 if (start<0) return '';

 start += name.length+2;
 var end = location.search.indexOf("&",start)-1;
 if (end<0) end = location.search.length;

 var result='';
 for(var i=start;i<=end;i++) {
  var c = location.search.charAt(i);
  result = result+(c=='+'?' ':c);
 }
 return unescape(QSParser(result));
}

function GetParamInString(name, str){
 var start = str.indexOf("?"+name+"=");
 if (start<0) start = str.indexOf("&"+name+"=");
 if (start<0) return '';

 start += name.length+2;
 var end = str.indexOf("&",start)-1;
 if (end<0) end = str.length;

 var result='';
 for(var i=start;i<=end;i++) {
  var c = str.charAt(i);
  result = result+(c=='+'?' ':c);
 }
 return unescape(QSParser(result));
}

function toggle(obj,display) {
  var el = (document.getElementById) ? document.getElementById(obj) : document.obj;
  el.style.display = (el.style.display != 'none' ? 'none' : display );
}

function getPortalNews(id,obj){
  var url = 'http://www.portal.fo/application/flags/index.php?task=news&id=' + id;
  var el = (document.getElementById) ? document.getElementById(obj) : document.obj;
  el.innerHtml = 'Content loading...';
  //el.innerHtml = loadXMLDoc('http://www.portal.fo/application/flags/?task=news&id=' + id);
  //loadXMLDoc(url);
  ajaxpage(url, obj)
}

var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects = "";
var rootdomain = "http://www.portal.fo/application/flags/";
var bustcacheparameter = "";

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, false);
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}


function TryParseInt(str, defaultValue) { 
  return /^\d+$/.test(str) ? parseInt(str) : defaultValue; 
}

function QSParser(s){
  s = s.replace('%C3%A1', 'á');
  s = s.replace('%C3%81', 'Á');
  s = s.replace('%C3%B0', 'ð');
  s = s.replace('%C3%90', 'Ð');
  s = s.replace('%C3%AD', 'í');
  s = s.replace('%C3%8D', 'Í');
  s = s.replace('%C3%B3', 'ó');
  s = s.replace('%C3%93', 'Ó');
  s = s.replace('%C3%BA', 'ú');
  s = s.replace('%C3%9A', 'Ú');
  s = s.replace('%C3%BD', 'ý');
  s = s.replace('%C3%9D', 'Ý');
  s = s.replace('%C3%A6', 'æ');
  s = s.replace('%C3%86', 'Æ');
  s = s.replace('%C3%B8', 'ø');
  s = s.replace('%C3%98', 'Ø');
  s = s.replace('%C3%A5', 'å');
  s = s.replace('%C3%85', 'Å');
  return s;
}

function SpecialLetters(s){
  s = s.replace('á','&aacute;');
  s = s.replace('Á','&Aacute;');
  s = s.replace('ð','&eth;');
  s = s.replace('Ð','&ETH;');
  s = s.replace('í','&iacute;');
  s = s.replace('Í','&Iacute;');
  s = s.replace('ó','&oacute;');
  s = s.replace('Ó','&Oacute;');
  s = s.replace('ú','&uacute;');
  s = s.replace('Ú','&Uacute;');
  s = s.replace('ý','&yacute;');
  s = s.replace('Ý','&Yacute;');
  s = s.replace('æ','&aelig;');
  s = s.replace('Æ','&AElig;');
  s = s.replace('ø','&oslash;');
  s = s.replace('Ø','&Oslash;');
  s = s.replace('å','&aring;');
  s = s.replace('Å','&Aring;');
  return s;
}

function checkExtranetForm(form){
 if(form.username.value.length <= 0){
  alert('Skriva brúkaranavn');
  form.username.focus();
  return false;
 }

 if(form.password.value.length <= 0){
  alert('Skriva loyniorð');
  form.password.focus();
  return false;
 }
 return true;
}

function getFocus(el){
 document.getElementById(el).focus();
}

function clearField(id,text,eventtype){
  if(eventtype=='onfocus'){
    if(document.getElementById(id).value == text){
      document.getElementById(id).value = '';
    }
  }
  if(eventtype=='onblur'){
    if(document.getElementById(id).value == ''){
      document.getElementById(id).value = text;
    }
  }
}

function Left(str, n){
  if (n <= 0){ return "";}
  else if (n > String(str).length){ return str;}
  else { return String(str).substring(0,n);}
}

function Right(str, n){
    if (n <= 0) { return "";}
    else if (n > String(str).length) { return str;}
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function rtrim(str) {
  for(var j=str.length-1; j>=0 && isWhitespace(str.charAt(j)) ; j--) ;
  return str.substring(0,j+1);
}

function isWhitespace(charToCheck) {
  var whitespaceChars = " \t\n\r\f";
  return (whitespaceChars.indexOf(charToCheck) != -1);
}

function pEnter(el,defaultValue,btn,alerttext){
  if(document.getElementById(el).value != defaultValue){
   if (window.event && window.event.keyCode == 13 && document.getElementById(el).focus()){
    document.getElementById(btn).click();
   }else{
    return false;
   }
  }
}

function checkform(text){
 try{
  if(document.SearchForm1.q.value != text){
   return true;
  }else{
   alert('Vinarliga brúka annað leitiorð!');
    return false;
  }
 }
 catch(e) {}
}

function isNumeric(sText){
 var ValidChars = "0123456789.";
 var valid = true;
 var Char;
 
 if(sText != null){
   for (i = 0; i < sText.length && valid == true; i++) { 
     Char = sText.charAt(i); 
     if (ValidChars.indexOf(Char) == -1){
       valid = false;
     }
   }
 }else{
   valid = false;
 }
 return valid;
}

function isNumberKey(e){
  var keynum;
  var keychar;
  var numcheck;

  if(window.event){ // IE
    keynum = e.keyCode;
  } else if(e.which){ // Netscape / Firefox / Opera
    keynum = e.which;
  }

  keychar = String.fromCharCode(keynum);
  numcheck = /d/;

  //return numcheck.test(keychar) || "abcdefghin ¼¾".indexOf(keychar) != -1;
}

setMenuItemAlignment = function(menuid) {
  var items = document.getElementById(menuid).getElementsByTagName("li");
  var newwidth = 100 / items.length;
  for(var i = 0; i < items.length; i++) {
    if(i == (items.length-1)) {newwidth = (parseInt(newwidth)-1);}
    items[i].style.width = parseInt(newwidth) + "%";
  }
}

/* ******************************************** */

function setCookie(name,value,days) {
	if (days) {
		var date = new Date();
//		date.setTime(date.getTime()+(days*24*60*60*1000));
		date.setTime(date.getTime()+(0*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

try{
$(document).ready(function() {
    var rFontSize = getCookie("rFontSize2");

    if (rFontSize != null) {
        setCookie("rFontSize2", 0, 30);
        chgFontSize(parseInt(rFontSize));
    }
});
}
catch(e) {}

function chgFontSize(size) {
    var arr = new Array();
    var all = $('*');
    var rFontSize = getCookie("rFontSize2");
    if (rFontSize == null)
        rFontSize = 0;

    if (parseInt(rFontSize) + size < 5 && parseInt(rFontSize) + size > -2) {
        setCookie("rFontSize2", parseInt(rFontSize) + size, 30);
             
        all.each(function(i) {
          var currentFontSize = $(this).css('font-size')
          var finalNum = parseFloat(currentFontSize, 10);
          var stringEnding = currentFontSize.slice(-2);
          
          if (size > 0)
            finalNum *= 1 + (size / 10);
          else
            finalNum /= 1 - (size / 10);
           
          arr[i] = finalNum + stringEnding;
        })
           
        all.each(function(i) {
          $(this).css('font-size', arr[i]);
        });
    }
}

/* ************** ACCORDION ********************** */

var ContentHeight = 70;
var TimeToSlide = 250.0;

var openAccordion = '';

function runAccordion(index)
{
  var nID = "Accordion" + index + "Content";
  if(openAccordion == nID)
    nID = '';
    
  setTimeout("animate(" + new Date().getTime() + "," + TimeToSlide + ",'" + openAccordion + "','" + nID + "')", 33);
  
  openAccordion = nID;
}

function animate(lastTick, timeLeft, closingId, openingId)
{  
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
  
  var opening = (openingId == '') ? null : document.getElementById(openingId);
  var closing = (closingId == '') ? null : document.getElementById(closingId);
 
  if(timeLeft <= elapsedTicks)
  {
    if(opening != null)
      opening.style.height = ContentHeight + 'px';
    
    if(closing != null)
    {
      closing.style.display = 'none';
      closing.style.height = '0px';
    }
    return;
  }
 
  timeLeft -= elapsedTicks;
  var newClosedHeight = Math.round((timeLeft/TimeToSlide) * ContentHeight);

  if(opening != null)
  {
    if(opening.style.display != 'block')
      opening.style.display = 'block';
    opening.style.height = (ContentHeight - newClosedHeight) + 'px';
  }
  
  if(closing != null)
    closing.style.height = newClosedHeight + 'px';

  setTimeout("animate(" + curTick + "," + timeLeft + ",'" + closingId + "','" + openingId + "')", 33);
}

/*  ************** CHANGE FONT SIZE ********************* */

var min = 8;
var max = 12;
var defaultsize = 10;

function changeFontSize(inc) {
  var p = document.getElementsByTagName('*');
  for(n=0; n<p.length; n++) {
    if(p[n].style.fontSize) {
       var size = parseInt(p[n].style.fontSize.replace("pt", ""));
    } else {
       var size = defaultsize;
    }

    if(size+inc >= min && size+inc <= max){
      p[n].style.fontSize = size+inc + 'pt';
    }
  }
}