var monthNames = new Array("januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember");

//get the week number
Date.prototype.getWeek = function() {
	var onejan = new Date(this.getFullYear(),0,1);
	return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7);
}

function week( week ) {
	if (week<1) {
		return 52+week;
	} else if (week<12) {
		return week + 6;
	}
	return week;
	
}

function weekInMonth(day) {
	temp = "" + (day/7).toString();
	if  ( parseInt(temp.split(".")[1])>0 ) {
		return parseInt(temp.split(".")[0]);
	}
	return parseInt(temp.split(".")[0])-1;	
}

function sumArray(o){
    for(var s = 0, i = o.length; i; s += o[--i]);
    return s;
}

function resetArray(o) {
	for (var i = 0; i < o.length; i++) {
		o[i] = 0;
	}
	return o;
}

function showList() {
	dojo.byId("tabSelected").value="liste";
	dojo.query('#tabDiagram').addClass('hidden');
	dojo.query('#tabListe').removeClass('hidden');
	dojo.query('#routeLogTab').addClass('mypageTabActive');
	dojo.query('#diagramTab').removeClass('mypageTabActive');

}
function showDiagram() {
	dojo.byId("tabSelected").value="diagram";
    dojo.query('#tabListe').addClass('hidden');
	dojo.query('#tabDiagram').removeClass('hidden');
	dojo.query('#diagramTab').addClass('mypageTabActive');
	dojo.query('#routeLogTab').removeClass('mypageTabActive');
}
//get the week number
Date.prototype.getWeek = function() {
	var onejan = new Date(this.getFullYear(),0,1);
	return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7);
}

