/*  GUI     */
// Load just after the DOM - for Mozilla browsers
if (document.addEventListener) {
  document.addEventListener("DOMContentLoaded", init, false);
}

// For other browsers
window.onload   =   init;

function    init()
{
    //  Load only once
    if (arguments.callee.done) return;
    arguments.callee.done = true;
    
    set_flash();
    set_gadget('3');
    set_active_menu_options();
    set_external_links();
    set_photo_gallery();
    load_google_apis();
}

function    set_flash()
{
    //  Set flash on homepage for 1 session
    var obj =   document.getElementById('banner_text');
    if(obj)
    {
        //  We're on homepage
        var cook    =   get_cookie('flash');
        if(cook != 1)
        {
            //  Don't show original logo
            var logo_obj    =   document.getElementById('logo_img');
            logo_obj.style.display  =   'none';
            
            var flashvars = {};
            var params = {
                wmode: "transparent"
            };
            
            swfobject.embedSWF("/flash/soundgallery.swf", "logo_img", "330", "136", "8.0.0", "/flash/expressInstall.swf", flashvars, params);
            set_cookie('flash',1);
        }
    }
}

function    set_gadget(total)
{
    //  Set gadget with diff background-image (vlak_gadget#)
    var int_random =   Math.floor ( Math.random ( ) * total + 1 );
    var gadget_obj  =   document.getElementById('left_rectangle');
    if(gadget_obj)
    {
        gadget_obj.style.backgroundImage  =   "url(/images/_common/vlak_gadget"+int_random+".jpg)";
    }
}

function    set_cookie(name, value, expires, path, domain, secure)
{
    //  Set time, it's in milliseconds
    var today = new Date();
    today.setTime( today.getTime() );
    if ( expires )
    {
        //  hours
        expires = expires * 1000 * 60 * 60;
    }
    var expires_date = new Date( today.getTime() + (expires) );

    document.cookie = name + "=" +escape( value ) +
    ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
    ( ( path ) ? ";path=" + path : "" ) +
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ( ( secure ) ? ";secure" : "" );
}

function    get_cookie(name)
{
    // first we'll split this cookie up into name/value pairs
    // note: document.cookie only returns name=value, not the other components
    var a_all_cookies = document.cookie.split( ';' );
    var a_temp_cookie = '';
    var cookie_name = '';
    var cookie_value = '';
    var b_cookie_found = false; // set boolean t/f default f

    for ( i = 0; i < a_all_cookies.length; i++ )
    {
        // now we'll split apart each name=value pair
        a_temp_cookie = a_all_cookies[i].split( '=' );

        // and trim left/right whitespace while we're at it
        cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

        // if the extracted name matches passed name
        if ( cookie_name == name )
        {
            b_cookie_found = true;
            // we need to handle case where cookie has no value but exists (no = sign, that is):
            if ( a_temp_cookie.length > 1 )
            {
                cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
            }
            // note that in cases where cookie is initialized but no value, null is returned
            return cookie_value;
            break;
        }
        a_temp_cookie = null;
        cookie_name = '';
    }
    if ( !b_cookie_found )
    {
        return null;
    }
}

