$(document).ready(function(){

    $('body').supersleight({
        'shim': '/img/blank.gif'
    });
    $('.demi+.demi').css('left', '20px');
    $('.third:nth-child(3n+1)').css('margin-left', '0');
    
    fixFooterPosition();
    setFaq();
    setFancy();
    setFormchecking();
    setWebshopLinks();
    
    if ($('#map_canvas').length > 0) {
        initMap();
    }
    setAnimations();
    
});

$(window).load(function(){
    fixFooterPosition();
});
$(window).resize(function(){
    fixFooterPosition();
});

function setFormchecking(){
    $('form a.button').removeAttr('href').css('cursor', 'pointer').click(function(){
        $(this).parents('form').submit();
    });
    if ($('form').length > 0) {
        $.getScript('http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js', function(){
            $("form").validate();
        });
    }
}

function setFaq(){
    $('.form .faq div').hide();
    $('.form .faq').click(function(){
        var faq = $(this);
        faq.siblings('.faq').removeClass('open').find('div').slideUp('fast');
        faq.addClass('open').find('div').slideDown('normal', function(){
            fixFooterPosition();
        });
    });
}

function setFancy(){


    if (!$.browser.msie) {
        $('.videobutton span').css('background-color', 'black').fadeTo(0, 0).hover(function(){
            $(this).fadeTo('fast', 0.3);
        }, function(){
            $(this).fadeTo('fast', 0);
        });
    }
    
    if (navigator.userAgent.match(/iPhone|iPod|iPad/i) != null) {
        $('.authbutton').fancybox({
            height: 500,
            width: 500,
            type: 'iframe'
        })
    }
    else {
        $('.authbutton').fancybox({
            height: 380,
            width: 500,
            type: 'iframe'
        })
        
    }
    
    $('.videobutton').fancybox({
    
        href: base_url + 'swf/player.swf',
        width: 960,
        height: 402,
        swf: {
            'menu': 'false',
            'flashvars': 'path=' + base_url + 'video/stars_' + language + '.flv'
        }
    
    });
    
    if (language == "nl") {
        var v = "online-sparen";
    }
    else {
        var v = "epargner-enligne";
    }
    
	
    $('.saveonlinebutton').click(function(){
    
        location.href = base_url + language + '/' + v;
        
    });
    
}

function fixFooterPosition(){
    var foot = $('footer');
    var otop = $(window).height() - (foot.offset().top + foot.height() - parseInt(foot.css('top')));
    if (otop > 0) {
        foot.css('top', otop + 'px');
    }
}

/* SUPERSLEIGHT */
jQuery.fn.supersleight = function(settings){
    settings = jQuery.extend({
        imgs: true,
        backgrounds: true,
        shim: 'x.gif',
        apply_positioning: true
    }, settings);
    
    return this.each(function(){
        if (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) < 7 && parseInt(jQuery.browser.version, 10) > 4) {
            jQuery(this).find('*').andSelf().each(function(i, obj){
                var self = jQuery(obj);
                if (settings.backgrounds && self.css('background-image').match(/\.png/i) !== null) {
                    var bg = self.css('background-image');
                    var src = bg.substring(5, bg.length - 2);
                    var mode = (self.css('background-repeat') == 'no-repeat' ? 'crop' : 'scale');
                    var styles = {
                        'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='" + mode + "')",
                        'background-image': 'url(' + settings.shim + ')'
                    };
                    self.css(styles);
                };
                if (settings.imgs && self.is('img[src$=png]')) {
                    var styles = {
                        'width': self.width() + 'px',
                        'height': self.height() + 'px',
                        'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + self.attr('src') + "', sizingMethod='scale')"
                    };
                    self.css(styles).attr('src', settings.shim);
                };
                if (settings.apply_positioning && self.is('a, input') && (self.css('position') === '' || self.css('position') == 'static')) {
                    self.css('position', 'relative');
                };
                            });
        };
            });
};

/* MAPS */

