// fonction permettant de lier le mouvement de la visionneuse avec le eLabel "radar" sur la google MAP
var markerencours;
var mgr;
var lastmarker=null;
var allmarkers = [];
var map;
var idpano;
var langue='fr';
var idtypelieu;
$(document).ready(function(){
    idpano=$('#idPanorama').val();
    langue=$('#language').val();
    idtypelieu=$('#idtypelieu').val();
    var resultat=getLatLng('lieu',idpano);
    var position=new GLatLng(resultat[0].x, resultat[0].y);
    //$('#bloc_formulaire').hide();
    if (GBrowserIsCompatible()){
        map = new GMap2(document.getElementById("carte"), {
            mapTypes:[G_NORMAL_MAP,G_HYBRID_MAP,G_SATELLITE_MAP]
        });
        map.setCenter(position,16);
        map.addControl(new GLargeMapControl3D());
        map.enableDoubleClickZoom();
        mgr = new MarkerManager(map, {
            trackMarkers: true
        } );
        var image = '/files/panoramas/images/panorama_encours.png';
        var icon = new GIcon();
        icon.image = image;
        icon.iconSize = new GSize(16, 16);
        icon.iconAnchor = new GPoint(8, 8);
        icon.infoWindowAnchor = new GPoint(15, 0);
        $.ajax({
            type: "POST",
            url: "/mode_debug/MVC_PATTERN/ajax/getLieux.php",
            data: "id_lieu="+idpano+"&langue="+langue,
            async: false,
            dataType: "json",
            success: function(data){
                var length = data.length;
                if(length==1){
                    if(data[0].abonne==1){
                        $('#bloc_formulaire').hide();
                    }
                    var title=data[0].nom;
                    var marker=createMarkerEncours(position,title,icon,idpano,data[0].abonne,'freezone');
                    mgr.addMarker(marker, 7);
                }
            },
            error: function(xhr, err, e){
            // alert(err+"panorama ici +id");
            }
        });
        setMarkersLieu();
        setMarkersPanorama();
        mgr.refresh();
    }
    $(".tab_content").hide();
    $(".tab_content:first").show();
    $("ul.tabs li").click(function() {
        $("ul.tabs li").removeClass("active");
        $(this).addClass("active");
        $(".tab_content").hide();
        var activeTab = $(this).find("a").attr("href");
        $(activeTab).fadeIn();
        return false;
    });

    
});
function LancePanorama(){

    Get_URLPanorama($('#idPanorama').val());
}

//fonction permettant de mettre en avant un bloc du carousel
function highlight(bloc, bloc1){
    document.getElementById(bloc).style.opacity = 1;
    document.getElementById(bloc1).style.opacity = 1;
    document.getElementById(bloc).style.MozOpacity=1;
    document.getElementById(bloc1).style.MozOpacity=1;
    if(navigator.appName == 'Microsoft Internet Explorer'){
        document.getElementById(bloc).filters.alpha.opacity=100;
        document.getElementById(bloc1).filters.alpha.opacity=100;
    }
}

// fonction contraire
function retourHighlight(bloc, bloc1){
    document.getElementById(bloc).style.opacity = 0.8;
    document.getElementById(bloc1).style.opacity = 0.8;
    document.getElementById(bloc).style.MozOpacity=0.8;
    document.getElementById(bloc1).style.MozOpacity=0.8;
    if(navigator.appName == 'Microsoft Internet Explorer'){
        document.getElementById(bloc).filters.alpha.opacity=80;
        document.getElementById(bloc1).filters.alpha.opacity=80;
    }
}
function getInternetExplorerVersion(){
    var rv = -1; // Return value assumes failure.
    if (navigator.appName == 'Microsoft Internet Explorer') {
        var ua = navigator.userAgent;
        var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
            rv = parseFloat(RegExp.$1);
    }
    return rv;
}

