// read url parameters
(function ($) {
    $.url = {};
    $.extend($.url, {
        _params: {},
        init: function(){
            var paramsRaw = "";
            try{
                paramsRaw =
                (document.location.href.split("?", 2)[1] || "").split("#")[0].split("&") || [];
                for(var i = 0; i< paramsRaw.length; i++){
                    var single = paramsRaw[i].split("=");
                    if(single[0])
                        this._params[single[0]] = unescape(single[1]);
                }
            }
            catch(e){
                alert(e);
            }
        },
        param: function(name){
            return this._params[name] || "";
        },
        paramAll: function(){
            return this._params;
        }
    });
    $.url.init();
})(jQuery);

// Googlemap + actions
$(function() {
        var map;
        var rms = new google.maps.LatLng(49.238868, 4.002671);
        var docXMLDefault = 'http://www.supdeco-rms.com/docs/googlemap/fr/xml-supdeco.php?zone=' + $.url.param("zone");
        if ($('#map').hasClass('big')) {
            var zoomDefault = 3
        }
        else { 
            var zoomDefault = 2
        }
       

        var myOptions = {
          zoom: zoomDefault,
          center: rms,
          mapTypeControl: true,
          mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
          mapTypeId: google.maps.MapTypeId.TERRAIN,
          streetViewControl: true
        };

        map = new google.maps.Map(document.getElementById("map"), myOptions);

        // add markerRMS
        var goBackToRmsDiv = document.createElement('DIV');
        var goBackToRms = new GoBackToRms(goBackToRmsDiv, map);
        goBackToRmsDiv.index = 1;
        map.controls[google.maps.ControlPosition.TOP_RIGHT].push(goBackToRmsDiv);

        var imageRms = 'http://www.reims-ms.fr/images/googlemap/ico-rms.png';

        var markerRms = new google.maps.Marker({
            position : rms,
            map: map,
            icon: imageRms,
            title: 'Reims Management School'
        });
        var contentString = '<div class="contentRms">' +
            '<p><img src="http://www.reims-ms.fr/images/googlemap/rms-logo-rms.jpg" /><\/p>'+
            '<p>Comptant parmi les meilleurs groupes de formation au management, RMS a form&eacute; plus de 25 000 &eacute;tudiants depuis 80 ans. RMS a toujours su innover pour r&eacute;pondre aux besoins des entreprises.<\/p>' +
            '<h2>Reims Management School<\/h2>' +
            '<ul>' +
            '<li>59, rue Pierre Taittinger - 51100 Reims <br /> France<\/li>' +
            '<li><strong>Tel. :<\/strong> +33 (0) 3 26 77 47 47<\/li>' +
            '<li><strong>Fax :<\/strong> +33 (0)3 26 04 69 63<\/li>' +
            '<li><strong>Site internet :<\/strong> <a href="http://www.reims-ms.fr" target="_blank">http://www.reims-ms.fr<\/a><\/li>' +
            '<\/ul>' +
            '<\/div>';

        var infoWindowRms = new google.maps.InfoWindow({
           content: contentString
        });

        google.maps.event.addListener(markerRms, 'click', function() {
          infoWindowRms.open(map,markerRms);
          map.setCenter(rms);
        });



       // add Xml
       var infoWindow = new google.maps.InfoWindow;

       downloadUrl(docXMLDefault, dataFunction = function(data){
           var xml = parseXML(data);
           var chargementXml = xml.documentElement;

           var markers = chargementXml.getElementsByTagName('marker');

           for (i = 0; i < markers.length; i++) {
               var title = chargementXml.getElementsByTagName('title')[i].firstChild.nodeValue ;
               var logo = chargementXml.getElementsByTagName('logo')[i].firstChild.nodeValue;
               var address = chargementXml.getElementsByTagName('address')[i].firstChild.nodeValue;
               var tel = chargementXml.getElementsByTagName('tel')[i].firstChild.nodeValue;
               var fax = chargementXml.getElementsByTagName('fax')[i].firstChild.nodeValue;
               var pays = chargementXml.getElementsByTagName('pays')[i].firstChild.nodeValue;
               var web = chargementXml.getElementsByTagName('website')[i].firstChild.nodeValue;
               var lat = chargementXml.getElementsByTagName('lat')[i].firstChild.nodeValue;
               var lng = chargementXml.getElementsByTagName('lng')[i].firstChild.nodeValue;


               var point = new google.maps.LatLng(lat, lng);

               if(logo !='') {var docLogo = '<p><img src="http://www.reims-ms.fr/'+ logo +'" \/><\/p>'} else {docLogo = ''}
               if(address !='') {var docAddress = '<li>'+ address +'<br />'+ pays +'<\/li>'} else {docAddress = ''}
               if(tel !='') {var docTel = '<li><strong>Tel. :<\/strong> '+ tel +'<\/li>'} else {docTel = ''}
               if(fax !='') {var docFax = '<li><strong>Fax :<\/strong> '+ fax +'<\/li>'} else {docFax = ''}
               if(web !='') {var docWeb = '<li><strong>Site internet :</\strong> <a href="'+ web +'" target="_blank">'+ web +'<\/a><\/li>'} else {docWeb = ''}

               var supdeco = markers[i].getAttribute("supdeco");
               var cesem = markers[i].getAttribute("cesem");
               var tema = markers[i].getAttribute("tema");
               var suptg = markers[i].getAttribute("suptg");
               var imba = markers[i].getAttribute("imba");
               var mim = markers[i].getAttribute("mim");

               if(supdeco == 1) { var txtSupdeco = '<li><a href="http://www.supdeco-rms.com/" target="_blank"><img src="http://www.reims-ms.fr/images/googlemap/rms-logo-supdecoreims.jpg" \/><\/a><\/li>'} else { txtSupdeco = ''}
               if(cesem == 1) { var txtCesem = '<li><a href="http://www.cesem-rms.com/" target="_blank"><img src="http://www.reims-ms.fr/images/googlemap/rms-logo-cesem.jpg" /><\/a><\/li>'} else { txtCesem = '' }
               if(tema == 1) { var txtTema = '<li><a href="http://www.tema-rms.com/" target="_blank"><img src="http://www.reims-ms.fr/images/googlemap/rms-logo-tema.jpg" /><\/a><\/li>'} else {txtTema = '' }
               if(suptg == 1) { var txtSuptg = '<li><a href="http://www.suptg-rms.com/" target="_blank"><img src="http://www.reims-ms.fr/images/googlemap/rms-logo-suptg.jpg" /><\/a><\/li>'} else { txtSuptg = ''}
               if(imba == 1) { var txtImba = '<li><a href="http://www.mba-rms.com/" target="_blank"><img src="http://www.reims-ms.fr/images/googlemap/rms-logo-imba.jpg" /><\/a><\/li>'} else { txtImba = ''}
               if(mim == 1) { var txtMim = '<li><a href="http://www.masters-rms.com/mim.html" target="_blank"><img src="http://www.reims-ms.fr/images/googlemap/rms-logo-mim.jpg" /><\/a><\/li>'} else { txtMim = ''}

               if(supdeco == 1 || cesem == 1 || tema == 1 || suptg == 1 || imba == 1 || mim == 1) {var ouvertureUl = '<ul class="logo">'} else {ouvertureUl = '' }
               if(supdeco == 1 || cesem == 1 || tema == 1 || suptg == 1 || imba == 1 || mim == 1) {var fermetureUl = '</ul>'} else {fermetureUl = '' }

              var html = '<div class="content">' +
                   docLogo +
                   "<h2>"+ title +"<\/h2>" +
                   "<ul>" + docAddress + docTel + docFax + docWeb + "<\/ul>" +
                   ouvertureUl +
                   txtSupdeco + txtCesem + txtTema + txtSuptg + txtImba + txtMim +
                   fermetureUl +
                   "<\/div>";

               var image = 'http://www.reims-ms.fr/images/googlemap/ico-partner-supdeco.png';
               var marker = new google.maps.Marker({
                   position: point,
                   map: map,
                   title: title,
                   icon: image
               });
               bindInfoWindow(marker, map, infoWindow, html, lat, lng);
            }
            google.maps.event.addListener(map, 'click', function() {
              infoWindow.close();
              infoWindowRms.close();
            });
        });

       function GoBackToRms(rmsDiv, map) {
            rmsDiv.style.padding = "5px";

            var controlUI = document.createElement('DIV');
            controlUI.className = 'controlUI';
            controlUI.innerHTML = 'RMS Location';
            rmsDiv.appendChild(controlUI);

            google.maps.event.addDomListener(controlUI, 'click', function() {
                map.setCenter(rms);
            });
        }

        // function necessaire
        function bindInfoWindow(marker, map, infoWindow, html, lat, lng) {
            google.maps.event.addListener(marker, 'click', function() {
              infoWindow.setContent(html);
              infoWindow.open(map, marker);
              var center = new google.maps.LatLng(lat, lng);
              map.setCenter(center);
            });
        }

        // function necessaire pour le parse
       function downloadUrl(url, callback) {
          var request = window.ActiveXObject ?
              new ActiveXObject('Microsoft.XMLHTTP') :
              new XMLHttpRequest;

          request.onreadystatechange = function() {
            if (request.readyState == 4) {
              request.onreadystatechange = doNothing;
              callback(request.responseText, request.status);
            }
          };

          request.open('GET', url, true);
          request.send(null);
        }

      function parseXML(str) {
          if (window.ActiveXObject) {
            var doc = new ActiveXObject('Microsoft.XMLDOM');
            doc.loadXML(str);
            return doc;
          } else if (window.DOMParser) {
            return (new DOMParser).parseFromString(str, 'text/xml');
          }
        }

       function doNothing() {}

       // Partners All link
       if($.url.param("zone") != '') { 
           $('#mapMenu').find('.' + $.url.param("zone")).addClass('actif')
       }
       else { 
           $('#mapMenu li:first').addClass('actif')
       }

       // actions
        $('#showFullMap').parent('#mceContentBody').css({'position':'relative'});
       // Tooltip
	$('#rmsMenu a').hover(function(e) {
            var html = '<div id="more-info">';
            html +=    $(this).text();
            html +=		'</div>';

	$('body').append(html).children('#more-info').hide().show();
	$('#more-info').css('top', e.pageY - 50).css('left', e.pageX + 20);
        
	}, function() {
            $('#more-info').remove();
	});

	$('#rmsMenu a').mousemove(function(e) {
            $('#more-info').css('top', e.pageY - 50).css('left', e.pageX - 300);
	});

});