//get url parameter
function gup( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

//IE9 fix, http://www.bleedyellow.com/blogs/ferrykranenburg/tags/ie9?lang=no
function ie9Fix() {
dijit._frames = new function(){
	var queue = [];

	this.pop = function(){
		var iframe;
		if(queue.length){
			iframe = queue.pop();
			iframe.style.display="";
		}else{
			if(dojo.isIE < 9){
				var burl = dojo.config["dojoBlankHtmlUrl"] || (dojo.moduleUrl("dojo", "resources/blank.html")+"") || "javascript:\"\"";
				var html="<iframe src='" + burl + "'"
					+ " style='position: absolute; left: 0px; top: 0px;"
					+ "z-index: -1; filter:Alpha(Opacity=\"0\");'>";
				iframe = dojo.doc.createElement(html);
			}else{
			 	iframe = dojo.create("iframe");
				iframe.src = 'javascript:""';
				iframe.className = "dijitBackgroundIframe";
				dojo.style(iframe, "opacity", 0.1);
			}
			iframe.tabIndex = -1; // Magic to prevent iframe from getting focus on tab keypress - as style didn't work.
			dijit.setWaiRole(iframe,"presentation");
		}
		return iframe;
	};

	this.push = function(iframe){
		iframe.style.display="none";
		queue.push(iframe);
	}
}();
}
//Map sorting functions
function initSorting()
{
	//dojo.query( '#mapSorting h3' ).onclick( checkMainCategory );
	dojo.query( '#mapSorting h3' ).onclick( expandMainCategory );
	dojo.query( '#mapSorting li' ).onclick( checkSubCategory );
}

function expandMainCategory( e) 
{
	e = e || window.event;
	var node = e.target || e.srcElement;
	var cNode = node.nextSibling;
	dojo.query( "#mapSorting .show" ).removeClass( "show" );
	dojo.addClass( cNode , "show" );
}

function startSorting( e ) 
{
	e = e || window.event;
	var node = e.target || e.srcElement;
	var cNode = null;
	if( node.className == "checked" )
	{
		node.className = "" ;
		cNode = node.nextSibling;
		dojo.removeClass( cNode , "show" );
	} else {
	 	node.className = "checked" ;
	 	cNode = node.nextSibling;
		dojo.addClass( cNode , "show" );
	}
}

function checkMainCategory( e ) 
{
	e = e || window.event;
	var tnode = e.target || e.srcElement;
	var cNode = null;
	return true;
	var col = dojo.query('.checked');
	for(i=0;i<col.length;i++) {
	    var node = col[i];
	    dojo.removeClass(node, 'checked');
	    cNode = node.nextSibling;
	    dojo.removeClass( cNode , "show" );
	}
	
	tnode.className = "checked" ;
 	cNode = tnode.nextSibling;
	dojo.addClass( cNode , "show" );
	filterDataStore();
}

function checkSubCategory( e ) 
{
	e = e || window.event;
	var tnode = e.target || e.srcElement;
	var strName = tnode.getAttribute("name").split("-")[0];
	if( dojo.hasClass( tnode , "checked" ))
	{
		if(tnode.getAttribute("name").split("-")[1] == ".") {
			var col = dojo.query(".sortFilter li[name^=" + strName + "]").forEach(
			function(node, index, arr){
			      dojo.removeClass( node , "checked" );
			});
		 }
		dojo.removeClass( tnode ,"checked" );
	} else {
		if(tnode.getAttribute("name").split("-")[1] == ".") {
			var col = dojo.query(".sortFilter li[name^=" + strName + "]").forEach(
			function(node, index, arr){
			      dojo.removeClass( node , "checked" );
			});
		 } else{
		 	dojo.query("[name='" + strName + "-.']").removeClass('checked');
		 }
	 	dojo.addClass( tnode , "checked" ); 
	}
	filterDataStore();
	if(strName == "Status" || strName == "Natur" || strName == "hOpen" || strName == "hBoat") {
		showLocations();
	} else {
		showRoutes();
	}
}

//Open Dojo dialog
function showDialog( id )
{
	var d = dijit.byId(id) ;
	d.duration = 500;
	d.show();
}	

//Open Dojo dialog
function showImage( img )
{
	var content = "<img src='imgById/" + img + "/$File/i2" + img + ".jpg' />"
	var dialog = new dijit.Dialog({
            title: "Forh\u00E5ndsvisning" ,
            style: "width: 350px" ,
            duration: 300 ,
            content: content
        });
	dialog.show();
}


//login function for fbredirected
function dominoLogin2(data){ 
        dojo.xhrPost({
        		 
                url: '/names.nsf?login', 
                content: data, 
                load: function (data) {
                if( String(data).substring(0,3) == "GIF") 
                        { 
                                dojo.byId('loginMsg').innerHTML = "Please Wait...";
                                dojo.query('#loginMsg').style("display","block");
                               // location.reload(); 
                               
                              
                               setTimeout("try { window.opener.location = 'home.xsp' ;window.close();}catch(e){window.location = 'home.xsp'};",1500);
                        } else { 
                                if ( dojo.cookie('DomAuthSessId') != null || dojo.cookie('LtpaToken') != null ) 
                                { 
                                        dojo.byId("loginMsg").style.color = "red";
                                        dojo.byId("loginMsg").innerHTML = "Not Authorized.";
                                        dojo.query('#loginMsg').style("display","block");
                                        dojo.cookie('DomAuthSessId', null, { path: '/', domain: 'roms.no' }); 
                                        dojo.cookie('LtpaToken', null, { path: '/', domain: 'roms.no' }); 
                                } else { 
                                        dojo.byId("loginMsg").style.color = "orange";
                                        dojo.byId("loginMsg").innerHTML = "Invalid User/Password.";
                                        dojo.query('#loginMsg').style("display","block");
                                } 
                        } 
                        }, 
                error: function (error) { 
                        console.error ('Error: ', error);
   						//IE Has An Issue with returning binary data in AJAX so just reload the page.
   						console.error ('Possibly Running IE - Reloading Page Anyway');
   						dojo.byId("loginMsg").style.color = "red";
   						dojo.byId('loginMsg').innerHTML = "Server Not Responding.. ";
   						dojo.query('#loginMsg').style("display","block");
   						if (dojo.byId("#{id:Lastet}").value < 1) {
   							location.reload();
   							dojo.byId("#{id:Lastet}").value++;
   						} 
                        } 
                }); 
} 	

//Function to show tooltip
function showTooltip( dialogId , parentId )
{
	var toolTip = dijit.byId( dialogId );
	dijit.popup.open({
                popup: toolTip ,
                around: dojo.byId( parentId )
     });
}

//Function to show onclick dialog for images
function showImgDialog( imgId )
{
	var imgHeight = this.clientHeight * 5;
	var imgWidth = this.clientWidth * 5;
	if ( imgHeight > 750 )
	{
		imgWidth = imgWidth * 750/imgHeight;
		imgHeight = 750;
	}
	if ( imgWidth > 750 )
	{
		imgHeight = imgHeight * 750/imgWidth;
		imgWidth = 750;
	}
	imgHeight = Math.round( imgHeight ) + 20;
	imgWidth = Math.round( imgWidth ) + 20;
	imgDialog = new dijit.Dialog({
	    title: this.title ,
	    style: "width:" + imgWidth + "px;height:" + imgHeight + "px;"
	});
	imgDialog.set( 'content' , "<img src='" + this.src.replace( "i2" , "i1" ) + "' alt='" + this.title + "' />" );
	imgDialog.show();
}