// Fonctions qui permetttent de mettre en avant un marqueur (grace au zIndexProcess)
function importanceOrder (marker,b)
{
    return GOverlay.getZIndex(marker.getPoint().lat()) + marker.importance*10000;
}
function veryImportanceOrder (marker,b)
{
    return GOverlay.getZIndex(marker.getPoint().lat()) + marker.importance*10000000;
}
function createMarker(lieuid,lirepanorama, posn, title, icon, id, abonne, partenaire,
    spherique,url) {
    var ver = getInternetExplorerVersion();

    // Si ie
    if (ver > -1) {

        // si ie 8
        if (ver == 8) {
            var marker = new GMarker(posn, {
                icon : icon,
                draggable : false
            });
        } else {
            // si autre que ie 8
            if (abonne == 1) {
                var marker = new GMarker(posn, {
                    icon : icon,
                    draggable : false,
                    zIndexProcess : importanceOrder
                });
            } else {
                var marker = new GMarker(posn, {
                    icon : icon,
                    draggable : false
                });
            }
        }
    } else {
        // Si firefox, Safari, Chrome, Opera ...
        if (abonne == 1) {
            var marker = new GMarker(posn, {
                icon : icon,
                draggable : false,
                zIndexProcess : importanceOrder
            });
        } else {
            var marker = new GMarker(posn, {
                icon : icon,
                draggable : false
            });
        }
    }

    GEvent
    .addListener(
        marker,
        'click',
        function() {

            $(location).attr('href',"/"+url);

        });

    // Ces événements sont communs a tous les marqueurs
    GEvent.addListener(marker, "mouseover", function() {
        var html = '<p>' + title + '</p>';
        marker.openExtInfoWindow(map, "simple_example_window", html, {
            beakOffset : 3
        });
    });
    GEvent.addListener(marker, "mouseout", function() {
        marker.closeExtInfoWindow(map);
    });

    return marker;
}
function encoursOrder(marker, b) {
    return GOverlay.getZIndex(marker.getPoint().lat()) + marker.importance
    * 100000;
}
function createMarkerEncours(posn, title, icon,id,abonne,freezone){
    var ver = getInternetExplorerVersion();
    if (ver > -1) {
        // si ie 8
        if (ver == 8) {
            var marker = new GMarker(posn, {
                icon : icon,
                draggable : false

            });
        } else {
            var marker = new GMarker(posn, {
                icon : icon,
                draggable : false,
                zIndexProcess : encoursOrder
            });
        }
    } else {
        var marker = new GMarker(posn, {
            icon : icon,
            draggable : false,
            zIndexProcess : encoursOrder
        });
    }
    GEvent.addListener(marker, 'click', function()
    {

        if(abonne==1)
        {
            Get_URLPanorama($('#idPanorama').val());
        }


    } );
    GEvent.addListener(marker, "mouseover", function() {
        var html = '<p>'+title+'</p>';
        marker.openExtInfoWindow(map, "simple_example_window", html, {
            beakOffset: 3
        });
    });
    GEvent.addListener(marker, "mouseout", function() {
        marker.closeExtInfoWindow(map);
    });
    return marker;
}
function trim (myString)
{
    return myString.replace(/^\s+/g,'').replace(/\s+$/g,'');
}
function getIconLieu(typelieu_code, typelieu_id, abonne) {
    // secteur : icones des lieu du cas parcours guidé
    var icon;
    if (typelieu_code == "secteur") {
        image = "/files/typelieu/" + typelieu_id + "/" + typelieu_code + "_map.png";
        icon = new GIcon(false,image);
        icon.iconSize = new GSize(32, 32);
        icon.iconAnchor = new GPoint(16, 16);
    } else {
        if (abonne == 1) {
            image = "/files/typelieu/" + typelieu_id + "/" + typelieu_code + "_18.png";
            icon = new GIcon(false,image);
            icon.iconSize = new GSize(18, 18);
            icon.iconAnchor = new GPoint(9, 9);
        } else {
            image = "/files/typelieu/" + typelieu_id + "/" + typelieu_code + "_16.png";
            icon = new GIcon(false,image);
            icon.iconSize = new GSize(16, 16);
            icon.iconAnchor = new GPoint(8, 8);
        }
    }
    icon.infoWindowAnchor = new GPoint(0, -5);

    return icon;
}
function Get_URLPanorama(id){
    if(id != 0){
        $.ajax({
            type: "POST",
            url: "/mode_debug/MVC_PATTERN/ajax/getPanoramaURL.php",
            data: "id_panorama="+id+"&langue="+langue,
            async: false,
            success: function(data){
                var url="http://"+location.hostname;
                url=trim(url)+trim(data);
                $(location).attr('href',url);
            },
            error: function(xhr, err, e){
                alert(err+"panorama+id");
            }
        });
    }
}
function setMarkersLieu() {

    $
    .ajax( {
        type : "POST",
        url : "/mode_debug/MVC_PATTERN/ajax/getLieux.php",
        data : "model=lieu&langue=" + langue+"&id_typelieu="+idtypelieu,
        async : false,
        dataType : "json",
        success : function(data) {
            var length = data.length;
            if (length > 0) {
                for ( var i = 0; i < length; i += 1) {
                    var id = data[i].panorama_id;
                    var x = data[i].x;
                    var y = data[i].y;
                    var title = data[i].nom;
                    var typelieu_code = data[i].code;
                    var typelieu_id = data[i].tlid;
                    var abonne = data[i].abonne;
                    var partenaire = data[i].partenaire;
                    var lieuid=data[i].lieuid;
                    var url=data[i].url;
                    var marker = createMarker(lieuid,true,
                        new GLatLng(x, y), title,
                        getIconLieu(typelieu_code,
                            typelieu_id, abonne), id,
                        abonne, partenaire, 3,url);
                    mgr.addMarker(marker, 7);
                }
            }

        },
        error : function(xhr, err, e) {
        //alert(err+"lieu");
        }
    });
}
function setMarkersPanorama() {
    $.ajax( {
        type : "POST",
        url : "/mode_debug/MVC_PATTERN/ajax/getPanorama.php",
        data : "langue=" + langue,
        async : true,
        dataType : "json",
        success : function(data) {
            var length = data.length;
            if (length > 0) {
                for ( var i = 0; i < length; i += 1) {
                    var id = data[i].id;
                    var x = data[i].x;
                    var y = data[i].y;
                    var title = data[i].nom;
                    var visible = parseInt(data[i].visible);
                    var spherique = parseInt(data[i].spherique);
                    var url=data[i].url;
                    if (visible == 1) {
                        if (spherique == 0) {
                            if (id > 0) {
                                var icon = new GIcon(false,"/files/panoramas/images/panorama_8.png");
                                icon.iconSize = new GSize(8, 8);
                                icon.iconAnchor = new GPoint(4, 4);
                                icon.infoWindowAnchor = new GPoint(0,
                                    -10);
                                var marker = createMarker(0,true,
                                    new GLatLng(x, y), title, icon,
                                    id, 0, '', spherique,url);
                                mgr.addMarker(marker, 16);
                            }
                        } else {
                            if (id > 0) {
                                var icon = new GIcon(false,"/files/panoramas/images/panorama_12.png");
                                icon.iconSize = new GSize(12, 12);
                                icon.iconAnchor = new GPoint(6, 6);
                                icon.infoWindowAnchor = new GPoint(0,
                                    -10);
                                var marker = createMarker(0,true,
                                    new GLatLng(x, y), title, icon,
                                    id, 0, '', spherique,url);
                                mgr.addMarker(marker, 16);
                            }
                        }
                    } else {
                        if (id > 0) {
                            var icon = new GIcon(false,"/files/typelieu/empty.gif");
                            icon.iconSize = new GSize(1, 1);
                            icon.iconAnchor = new GPoint(1, 1);
                            icon.infoWindowAnchor = new GPoint(0, 0);
                            var marker = createMarker(0,true,
                                new GLatLng(x, y), title, icon, id,
                                0, '', spherique,url);
                            mgr.addMarker(marker, 16);
                        }
                    }

                }
            }

        },
        error : function(xhr, err, e) {
        // alert(err+"panorama");
        }
    });

}
function getLatLng(element,id)
{

    var resultat = new Array();
    $.ajax({
        type: "POST",
        url: "/mode_debug/MVC_PATTERN/ajax/getCoordonnees.php",
        data: "element="+element+"&id="+id,
        async: false,
        dataType: "json",
        success: function(data){
            var length = data.length;
            if(length==1)
            {
                resultat=data;
            }

        },
        error: function(xhr, err, e){
            alert(err+"coordonnees");
        }
    });
    return resultat;
}