function initMap(){
    var startcenter = new google.maps.LatLng(51.013915, 4.201821); // belgium
    var mapOptions = {
        zoom: 12,
        center: startcenter,
        disableDefaultUI: true,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        navigationControl: true
    };
    map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
}

function setMap(cLat, cLng){

    var center = new google.maps.LatLng(cLat, cLng);
    var bounds = new google.maps.LatLngBounds();
    var point;
    var i = 0;
    
    var infowindow = new google.maps.InfoWindow({
        content: '',
        maxWidth: 280
    });
    
    // get all the coords from results
    $('#results li a').each(function(){
        var loc = $(this);
        var rel = loc.attr('rel');
        var addr = loc.html().replace(' - ', '<br />');
        loc.removeAttr('href');
        var rLng = parseFloat(rel.substr(rel.indexOf(',') + 1));
        var rLat = parseFloat(rel.substring(0, rel.indexOf(',')));
        var markersArray = [];
        // extend boundaries
        point = new google.maps.LatLng(rLat, rLng);
        bounds.extend(point);
        // set marker
        var marker = new google.maps.Marker({
            position: point,
            map: map,
            title: loc.attr('title'),
            icon: base_url + 'img/starpoint.png'
        });
        markersArray.push(marker);
        
        // create infowindow
        
        
        var mPos = marker.getPosition();
        
        // open infowindow on click
        google.maps.event.addListener(marker, 'click', function(){
            infowindow.setContent('<p class="ballon">' + addr + '</p>');
            infowindow.setPosition(mPos);
            map.panTo(mPos);
            $('.ballon').parent('div').css('overflow', 'hidden');
            $('.ballon').parent('div').parent('div').css('overflow', 'hidden');
        });
        loc.click(function(){
            infowindow.setContent('<p class="ballon">' + addr + '</p>');
            infowindow.setPosition(mPos);
            map.panTo(mPos);
            $('.ballon').parent('div').css('overflow', 'hidden');
            $('.ballon').parent('div').parent('div').css('overflow', 'hidden');
        });
        
        google.maps.event.addListener(map, 'tilesloaded', function(){
            $('.ballon').parent('div').css('overflow', 'hidden');
            $('.ballon').parent('div').parent('div').css('overflow', 'hidden');
        });
        
        
        // count number of dealers
        i++;
        
        infowindow.open(map);
    });
    
    
    // hide map when no dealers
    if (i == 0) {
        $('#map_canvas, #ctsm').hide();
    }
    
    // center map correctly according to boundaries
    map.fitBounds(bounds);
}

/* Webshop links */

function setWebshopLinks(){

    $('body.saveonline section#content section:not(.footnotes) a:not(.authbutton)').each(function(){
    
        var url = $(this).attr('href');
        $(this).removeAttr('href').css('cursor', 'pointer');
        $(this).click(function(){
            $('.dialog').dialog({
                modal: true,
                buttons: {
                    "OK": function(){
                        var cardnr = $('#cardnr').val();
                        if (cardnr == "" || cardnr != parseInt(cardnr)) {
                            alert('Dit is geen geldig kaartnummer!');
                        }
                        else {
                            window.location.href = url + '&epi=' + cardnr;
                        }
                    }
                }
            })
        });
        
    });
}



/* Flash animation */

function setAnimations(){


    /*
     var params = {
     menu: "false",
     wmode: "transparent"
     };
     var attributes = {};
     var flashvars = {
     path: base_url + "video/stars_" + language + ".flv"
     };
     
     swfobject.embedSWF(base_url + "swf/player.swf", "animation", "960", "402", "10.0.0", "../video/expressinstall.swf", flashvars, params, attributes);
     */
    var params = {
        menu: "false",
        bgcolor: "#ffffff",
        wmode: "transparent",
        allowscriptaccess: true
    };
    var attributes = {};
    var flashvars = {
        baseUrl: base_url,
        xml: "main_" + language + ".xml"
    };
    
    swfobject.embedSWF(base_url + "swf/Main.swf", "animation", "972", "300", "10.0.0", "../video/expressinstall.swf", flashvars, params, attributes);
}

