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();



if(BrowserDetect.browser == "Safari" && BrowserDetect.OS == "Mac" && BrowserDetect.version >= 2.03) {
	
	var likesrsh = 'nei';

} 
else if(BrowserDetect.browser == "Explorer" && BrowserDetect.OS == "Windows" && BrowserDetect.version >= 6) { 

	var likesrsh = 'ja';

}
else if(BrowserDetect.browser == "Firefox" && BrowserDetect.version >= 2) { 

	var likesrsh = 'ja';

}
else if(BrowserDetect.browser == "Mozilla" && BrowserDetect.version >= 1) { 

	var likesrsh = 'ja';

}
else if(BrowserDetect.browser == "Opera" && BrowserDetect.version >= 9.22) { 

	var likesrsh = 'ja';

}
else {

	var likesrsh = 'nei';

}




	function loadFrett(id,div) {
		new Ajax.Updater(div, 'include/lft_frett.php', 
		{
			method: 'post',
			postBody:'sida=frett&efni='+ id +'',
			onComplete: function(){}
			});
	}
	function loadVika(id,div) {
		new Ajax.Updater(div, 'include/vikur.php', 
		{
			method: 'post',
			postBody:'sida=vikur&vi='+ id +'',
			onComplete: function(){}
			});
	}
	function loadForsida(id,div) {
		new Ajax.Updater(div, 'include/forsidufrettir.php', 
		{
			method: 'post',
			postBody:'sida=frett&efni='+ id +'',
			onComplete: function(){Effect.Appear('frett', {queue: 'front'}), Effect.ScrollTo(div, {offset: -220, queue: 'front'})}
			});
	}

	function loadMynd(id,div) {
		new Ajax.Updater(div, 'include/myndir.php', 
		{
			method: 'post',
			postBody:'sida=myndir&mynd='+ id +'',
			onComplete: function(){}
			});
	}



	function delNote(id,div) {
		new Ajax.Updater('ekkert', 'adgerd.php', 
		{
			method: 'post',
			postBody:'adgerd=delnote&id='+ id +'',
			onComplete: function(){Effect.Fade(div),Effect.SlideUp(div)}
			});
	}

	function delNotes(id,div) {
		new Ajax.Updater('ekkert', 'add.php', 
		{
			method: 'post',
			postBody:'adgerd=delnotes',
			onComplete: function(){Effect.Fade(div),Effect.SlideUp(div)}
			});
	}

	window.dhtmlHistory.create({
			toJSON: function(o) {
					return Object.toJSON(o);
			}
			, fromJSON: function(s) {
					return s.evalJSON();
			}
	});

	var yourListener = function(newLocation, historyData) {

			


			var mynd = "sida=myndir";
			var mynd = newLocation.match(mynd);

			if(mynd == "sida=myndir") { 

				var mynd = newLocation.split("mynd=");
				loadMynd(mynd[1], 'whiteground');

			} 

			var vikur = "sida=vikur";
			var vikur = newLocation.match(vikur);

			if(vikur == "sida=vikur") { 

				var vika = newLocation.split("vi=");
				loadVika(vika[1], 'vikur');

			} 

			var frettir = "sida=frett";
			var frettir = newLocation.match(frettir);

			if(frettir == "sida=frett") { 

				var efni = newLocation.split("efni=");
				loadFrett(efni[1], 'contain_left');

			} 



			else { 
				var efni = newLocation.split("efni=");
				loadForsida(efni[1], 'contain_left');

			}
	}

	window.onload = function() {
			dhtmlHistory.initialize();
			dhtmlHistory.addListener(yourListener);
	};

	function farahvert(slod) {

		if(likesrsh == 'ja') {
			window.location.hash = 'nav=' + slod;
		}
		else{

			window.location = slod;
		}
		
		
	}

	function cs_init() {
		  var cs0 = new color_select();

		  // spatially attach the color select to an element 
		  // (when triggered, it will always appear below this element)
		  cs0.attach_to_element(document.getElementById("color_select_icon0"));
		 
		}  
/*-----------------------------------------------------------
    Toggles element's display value
    Input: any number of element id's
    Output: none 
    ---------------------------------------------------------*/
function toggleDisp() {
    for (var i=0;i<arguments.length;i++){
        var d = $(arguments[i]);
        if (d.style.display == 'none')
            d.style.display = 'block';
        else
            d.style.display = 'none';

    }
}
/*-----------------------------------------------------------
    Toggles tabs - Closes any open tabs, and then opens current tab
    Input:     1.The number of the current tab
                    2.The number of tabs
                    3.(optional)The number of the tab to leave open
                    4.(optional)Pass in true or false whether or not to animate the open/close of the tabs
    Output: none 
    ---------------------------------------------------------*/
function toggleTab(num,numelems,opennum,animate) {
    if ($('tabContent'+num).style.display == 'none'){
        for (var i=1;i<=numelems;i++){
            if ((opennum == null) || (opennum != i)){
                var temph = 'tabHeader'+i;
                var h = $(temph);
                if (!h){
                    var h = $('tabHeaderActive');
                    h.id = temph;
                }
                var tempc = 'tabContent'+i;
                var c = $(tempc);
                if(c.style.display != 'none'){
                    if (animate || typeof animate == 'undefined')
                        Effect.toggle(tempc,'appear',{duration:0.1, queue:{scope:'menus', limit: 3}});
                    else
                        toggleDisp(tempc);
                }
            }
        }
        var h = $('tabHeader'+num);
        if (h)
            h.id = 'tabHeaderActive';
        h.blur();
        var c = $('tabContent'+num);
        c.style.marginTop = '2px';
        if (animate || typeof animate == 'undefined'){
            Effect.toggle('tabContent'+num,'appear',{duration:0.1, queue:{scope:'menus', position:'end', limit: 3}});
        }else{
            toggleDisp('tabContent'+num);
        }
    }
}

/*-----------------------------------------------------------
    Toggles tabs - Closes any open tabs, and then opens current tab
    Input:     1.The number of the current tab
                    2.The number of tabs
                    3.(optional)The number of the tab to leave open
                    4.(optional)Pass in true or false whether or not to animate the open/close of the tabs
    Output: none 
    ---------------------------------------------------------*/
function toggTab(id,num,numelems,opennum,animate) {
    if ($('tab'+id+'Content'+num).style.display == 'none'){
        for (var i=1;i<=numelems;i++){
            if ((opennum == null) || (opennum != i)){
                var temph = 'tab'+id+'Header'+i;
                var h = $(temph);
                if (!h){
                    var h = $('tab'+id+'HeaderActive');
                    h.id = temph;
                }
                var tempc = 'tab'+id+'Content'+i;
                var c = $(tempc);
                if(c.style.display != 'none'){
                    if (animate || typeof animate == 'undefined')
                        Effect.toggle(tempc,'appear',{duration:0.1, queue:{scope:'menus', limit: 3}});

                    else
                        toggleDisp(tempc);

                }
            }
        }
        var h = $('tab'+id+'Header'+num);
        if (h)
            h.id = 'tab'+id+'HeaderActive';
        h.blur();
        var c = $('tab'+id+'Content'+num);
        c.style.marginTop = '2px';
        if (animate || typeof animate == 'undefined'){
            Effect.toggle('tab'+id+'Content'+num,'appear',{duration:0.1, queue:{scope:'menus', position:'end', limit: 3}});

        }else{
            toggleDisp('tab'+id+'Content'+num);
			
        }

    }

}