function    set_active_menu_options()
{
    var host        =   'www.soundgallery.nl';
    var full_host   =   'http://'+host;
    
    var current_href    =   document.location.href;
    var curr            =   current_href.split('?');
    var curr_arr        =   curr[0].split('\/\/');
    var current_href    =   curr_arr[1].replace(host,'');
    var current_href_s  =   current_href+'/';
    
    var menu            =   document.getElementById('menu');
    if(menu)
    {
        var as              =   menu.getElementsByTagName('a');   
        for(var i=0;i<as.length;i++)
        {
            var a_href      =   as[i].getAttribute('href');
            /* IE does it absolute.. why? */
            a_href          =   a_href.replace(full_host,'');
            if(a_href == '/nieuws/category/actueel/')
                var a_href  =   '/nieuws/';
            if(a_href == '/collectie/totaaloverzicht/')
                var a_href  =   '/collectie/';
            if(a_href == '/kijk_en_luister/luisterkamers/')
                var a_href  =   '/kijk_en_luister/';
            if(a_href == '/over_sound_gallery/een_bijzonder_verhaal/')
                var a_href  =   '/over_sound_gallery/';
            if(a_href == '/contact/adres/')
                var a_href  =   '/contact/';
            if(current_href == a_href || current_href_s == a_href || current_href.indexOf(a_href) !== -1)
            {
                as[i].className =   'active';
            }
        }
    }
    
    var submenu         =   document.getElementById('submenu');
    if(submenu)
    {
        var as              =   submenu.getElementsByTagName('a');   
        for(var i=0;i<as.length;i++)
        {
            var a_href      =   as[i].getAttribute('href');
            a_href          =   a_href.replace(full_host,'');
            if(current_href == a_href || current_href_s == a_href || current_href.indexOf(a_href) !== -1)
            {
                //  Check for /nieuws/.*
                if(a_href == '/nieuws/')
                {
                    if(current_href == '/nieuws/')
                        as[i].className =   'active';
                }   
                else
                    as[i].className =   'active';
            }
        }
    }
}

function        set_external_links()
{
    //  Set external links to blank target && standards compliant
    if(document.getElementsByTagName)
    {
        var anchors =   document.getElementsByTagName('a');
        for(var i = 0;i<anchors.length;i++)
        {
            var anchor  =   anchors[i];
            if(anchor.getAttribute('href') && anchor.getAttribute('rel') == 'external')
            {
                anchor.title    =   anchor.title + ' (opent in een nieuw scherm)';
                anchor.target   =   '_blank';
            }
        }
    }
}

var CURRENT =   1;
var TOTAL   =   18;

function    set_photo_gallery()
{
    var obj =   document.getElementById('fotogalerij');
    if(obj)
    {
        DESC        =   new Array();
        DESC[1]     =   'Sound Gallery is Vak Apart bij Vos Interieur.';
        DESC[2]     =   'Sound Gallery tijdens de INverkoop in het Maupertuus van Vos.';
        DESC[3]     =   'Arthur Erenst demonstreert een compleet home entertainment systeem in Vos Interieur.';
        DESC[4]     =   'In de Tivoli-hal van Sound Gallery.';
        DESC[5]     =   'Een greep uit de collectie.';
        DESC[6]     =   'Een greep uit de collectie.';
        DESC[7]     =   'De karakteristieke gele Kevlar conus van B&W.';
        DESC[8]     =   'Sound Gallery is geautoriseerd Tivoli Center.';
        DESC[9]     =   'Sound Gallery is geautoriseerd Tivoli Center.';
        DESC[10]     =   'Bij een luistersessie heeft u altijd de keuze uit diverse interconnects.<br />Wij adviseren u graag over de beste combinaties.';
        DESC[11]     =   'Een goed voorbeeld van discreet ge&iuml;nstalleerde systemen.<br />Foto: Pioneer.';
        DESC[12]     =   'De middelste luisterkamer met verschillende demonstratie-mogelijkheden van LCD, plasma, multi-room en Custom Install.';
        DESC[13]     =   'Sound Gallery is geautoriseerd McIntosh dealer.';
        DESC[14]     =   'Ga er eens lekker voor zitten in onze <em>Blue Room</em> voor de betere Home Cinema.';
        DESC[15]     =   'De klassieke blauwe VU-meter van McIntosh.';
        DESC[16]     =   'Collectie vinyl.';
        DESC[17]     =   'Uiteenlopend klankverbeterend gereedschap.';
        DESC[18]     =   'Tannoy, Dynaudio, B&amp;W:<br />luister zelf en laat u overtuigen door uw eigen oren.';
        
        //  load the array with photos in global var
        PHOTOS      =   new Array();
        var preload =   new Array();
        for(var i = 1;i<=TOTAL;i++)
        {
            PHOTOS[i]       =   '/images/fotogalerij/img'+i+'.jpg';
            preload[i]      =   new Image();
            preload[i].src  =   PHOTOS[i];
        }
        var prev    =   document.getElementById('prev');
        var next    =   document.getElementById('next');
        
        prev.onclick        =   function () { get_img('prev'); return false;  };
        prev.style.display  =   'none';
        
        next.onclick        =   function () { get_img('next'); return false;  };
    }
}

