 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/* Required: var nocache is a random number to add to request. This value solve an Internet Explorer cache issue */
var nocache = 0;
//Getting XMLjttpRequest object
var http = getHttpReq();
//Dropdown menu, current open menu
var open_menu = 0;
//Current open image gallery
var open_gallery = 0;
//InfoWindow for google map.
var infoWindow = null;
//Google map
var map = null;


/****************************/
//COOKIE FUNCTIONS!
/****************************/
function createCookie(name,value,days)
{
    if (days)
    {
	var date = new Date();
	date.setTime(date.getTime()+(days*24*60*60*1000));
	var expires = "; expires="+date.toGMTString();
    }
    //else
        //var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(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;
}

////////////////////////////////////////////////////////////////

function eraseCookie(name)
{
    createCookie(name,"",-1);
}

//Returnerer XMLhttpRequest objektet
function getHttpReq()
{
    var xmlHttp;
    
    try // Firefox, Opera 8.0+, Safari
    {
        xmlHttp=new XMLHttpRequest();
    }
    catch(e)
    {
        try // Internet Explorer   
        {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e)
        {
            try
            {
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(e) 
            {
                alert("Your browser does not support ajax!");
                return false;
            }
        } 
    }
    return xmlHttp;
}

//DROPDOWN MENY
function dropdown_open(id)
{
    if(open_menu)
        open_menu.style.visibility = 'hidden';

    open_menu = document.getElementById(id);
    open_menu.style.visibility = 'visible';
}

function dropdown_close()
{
    if(open_menu)
        open_menu.style.visibility = 'hidden';
}

function dropdown_cancel_close()
{
    if(open_menu)
        open_menu.style.visibility = 'visible';
}
///////////////////////////

function albumofmonth(month, year)
{
    var nameMonths = new Array();
    nameMonths[1] = "Januar";nameMonths[2] = "Februar";nameMonths[3] = "Mars";nameMonths[4] = "April";nameMonths[5] = "Mai";nameMonths[6] = "Juni";
    nameMonths[7] = "Juli";nameMonths[8] = "August";nameMonths[9] = "September";nameMonths[10] = "Oktober";nameMonths[11] = "November";nameMonths[12] = "Desember";
    var response = null;

    http.open('get', 'AJAX/albumofmonth.php?y='+year+'&m='+month, true);
    http.onreadystatechange=function()
    {
        //Getting respons from server
        if(http.readyState == 4)
        {
            response = http.responseText;

            if(response != -1)
            {
                response = response.split('~');
                document.getElementById('spotify_artist').innerHTML = '<a href="'+response[3]+'" target="_blank">'+response[1]+'</a>';
                document.getElementById('spotify_title').innerHTML = '<a href="'+response[3]+'" target="_blank">'+response[2]+'</a>';
                document.getElementById('spotify_month').innerHTML = nameMonths[month]+' '+year;

                if(response[4] == '1')
                    document.getElementById('spotify_navigate_back').innerHTML = '<a href="" onclick="javascript:albumofmonth('+response[6]+','+response[5]+');return false"><< Forige</a>';
                else
                    document.getElementById('spotify_navigate_back').innerHTML = '';
                
                if(response[7] == '1')
                    document.getElementById('spotify_navigate_forward').innerHTML = '<a href="" onclick="javascript:albumofmonth('+response[9]+','+response[8]+');return false">Neste >></a>';
                else
                    document.getElementById('spotify_navigate_forward').innerHTML = '';
            }
        }
    }
    http.send(null);
}

function openWindow(page)
{
    switch(page)
    {
        case 'guestbook/?v=w':
            window.open(page,'Gjestebok','width=512,height=212,resizable=no,scrollbars=no,toolbar=no,location=no,status=no,menubar=no,copyhistory=no,screenX=400,screenY=150,left=400,top=150');
        break;

        case 'guestbook/?v=r':
            window.open(page,'Gjestebok','width=530,height=800,resizable=no,scrollbars=yes,toolbar=no,location=no,status=no,menubar=no,copyhistory=no,screenX=400,screenY=100,left=400,top=100');
        break;
    }
}

//Finding and aoutputing images of a gallery
function openImageGallery(selected,gallery,id)
{
    var dirGallery = '/images/archive/'+id+'/'+gallery+'/';
    var dirThumbnails = dirGallery+'thumbnails/';
    var html = '';
    http.open('get', 'AJAX/opengallery.php?g='+gallery+'&id='+id, true);
    http.onreadystatechange=function()
    {       
        if(http.readyState == 4)
        {
            document.getElementById('image_gallery').innerHTML = '';

            //If there is allready an open gallery, close border
            if(open_gallery)
                    document.getElementById(open_gallery).style.borderBottom = '1px solid #ccc';

            var response = http.responseText;
            //alert(response);
            if(response.length > 0)
            {
                response = response.split('~');

                for(var i=0; i<response.length; i++)
                {
                    if((i+1)%7==1)
                        html += '<div class="image_line">';

                    html += '<div class="thumbnail"><a href="'+dirGallery+response[i]+'" rel="lightbox['+gallery+']"><img src="'+dirThumbnails+response[i]+'" alt="" /></a></div>';

                    if((i+1)%7==0)
                        html += '</div>';
                }
                if(response.length < 6 || (response.length%7 != 0 && response.length > 7))
                    html += '</div>';
                
                document.getElementById('image_gallery').innerHTML = html;                
            }
            else
                document.getElementById('image_gallery').innerHTML = '<h4>Ingen bilder i galleri</h4>';
        }
    }
    http.send(null);

    document.getElementById('image_gallery').innerHTML = '<h4>Henter Bilder...</h4>'
    //Display
    /*
    if(selected != 0)
    {
        for(i=1;i<7;i++)
        {
            if(selected == 'overview_imagebox_'+i)   //Selected box
                document.getElementById(selected).className = 'overview_box selected';
            else                                //All other
            {
                if(document.getElementById('overview_imagebox_'+i).innerHTML.length > 0) //If its a gallery
                    document.getElementById('overview_imagebox_'+i).className = 'overview_box nselected';
                else
                    document.getElementById('overview_imagebox_'+i).className = 'overview_box empty_selected';
            }
        }
        //document.getElementById('image_nav_next').style.borderBottom = '1px solid #ccc';
        //document.getElementById('image_nav_prev').style.borderBottom = '1px solid #ccc';
    }*/
    document.getElementById('image_gallery').style.visibility = 'visible';
    document.getElementById('image_gallery').style.display = 'block';
}


function openMap(lat,lon,eid)
{
    var latlng = new google.maps.LatLng(lat, lon);    
    var myMapOptions =
    {
      zoom: 12,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
  
    map = new google.maps.Map(document.getElementById("googlemap"), myMapOptions); 

    http.open('get', 'AJAX/getmapmarkers.php?eid='+eid, true);
    http.onreadystatechange=function()
    {
        if(http.readyState == 4)
        {
            var response = http.responseText;

            if(response.length > 0)
            {
                response = response.split('~');
                for(var i=0; i<response.length; i++)
                {
                    var marker = response[i].split('|');                    
                    var myMarkerOptions =
                    {
                        map: map,
                        position: new google.maps.LatLng(marker[0],marker[1]),
                        title: marker[2],
                        zindex: 2,
                        clickable: true
                    };                    
                    addMarkEventListener(new google.maps.Marker(myMarkerOptions),marker[2]);
                }
            }
        }
    }
    http.send(null);
}

function addMarkEventListener(mark, message)
{
    google.maps.event.addListener(mark,'click',function()
    {
        if(infoWindow == null)
            infoWindow = new google.maps.InfoWindow();
        infoWindow.setContent(message);
        infoWindow.open(map,mark);   
    });
}

function openVideo(selected, link)
{
    document.getElementById('video').innerHTML = '<object width="640" height="385" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" align="middle"><param name="movie" value="'+link+'" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="menu" value="false" /><param name="quality" value="best" /><embed src="'+link+'" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>';
    for(i=1;i<7;i++)
    {
        if(selected == 'overview_videobox_'+i)   //Selected box
            document.getElementById(selected).className = 'overview_box selected';
        else                                //All other
        {
            if(document.getElementById('overview_videobox_'+i).innerHTML.length > 0) //If its a video
                document.getElementById('overview_videobox_'+i).className = 'overview_box nselected';
            else
                document.getElementById('overview_videobox_'+i).className = 'overview_box empty';
        }
    }
    document.getElementById('video_nav_next').style.borderBottom = '1px solid #ccc';
    document.getElementById('video_nav_prev').style.borderBottom = '1px solid #ccc';
    document.getElementById('video_gallery').style.visibility = 'visible';
    document.getElementById('video_gallery').style.display = 'block';
}