function afficherFormulaire()
{
    var version=getInternetExplorerVersion();

    if ($('#bloc_formulaire').is(":hidden"))
    {

        $('#bloc_formulaire').show();
        if(version==7)
        {
            $('#corpsfreezone').height(1410);
            $('#contenu').height(1520);
        }
        else if(version==6)
        {
            $('#corpsfreezone').height(1410);
            $('#contenu').height(1650);
        }
        else
        {

            $('#corpsfreezone').height(1240);
            $('#contenu').height(1620);
        }


    }
    else
    {
        $("#nom").html('');
        $("#nom").css("background-color","#CCCCCC");
        $("#prenom").html('');
        $("#prenom").css("background-color","#CCCCCC");
        $("#cp").html('');
        $("#cp").css("background-color","#CCCCCC");
        $("#tel").html('');
        $("#tel").css("background-color","#CCCCCC");
        $("#mail").html('');
        $("#mail").css("background-color","#CCCCCC");
        $("#city").html('');
        $("#city").css("background-color","#CCCCCC");
        $("#remarques").css("background-color","#CCCCCC");
        $("#remarques").html('');
        $("#infovalidation").html("");
        $("#typeetablissement").css("background-color","#CCCCCC");
        $("#typeetablissement").html('');
        $('#bloc_formulaire').hide();
        if(version==7)
        {
            $('#corpsfreezone').height(800);
            $('#contenu').height(900);
        }
        else if(version==6)
        {
            $('#corpsfreezone').height(800);
            $('#contenu').height(1000);
        }
        else
        {
            $('#corpsfreezone').height(620);
            $('#contenu').height(1000);
        }

    }


}