function    get_img(which)
{
    var img_obj =   document.getElementById('img');
    if(img_obj)
    {
        if(which == 'next')
            CURRENT++;
        else
            CURRENT--;
        
        //  Set new
        img_obj.alt =   DESC[CURRENT];
        img_obj.src =   PHOTOS[CURRENT];
        var nr_obj          =   document.getElementById('nr');
        nr_obj.innerHTML    =   CURRENT;
        var desc_obj        =   document.getElementById('desc_text');
        desc_obj.innerHTML  =   '<p>'+DESC[CURRENT]+'</p>';
        set_next_link();
        set_prev_link();
    }
    return false;
}

function    set_next_link()
{
    //  See if next is visible
    var next    =   document.getElementById('next');
    if(CURRENT < TOTAL || next.style.display == 'none')
        next.style.display  =   'block';
    else
        next.style.display  =   'none';
}

function    set_prev_link()
{
    //  See if prev is visible
    var prev    =   document.getElementById('prev');
    if(CURRENT > 1)
        prev.style.display  =   'block';
    else
        prev.style.display  =   'none';
}

function    load_google_apis()
{
    var g_obj =   document.getElementById('google_maps');
    if(g_obj)
    {
        //  Put the API dynamic
        var script  =   document.createElement("script");
        
        var hostname    =   location.hostname;
        if(hostname == "www.soundgallery.nl")
        {
            script.src  =   "http://www.google.com/jsapi?key=ABQIAAAAWaG50ACba6hq6zJWQ2IsIxQjluEivCpem9l-hQamkpNPjz45FxRXVn-ULVAawG1DKh7rrtpjk2_zrw&callback=load_maps_api";
        }
        else
        {
            script.src  =   "http://www.google.com/jsapi?key=ABQIAAAAWaG50ACba6hq6zJWQ2IsIxR8b0N_moy_xUR6nl0-daE3U2CJRhSrNsSnSVa-lGHC0k2-Quld8azanQ&callback=load_maps_api";
        }
        
        script.type =   "text/javascript";
        document.getElementsByTagName("head")[0].appendChild(script);
    }
}

function    load_maps_api()
{
    //  Load the map-api dynamic
    google.load("maps", "2", {"callback" : draw_google_map});
}

function    draw_google_map()
{
    //  Draw the map on the screen
    var g_obj       =   document.getElementById('google_maps');
    //  Make visible
    g_obj.className =   '';
    var map         =   new google.maps.Map2(g_obj);
    map.setCenter(new google.maps.LatLng(53.229589, 6.557303), 15);
    
    //  Add the point
    var point       =   new GLatLng(53.229589, 6.557303);
    var marker      =   new GMarker(point);
    map.addOverlay(marker);
    
    //  Do some default UI
    map.setUIToDefault();
    
    //  Set the balloon at the marker
    var str         =   '<h2>Sound Gallery</h2><p>Noorderstationstraat 53<br />9716 AR Groningen, Nederland<br />Telefoon: 050 - 577 5449';
    var str         =   str+'<br /><br /><a href="http://maps.google.nl/maps?q=Sound+Gallery&ie=UTF8&ll=53.229288,6.549568&spn=0.019036,0.05579&z=15&iwloc=A&iwstate1=dir" target="_blank" title="Routebeschrijving">';
    var str         =   str+'Routebeschrijving</a> &ndash; <a href="http://maps.google.nl/maps?q=Sound+Gallery,+Groningen,+Nederland" target="_blank" title="Bekijk grotere kaart">';
    var str         =   str+'Bekijk grotere kaart</a><br /><br />';
    marker.openInfoWindowHtml(str);
    
    //  Unload the Google Maps API
    window.onunload =   GUnload;
}

function    preload_gadgets()
{
    
}