function trim (myString)
{
    return myString.replace(/^\s+/g,'').replace(/\s+$/g,'');
}
function isEmail(email)
{
    var new_string = new String(email);
    if (!new_string.match('^[-_\.0-9a-zA-Z]{1,}@[-_\.0-9a-zA-Z]{1,}[\.][0-9a-zA-Z]{2,}$')) {
        return false;
    } else {
        return true;
    }
}

function EnvoyerMail()
{

    data="langue="+langue+"&model=envoyermail&etablissement="+$("#typeetablissement").val()+"&nom2="+$("#nom").val()+"&prenom2="+$("#prenom").val()+"&tel2="+$("#tel").val()+"&ville2="+$("#city").val()+"&mail2="+$("#mail").val()+"&cp2="+$("#cp").val()+"&remarques="+$("#remarques").val();
    $.ajax({
        type: "POST",
        contentType: "application/x-www-form-urlencoded",
        url: "/mode_debug/MVC_PATTERN/ajax/contact.php",
        async: false,
        processData: false,
        data: data,
        dataType: "json",
        success: function(data){
            var len=data.length;
            if(len==1)
            {
                if (data[0].OK=='OK')
                {
                    $("#infovalidation").css("color","#544942");
                    $("#infovalidation").css("text-align","center");
                    $("#infovalidation").css("font-weight","bold");
                    $("#infovalidation").html(data[0].message);
                    $("#nom").html('');
                    $("#nom").css("background-color","#CCCCCC");
                    $("#prenom").html('');
                    $("#prenom").css("background-color","#CCCCCC");
                    $("#cp").html('');
                    $("#cp").css("background-color","#CCCCCC");
                    $("#tel").html('');
                    $("#tel").css("background-color","#CCCCCC");
                    $("#mail").html('');
                    $("#mail").css("background-color","#CCCCCC");
                    $("#ville").html('');
                    $("#ville").css("background-color","#CCCCCC");
                    $("#remarques").css("background-color","#CCCCCC");
                    $("#remarques").html('');
                    $("#typeetablissement").css("background-color","#CCCCCC");
                    $("#typeetablissement").html('');

                }
                else
                {
                    $("#infovalidation").css("color","#F52C73");
                    $("#infovalidation").css("font-weight","bold");
                    $("#infovalidation").html(data[0].message);
                }
            }

        },
        error: function(xhr, err, e){
            alert(err);
        }
    });
}
function ControleMail()
{
    var version=getInternetExplorerVersion();
    if(version==-1)
        ControleMailFirefox();
    else
        ControleMailIE();
}
function ControleMailIE()
{
    var boolValid=true;
    var sizenom=(trim($("#nom").val())).length;
    if(sizenom==0)
    {
        $("#nom").css("background-color","#F52C73");
        boolValid=false;
    }
    else
    {
        $("#nom").css("background-color","#CCCCCC");
    }
    var sizeprenom=(trim($("#prenom").val())).length;
    if(sizeprenom==0)
    {
        $("#prenom").css("background-color","#F52C73");
        boolValid=false;
    }
    else
        $("#prenom").css("background-color","#CCCCCC");

    var sizenbhab=(trim($("#typeetablissement").val())).length;
    if(sizenbhab==0)
    {
        $("#typeetablissement").css("background-color","#F52C73");
        boolValid=false;

    } else
        $("#typeetablissement").css("background-color","#CCCCCC");

    var sizemail=(trim($("#mail").val())).length;
    if(sizemail==0)
    {
        $("#mail").css("background-color","#F52C73");
        boolValid=false;
    } else  {
        if(isEmail($("#mail").val()))
            $("#mail").css("background-color","#CCCCCC");
        else{
            $("#mail").css("background-color","	#F52C73");
            boolValid=false;
        }
    }
    var sizecp=(trim($("#cp").val())).length;
    if(sizecp==0){
        $("#cp").css("background-color","#F52C73");
        boolValid=false;
    } else {

        if(parseInt($("#cp").val(), 10))
        {
            $("#cp").css("background-color","#CCCCCC");
        }
        else
        {
            $("#cp").css("background-color","#F52C73");
            boolValid=false;
        }
    }
    var sizeville=(trim($("#city").val())).length;
    if(sizeville==0)
    {
        $("#city").css("background-color","#F52C73");
        boolValid=false;
    }
    else
        $("#city").css("background-color","#CCCCCC");

    var sizeremarques=(trim($("#remarques").val())).length;
    if(sizeremarques==0)
    {
        $("#remarques").css("background-color","#F52C73");
        boolValid=false;
    }
    else
    {
        $("#remarques").css("background-color","#CCCCCC");
    }
    var sizetel=(trim($("#tel").val())).length;
    if(sizetel==0)
    {
        $("#tel").css("background-color","#F52C73");
        boolValid=false;
    }
    else
    {
        if(parseInt($("#tel").val(), 10))
        {
            $("#tel").css("background-color","#CCCCCC");


        }
        else
        {
            $("#tel").css("background-color","	#F52C73");
            boolValid=false;
        }
    }
    if(boolValid==false)
    {
        $("#infovalidation").css("color","#F52C73");
        $("#infovalidation").css("font-weight","bold");
        $.ajax({
            type: "POST",
            contentType: "application/x-www-form-urlencoded",
            url: "/mode_debug/MVC_PATTERN/ajax/message.php",
            async: false,
            processData: false,
            data: "langue="+langue,
            success: function(data)
            {
                $("#infovalidation").html(data);
            },
            error: function(xhr, err, e){
                alert(err);
            }
        });
    }
    else
    {

        EnvoyerMail();
    }
}
function  ControleMailFirefox()
{

    var boolValid=true;
    if((trim($("#nom").val())).length==0)
    {
        $("#nom").css("background-color","#F52C73");
        boolValid=false;

    }
    else
    {
        $("#nom").css("background-color","#CCCCCC");
    }
    if((trim($("#prenom").val())).length==0)
    {
        $("#prenom").css("background-color","#F52C73");
        boolValid=false;
    }
    else
    {
        $("#prenom").css("background-color","#CCCCCC");

    }
    if((trim($("#tel").val())).length==0)
    {
        $("#tel").css("background-color","#F52C73");
        boolValid=false;
    }
    else
    {
        if(parseInt($("#tel").val())>0)
        {

            $("#tel").css("background-color","#CCCCCC");
        }
        else
        {
            $("#tel").css("background-color","#F52C73");
            boolValid=false;
        }
    }
    if((trim($("#city").val())).length==0)
    {
        $("#city").css("background-color","#F52C73");
        boolValid=false;

    }
    else
    {
        $("#city").css("background-color","#CCCCCC");
    }
    if((trim($("#cp").val())).length==0)
    {
        $("#cp").css("background-color","#F52C73");

    }
    else
    {
        if(parseInt($("#cp").val())>0)
        {

            $("#cp").css("background-color","#CCCCCC");
        }
        else
        {
            $("#cp").css("background-color","#F52C73");
            boolValid=false;
        }
    }
    if(isEmail($("#mail").val()))
    {

        $("#mail").css("background-color","#CCCCCC");
    }
    else
    {

        $("#mail").css("background-color","#F52C73");
        boolValid=false;
    }
    if((trim($("#typeetablissement").val())).length==0)
    {
        $("#typeetablissement").css("background-color","#F52C73");
        boolValid=false;
    }
    else
    {
        $("#typeetablissement").css("background-color","#CCCCCC");
    }
    if((trim($("#remarques").val())).length==0)
    {
        $("#remarques").css("background-color","#F52C73");
        boolValid=false;
    }
    else
    {
        $("#remarques").css("background-color","#CCCCCC");
    }
    if(boolValid==false)
    {
        $("#infovalidation").css("color","#F52C73");
        $("#infovalidation").css("font-weight","bold");
        $.ajax({
            type: "POST",
            contentType: "application/x-www-form-urlencoded",
            url: "/mode_debug/MVC_PATTERN/ajax/message.php",
            async: false,
            processData: false,
            data: "langue="+langue,
            success: function(data)
            {
                $("#infovalidation").html(data);
            },
            error: function(xhr, err, e){
                alert(err);
            }
        });
    }
    else
    {
        EnvoyerMail();
    }
}

function getInternetExplorerVersion() {

    var rv = -1; // Return value assumes failure.
    if (navigator.appName == 'Microsoft Internet Explorer') {
        var ua = navigator.userAgent;
        var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
            rv = parseFloat(RegExp.$1);
    }
    return rv;
}