﻿ // JScript File
 
 var gmarkers;
 var searchResults;
 var free;
 var member2member;
  var bolIsDigital;
 var countExpire = 0;
 var zooomlevel;

 
 //#################################################################################################
 //############ order or zindex ##############################################################
 //######################################################################################
       function importanceOrder (marker,b) {
        return GOverlay.getZIndex(marker.getPoint().lat()) + marker.importance*1000000;
      }


//======================================================================================================================//
//======================================================================================================================//
//<summary>
// create initial markers
//</summary>
function createMarker(point,member,  name, email, profile, vetting, html, type, categories, m2m, awards, joinType, employeeNumber, tip, mapTags) {

            // var ls = document.getElementById('loadstatus');
             // ls.innerHTML = 'Plotting...'

if (GBrowserIsCompatible()) {

       // alert(member);
//        for (var y=0; y<categories.length; y++) {
//         alert(categories[y]);
//        }


var baseIcon = new GIcon();
baseIcon.iconAnchor = new GPoint(10, 30);
baseIcon.infoWindowAnchor = new GPoint(16, 16); 
baseIcon.infoShadowAnchor  = new GPoint(18, 20); 


//        greenIcon.iconSize=new GSize(12,20);
//greenIcon.shadowSize=new GSize(22,20);
//greenIcon.iconAnchor=new GPoint(6,20);
//greenIcon.infoWindowAnchor=new GPoint(5,1);
//greenIcon.infoShadowAnchor=new GPoint(14,24);

//DBug alert(member);
//Dbug  alert(html + ' ' + type);
var zindex = type;

//=== set credit groups for free pins ===//
var rarrayCredits = ['AccreditUK', 'ISO', 'Intellect', 'British Computer Society', 'BCS', 'Select Supply'];


// set icon image
if (joinType == 'UKSPA'){
        baseIcon.image = "images/marker/spa.png" ;
     //   baseIcon.shadow = "images/marker/spa.png";
        baseIcon.iconSize = new GSize(25, 29); zindex = 3;
}
else if(joinType == 'BCS'){
        baseIcon.image = "images/marker/bcs.png" ;
        baseIcon.iconSize = new GSize(25, 29);  zindex = 3;
    
}
else if(joinType == 'Incubator'){
        baseIcon.image = "images/marker/incubator.png" ;
        baseIcon.iconSize = new GSize(25, 29);  zindex = 3;
}
else if(joinType == 'Foreign'){
        baseIcon.image = "images/marker/foreign.png" ;
        baseIcon.iconSize = new GSize(25, 29); zindex = 3;
}
else if(joinType == 'University'){
        baseIcon.image = "images/marker/university.png" ;
        baseIcon.iconSize = new GSize(25, 29); zindex = 3;
}
else if(joinType == 'Local_Authority'){
        baseIcon.image = "images/marker/localAuth.png" ;
        baseIcon.iconSize = new GSize(25, 29); zindex = 3;
}
else if(joinType == 'LEP'){
        baseIcon.image = "images/marker/lep.png" ;
        baseIcon.iconSize = new GSize(25, 29);   zindex = 3;
}
else if(joinType == 'PINSME'){
        baseIcon.image = "images/marker/sme.png" ;
        baseIcon.iconSize = new GSize(25, 29);  zindex = 3;
}
else if(joinType == 'EU'){
        baseIcon.image = "images/marker/eu.png" ;
        baseIcon.iconSize = new GSize(25, 29);  zindex = 3;
}
else if(joinType == 'Collaboration'){
        baseIcon.image = "images/marker/collaboration.png" ;
        baseIcon.iconSize = new GSize(25, 29);  zindex = 3;
}
else if(joinType == 'Project_Collaboration'){
        baseIcon.image = "images/marker/projectCollaboration.png" ;
        baseIcon.iconSize = new GSize(52, 47);  zindex = 3;
}
else if(joinType == 'Project_Prime'){
        baseIcon.image = "images/marker/projectPrime.png" ;
        baseIcon.iconSize = new GSize(52, 47);  zindex = 3;
}
else if (joinType == 'cluster')
{
         if (type == 1) 
        {
        baseIcon.image =  "images/marker/cluster_memberQM.png" ;
        baseIcon.iconSize = new GSize(30, 61); 
        baseIcon.iconAnchor = new GPoint(15, 56);
        zindex = 9;
        //alert(name);

        }
        else  if (type == 6) 
        {
        baseIcon.image =  "images/marker/cluster_subscriber.png" ;
        baseIcon.iconSize = new GSize(30, 61); 
        baseIcon.iconAnchor = new GPoint(15, 56);
        zindex = 9;
        //alert(name);
        }
        else  if (type == 7) 
        {
        baseIcon.image =  "images/marker/cluster_subscriberCert.png" ;
        baseIcon.iconSize = new GSize(30, 61); 
        baseIcon.iconAnchor = new GPoint(15, 56);
        zindex = 9;
        //alert(name);

        }
        else if (type == 2 && free == true) 
        {
      //  baseIcon = spriteMarker(baseIcon, 0)
              baseIcon.image = "images/marker/cluster_free.png" ; 
            baseIcon.shadow = "images/marker/shadow50.png";
        baseIcon.iconSize = new GSize(20, 34); 
       

        }
          else if (type == 5 && free == true) 
          {
                //  baseIcon = spriteMarker(baseIcon,1)

           baseIcon.image = "images/marker/cluster_freeCert.png" ; 
            baseIcon.shadow = "images/marker/shadow50.png";
        baseIcon.iconSize = new GSize(20, 34); 
                              zindex = 7;

          }

        else if (type == 3) 
        {
                    //      baseIcon = spriteMarker(baseIcon,2)

        baseIcon.image = "images/marker/cluster_member.png" ;
        baseIcon.shadow = "images/marker/shadow50.png";
        baseIcon.iconSize = new GSize(20, 34); 
         zindex = 8;

        }
}

else
        {
        if (type == 1) 
        {
        baseIcon.image =  "images/marker/qualityMark.png" ;
        baseIcon.iconSize = new GSize(30, 61);
                baseIcon.iconAnchor = new GPoint(15, 56); 
        zindex = 9;
        //alert(name);

        }
        else if (type == 2 && free == true) 
        {
      //  baseIcon = spriteMarker(baseIcon, 0)
              baseIcon.image = "images/marker/markerFree.png" ; 
            baseIcon.shadow = "images/marker/shadow50.png";
        baseIcon.iconSize = new GSize(20, 34); 

        }
          else if (type == 5 && free == true) 
          {
                //  baseIcon = spriteMarker(baseIcon,1)

           baseIcon.image = "images/marker/markerFreeCredit.png" ; 
            baseIcon.shadow = "images/marker/shadow50.png";
        baseIcon.iconSize = new GSize(20, 34); 
                            joinType = "freeCert";
                              zindex = 7;
          }
        else if (type == 4) 
        {
        baseIcon.image = "images/marker/markerExpire.png" ;
        baseIcon.shadow = "images/marker/marker_shadowExpire.png";
        baseIcon.iconSize = new GSize(9, 17); 

        countExpire +=1;
        }
         else if (type == 6) 
        {
                    //      baseIcon = spriteMarker(baseIcon,2)

        baseIcon.image = "images/marker/markerSubs.png" ;
        baseIcon.shadow = "images/marker/shadow50.png";
        baseIcon.iconSize = new GSize(20, 34); 
         zindex = 8;

        }
         else if (type == 7) 
        {
                    //      baseIcon = spriteMarker(baseIcon,2)

        baseIcon.image = "images/marker/markerSubsCert.png" ;
        baseIcon.shadow = "images/marker/shadow50.png";
        baseIcon.iconSize = new GSize(20, 34); 
         zindex = 8;

        }

        else if (type == 3) 
        {
                    //      baseIcon = spriteMarker(baseIcon,2)

        baseIcon.image = "images/marker/member.png" ;
        baseIcon.shadow = "images/marker/shadow50.png";
        baseIcon.iconSize = new GSize(20, 34); 
         zindex = 8;

        }
       
}

markerOptions = {icon:baseIcon,zIndexProcess:importanceOrder, title: tip};

/// pin actions ----------------------------------------------
    var marker = new GMarker(point, markerOptions);
 //TOOOLTIP"2     marker.tooltip = '<div class="tooltip"><nobr>'+name+'<\/nobr><\/div>';

       ///  var marker = new MarkerLight(point, markerOptions);

       marker.importance = zindex;
       //delcare marker categories
        marker.mycategories = categories;  
      //declare marker member
        marker.member =  member; 
        //declare marker name
        marker.name =  name; 
           //declare marker name
        marker.email =  email; 
         //declare marker profile
        marker.profile =  profile; 
         //declare marker vetting
        marker.vetting =  vetting; 
        // marker m2m
        marker.m2m = m2m;
                 // marker awards
        marker.awards = awards;  
                  // marker type
        marker.type = type; 
        // join type
        marker.joinType = joinType;
        //popup html
        marker.intro = html;
        //employee number
        marker.employeeNumber = employeeNumber;
        //map tags
       marker.mapTags =  mapTags;
                
       // on pin mouseover--------------------------------------
      GEvent.addListener(marker, "mouseover", function() {
       
        //include lat/lng marker.openInfoWindowHtml(html + npoint.toUrlValue());
    //live     marker.openInfoWindowHtml(html);
     
      
      //=====================new tool tip ================//
   //TOOOLTIP"2    showToolTip(marker);
         
         
         //================= tool tips ====================//
       //TIPPPPPPPPPPPPPPPP  GEvent.addListener(marker,'mouseover',function(){
           //TIPPPPPPPPPPPPPPPP  this.tooltip.show();
 //       });
    //======================================================//       
                  var npoint = marker.getPoint();		

         var rmember = document.getElementById('txtMember'); 
rmember.value = member
         
        });
        
            GEvent.addListener(marker,'mouseout',function(){
        //TIPPPPPPPPPPPPPPPP  this.tooltip.hide();
       //TOOOLTIP"2  tooltip.style.visibility="hidden";
     });

       
       // on pin click----------------------------------------------
    GEvent.addListener(marker, "click", function() {
        marker.closeInfoWindow();
        marker.openInfoWindowHtml(html);
                 var rmember = document.getElementById('txtMember'); 
                rmember.value = member
            
            //=== show info rhs    ===//
//          if(joinType != 'cluster')   {
//            var npoint = marker.getPoint();
//          PerfectArc.MapManager.Ukita.fullRegionControl.GetMemberInfo(member,  LoadText_callback);
//  }

    });


            gmarkers.push(marker);
              return marker;
         }
         

    }
      
      //#############################################################################################
      //show tooltip v2
      //############################################################################################
      function showToolTip(marker){
         	tooltip.innerHTML = marker.tooltip;
	        var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.fromDivPixelToLatLng(new GPoint(0,0),true),map.getZoom());
	        var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
	        var anchor=marker.getIcon().iconAnchor;
	        var width=marker.getIcon().iconSize.width;
	        var height=tooltip.clientHeight;
	        var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(offset.x - point.x - anchor.x + width, offset.y - point.y -anchor.y -height)); 
	        pos.apply(tooltip);
	        tooltip.style.visibility="visible";

      }
      
   //###################################################################################################
   // get sprite maker images
   //##################################################################################################
 function spriteMarker(baseIcon, id)
 {
 
baseIcon.sprite = {};
baseIcon.sprite.image = "images/marker/all_markers.png" ;
baseIcon.sprite.top = id * 34;
baseIcon.shadow = "images/marker/shadow50.png";
        baseIcon.iconSize = new GSize(20, 34); 

 return baseIcon
 }


   //###################################################################################################
   // GET member data and panel
   //##################################################################################################
function GetMemberData(StrMemberID)
{

           StrMemberID =  document.getElementById('txtMember').value;
 //alert('final ' + StrMemberID);

PerfectArc.MapManager.Ukita.fullRegionControl.GetMemberInfo(StrMemberID, LoadText_callback);

}

       function LoadText_callback(res)
{
 //debug# alert(res.value.Company);
 var sb 
 var strProfile
 var strM2M
 
//debug alert(res.value.FlagType);
 //free supplier

 
 var br = "<br/>";
 
 
 sb = '<span class=memberHeading>' + res.value.CompanyName + '</span>'; 
 
 
   if (res.value.FlagType != "free supplier" && res.value.FlagType != "free supplier cert")
{
sb += '<a href="' + res.value.UkitaPreview + '"><img class=viewType src=images/ukita.png /></a>' ;
//sb += '<a href="' + res.value.UkitaPreview + '"><span class=memberViewFull>View full entry</span></a>' ;
}
 sb += br ; sb += br ;
 sb += 'Contact Name: <strong>' + res.value.FirstName + ' ' + res.value.Surname + '</strong>' ;
 sb += br ;
//sb += 'Address: <strong>' + res.value.Address + '</strong>';
// sb += br ;

  if (res.value.FlagType != "free supplier" &&  res.value.FlagType != "free supplier cert")
{
  sb += 'Postcode: <strong>' + res.value.Postcode + '</strong>';
  sb += br ;

  }
  
sb += 'Telephone: <strong>' + res.value.Telephone + '</strong>';

if (res.value.JoinType == 'UKSPA' || res.value.JoinType ==  'Incubator' || res.value.JoinType ==  'Foreign')
{
 sb += br ;
sb += 'Email: <strong>' + res.value.Email  + '</strong>';
 sb += br ;
sb += 'Website: <strong>' + res.value.Website + '</strong>';

}
else
if (res.value.FlagType != "free supplier" &&  res.value.FlagType != "free supplier cert")
 {
 sb += br ;
sb += 'Email: <strong>' + res.value.Email  + '</strong>';
 sb += br ;
sb += 'Website: <strong>' + res.value.Website + '</strong>';
 }
 
 
sb +=  res.value.QualityMark;
// sb += br ;
//sb += 'Company Status: <strong>' + res.value.CompanyType + '</strong>' ;

  if (res.value.FlagType != "free supplier" &&  res.value.FlagType != "free supplier cert" &&  res.value.FlagType != "subscriber" &&  res.value.FlagType != "subscriber cert")
{
 sb += br ;
sb += 'Employee Size: <strong>' + res.value.EmployeeNumber + '</strong>' ;
 sb += br ;
 }


 if (res.value.JoinType == 'UKSPA' || res.value.JoinType ==  'Incubator' || res.value.JoinType ==  'Foreign'|| res.value.JoinType ==  'LEP' || res.value.JoinType ==  'BCS' || res.value.JoinType ==  'University' || res.value.JoinType ==  'Local_Authority'|| res.value.JoinType ==  'PINSME'|| res.value.JoinType ==  'EU'|| res.value.JoinType ==  'Collaboration'|| res.value.JoinType ==  'Project_Prime'|| res.value.JoinType ==  'Project_Collaboration')
{
//do nothing  -- to fix
 sb += br ;
  sb += br ;
}
else if  (res.value.FlagType == "free supplier cert")
{
  sb += '<span class=info><a>';
		
  sb += '<img class=memberType src="images/flag/free_supplier_cert.png" />';
	sb += '<span class=outerbubblePin> <span class=bubblePin>';

  sb += '<img src="images/flag/help/free_supplier_cert.png" />';
sb += '</span></span></a></span>';		
}
else
{
  sb += '<span class=info><a>';
		
  sb += '<img class=memberType src=images/flag/' + res.value.FlagType.replace(" ", "_") + '.png />';
	sb += '<span class=outerbubblePin> <span class=bubblePin>';

  sb += '<img src=images/flag/help/' + res.value.FlagType.replace(" ", "_") + '.png />';
sb += '</span></span></a></span>';		
} 
 
  //sb += '<img src=images/flag/' + res.value.FlagType.replace(" ", "_") + '.png />';
 //sb +=  res.value.FlagType.toUpperCase()  ;

 
  strProfile = '' ; 
  
  //=== company intro ===//
  if (res.value.CompanyIntro.length > 1)
{
strProfile += '<strong>Company Introduction:</strong> ';
 strProfile += br ;
 strProfile += res.value.CompanyIntro  ;
 strProfile += br ;
  strProfile += br ;
 }

//==== member profile ==//
if (res.value.CompanyProfile.length > 1)
{
strProfile += '<strong>Profile:</strong> ';
 strProfile += br ;
 strProfile += res.value.CompanyProfile  ;
}
 
 if (res.value.FlagType != "free supplier" &&  res.value.FlagType != "free supplier cert")
{
 //=== member 2 member ===//
  strM2M = br ; strM2M += br ;
 strM2M  += '<strong>Member 2 Member Offer:</strong> ';
 strM2M += br ;
 strM2M += res.value.Member2Member  ;
}



goSmall();
//hide rotator + prem
 $("#divRotatingAdvert").hide();
  $("#divPremiereAdvert").hide();
  $("#divSearch").hide();
   $("#filterLists").hide();
  $("#divChicklets").hide();
           $("#divDnOnly").hide();
 $("#divLocation").hide();

//show info
 $("#divInfo").show();
 $("#controldiv").hide();
 
 
//set details
var rdiv1 = document.getElementById('spanDetails'); 
rdiv1.innerHTML = sb

//set profile
var rdiv2 = document.getElementById('spanProfile'); 
rdiv2.innerHTML = strProfile
//alert(sb.toString());

//set M2M
var rdiv3 = document.getElementById('spanM2M'); 
rdiv3.innerHTML = strM2M
//alert(sb.toString());

 //hide m2m data //
infoSwitch('profile');

}


   //###################################################################################################
   // hide info - called on page first load
   //##################################################################################################
function HideInfo(){


	if (! document.getElementById('txtAdvancedSearch').value.length > 0) {

 $("#divRotatingAdvert").hide();
  $("#divPremiereAdvert").hide();
 $("#divInfo").hide();
  $("#divSearch").hide();
  $("#divLocation").show();
   $("#divChicklets").show();
    $("#filterLists").show(); 
   $("#controldiv").show();
   
  if (bolIsDigital == true){
 //   $("#divDnOnly").show();                                  
  
      }

  }
  else{
 $("#divInfo").hide();
  $("#divSearch").show();
   $("#divLocation").hide();
   $("#divChicklets").hide();
    $("#filterLists").hide();
     $("#controldiv").show();
  }
}


//======================================================================================================================//
//======================================================================================================================//
//<summary>
// setup ajax map
//</summary>
function setupSearchMap(bolFree, bolBig, bolScroll, bolM2M, bolDigital) {

    //=== check if reload ===//
    if ( document.getElementById('txtHidden').value  == "")
    {
       //   alert("no refresh");
        document.getElementById('txtHidden').value = "1"
             $('#txtCenterLat').val(map.getCenter().lat())
                          $('#txtCenterLng').val(map.getCenter().lng())

     $('#txtZoom').val(map.getZoom());

    }
    else
    {
        // alert("reload")

        //=== set back to defaults ===//
        $('#txtHiddenArea').val('');
        $('#txtHiddenDrop').val('');
        $('#txtHiddenDropFilter').val('');
        $('#txtHiddenChicklet').val('');
        $('#txtInputEmpNumber').val('');
        var drpFilter = document.getElementsByClassName("drpFilter");
        drpFilter[0].options[0].selected = true;

    }
    
    
    //=== if digital hide items ==//
    bolIsDigital = bolDigital;
    if (bolDigital == true)
        {
     $("#divStatic").hide();
     $("#divDrawers").hide();
        // $("#divDnOnly").show();
 
        }


//map.addControl(new GSmallZoomControl(),new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(-10,-60)));
 
 
        //=====set up right hand panel ========//
            $("#divRotatingAdvert").hide();
            $("#divPremiereAdvert").hide();

 
        //=== whats being searched ===//
         WhatSearching()
           WhatFiltering()

      //   var rArea =   document.getElementById('txtHiddenArea').value;
   //   filterDropAreaSelection(rArea);


    moveEndEvent = GEvent.addListener(map,"moveend", function() {
                
        zoom = map.getZoom();
        
        bounds = map.getBounds();
        southWest = bounds.getSouthWest();
        northEast = bounds.getNorthEast();
        lonSpan = northEast.lng() - southWest.lng();
        latSpan = northEast.lat() - southWest.lat();
        
        //check if window is open
        var iw = map.getInfoWindow(); 
  if (!iw.isHidden()) { 
    return;  //Do nothing 
  } 



                   $("#loadstatus").show();
           $("#loading").show();
         $("#loadstatus").html("Loading Map Markers...");

       //###CLEAR PINS map.clearOverlays();
   getMarkerList(southWest.lng(),northEast.lng(),southWest.lat(),northEast.lat(),zoom, true);


    });
  
              $("#loadstatus").html("Loading Map Markers...");

        zoom = map.getZoom();
        
       //=== set up map ===//
       
       //=== free pins ===//
     //  alert(free);
    //###   free = bolFree;
    free = true;
     //  alert(free);
      
      //=== go big screen ===//
     //  alert(bolBig);
       if (bolBig == true) {
               goLarge();
               }else{
               goSmall();
       }
       
       //=== scrol stopped ===//
           // ====== Restricting the range of Zoom Levels =====
           if (bolScroll == true){
      // Get the list of map types      
      var mt = map.getMapTypes();
      // Overwrite the getMinimumResolution() and getMaximumResolution() methods
      for (var i=0; i<mt.length; i++) {
       mt[i].getMinimumResolution = function() {return zoom;}
  //     mt[i].getMaximumResolution = function() {return 9;}
            }
        }
        

        //=== member 2 member ===//
     member2member =  bolM2M
     if (bolM2M == true){
      $("#spanM2MSwitch").show()
     }else{
         $("#spanM2MSwitch").hide();
     }
  
             //set new array
            gmarkers = [];
                 
               //=== map bounds ===//
               mapBounds();
}

function mapBounds(){

    bounds = map.getBounds();
    southWest = bounds.getSouthWest();
    northEast = bounds.getNorthEast();
    lonSpan = northEast.lng() - southWest.lng();
    latSpan = northEast.lat() - southWest.lat();
    
    //map.clearOverlays();//stop ======== 

     
getMarkerList(southWest.lng(),northEast.lng(),southWest.lat(),northEast.lat(),zoom );

}


//======================================================================================================================//
//======================================================================================================================//
// ============================  get marker list ================================   //
function getMarkerList(minLon,maxLon,minLat,maxLat,zoom) {
 // alert('loadingz');
   // alert(gmarkers.length);

    zooomlevel = zoom;

        //>>>>>>>>>>>>     var searchResults = new Array();
        searchResults = new Array();
//alert(minLon.toString());
//alert(maxLon.toString());
//alert(minLat.toString());
//alert(maxLat.toString());
//alert(zoom.toString());
	var plotsthisiteration = 0;

    siteCount = 0;
    latDiff=maxLat-minLat;
    lonDiff=maxLon-minLon;

//=== dropdown value ===//
 var group_param = gup( 'group' );
             if (group_param.length > 0)
            {
             document.getElementById('txtHiddenDropFilter').value = group_param;
//alert(group_param);

 //hide groups area document.getElementById('liGroups').style.display = 'none';

            }


  var rSelect =   document.getElementById('txtHiddenDrop').value;
    var rSelectFilter =   document.getElementById('txtHiddenDropFilter').value;
    var rChicks =   document.getElementById('txtHiddenChicklet').value;
    var rSelectEmpNum =   document.getElementById('txtInputEmpNumber').value;
 //debug//  alert("dropload " + rSelect); alert("groups " + rSelectFilter);  alert("chicks " + rChicks); //debug

   var urlParams = '?f=ukita&dig='+bolIsDigital+'&zoom='+zoom+'&minLon='+minLon+'&maxLon='+maxLon+'&minLat='+minLat+'&maxLat='+maxLat;
 // '# var filterParams = '&dfilter='+ rSelect;
      var searchParams = '&dsearch=' + document.getElementById('txtAdvancedSearch').value;
      var searchLenth = document.getElementById('txtAdvancedSearch').value.length;
      var chickParam = '&dchic=' + rChicks;
      var groupParam = '&dgroup=' + rSelectFilter;

   //#debug confirm(urlParams); 
   //#debug location.href='xmlFeed/getMarkerListing.aspx'+urlParams.toString();
   
    //====== expire =============//
    var expireParam = ''; 
 var expire_param = gup( 'expire' );
    if (expire_param.length > 0)
    {
    expireParam = '&expire=yes';
    }
        
        //======== extra filter on get =========//                
        //  alert("digitalx" + bolIsDigital); 
          var exFitlerParam = '';
          if (bolIsDigital == true)
          {//exFitlerParam = '&freefilter=growth';
           }
                  
 //debug//alert(searchLenth + " " + rChicks + " " + rSelectFilter);
   //####var xmlURL = 'xmlFeed/getMarkerXML.aspx'+urlParams.toString() + filterParams.toString() + searchParams.toString();

  if (zoom < 8 && bolIsDigital == false && searchLenth == 0 ) {
     var xmlURL = 'xmlFeed/getMarkerListingCluster.aspx'+urlParams.toString() + searchParams.toString() + expireParam.toString()+ exFitlerParam.toString()+ chickParam.toString() + groupParam.toString();
 
//debug//  alert("CLUSTER");
  }
  else {
     var xmlURL = 'xmlFeed/getMarkerListing.aspx'+urlParams.toString() + searchParams.toString() + expireParam.toString()+ exFitlerParam.toString();
//debug//  alert("list"); //debug// 
}
   //var xmlURL = 'csvParse.aspx';
//debug//  prompt('url',xmlURL);//debug//
 //debug//  
 
 //====== debug =============//
 var debug_param = gup( 'debug' );
    if (debug_param.length > 0)
    {
    alert('debug mode ON');
    window.open('xmlFeed/debugMarkerListing.aspx'+urlParams.toString()+ searchParams.toString());
    }
    //=========================//

    GDownloadUrl(xmlURL, function (data, responseCode) {
    //debug alert(data);
       var xml = GXml.parse(data);
       var markers = xml.documentElement.getElementsByTagName("marker");

//debug//  alert(markers.length);

        //var siteCount = xml.documentElement.getElementsByTagName("count");     
        //var siteCount = parseInt(siteCount[0].getAttribute("marker_count"));
        //alert(siteCount);

    //=== if no markers stop and show message ===//
    	if (! document.getElementById('txtAdvancedSearch').value.length > 0) {
               if (! markers.length > 0) {
                PanNoResults();
                return;
                }
                else{
                HideInfo();   
                }
             }
    
    //debug  alert(markers.length);
    //debug  alert(gmarkers.length);
    
    //=== for each marker ===//
    var batch = [];
     var curMarkers = gmarkers.slice();

    
        //debug  alert(curMarkers.length);
       //debug   alert("KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK");
      for (var i=0; i<markers.length; i++) {
      
 
          var  pointLat = parseFloat(markers[i].getAttribute("lat"));
          var  pointLng = parseFloat(markers[i].getAttribute("lng"));
          var name = new String(markers[i].getAttribute("name"));
           var email = new String(markers[i].getAttribute("email"));
          var member = new String(markers[i].getAttribute("member"));
          var info = markers[i].getAttribute("info");
          var type = parseInt(markers[i].getAttribute("flagType"));
          var profile = new String(markers[i].getAttribute("profile"));
          var vetting = parseInt(markers[i].getAttribute("vetting"));
          var m2m = new String(markers[i].getAttribute("m2m"));
          var awards = new String(markers[i].getAttribute("awards"));
          var mapTags  = new String(markers[i].getAttribute("mapTags"));
         var joinType = new String(markers[i].getAttribute("joinType"));
         var employeeNumber = new String(markers[i].getAttribute("employeeNumber"));
            var tip = markers[i].getAttribute("tip");
     
   //add categories for each marker
      //  var categories = new Array();
         var categoryList = markers[i].getElementsByTagName("Category");
   //debug alert(categoryList.length);
          
          
         var categories = new Array();
         categories.length = 0
 
         if (categoryList.length > 0) {    
                  for (var z=0; z<categoryList.length; z++) {
                  var cat = new String(categoryList[z].getAttribute("CategoryID"));
         //debug       alert("entry " + cat);

                  categories.push(cat);
                  // debug  alert(cat);
                  }
            }
            // debug alert(categories.length);
                             
           //debug  alert(pointLat);
          //debug  alert(pointLng);
            var point = new GLatLng(pointLat, pointLng);

//====== Progress Bar ==== //
         var percent = Math.ceil(((plotsthisiteration+1)/markers.length)*100);
          $("#loadstatus").html("Plotting... ("+percent+"%)"); 
          $("#progresschunk").css("display", "block").css("width", Math.ceil(150*(percent/100))+"px");
        
                 //==== show search results ====//

            if (searchLenth > 0)
            {
            
          
            var myClassObj = new MyDisplayClass();
                myClassObj.myName = name;
                myClassObj.myMember = member;
                myClassObj.myProfile = profile;
                myClassObj.myVetting = vetting;
               myClassObj.myType = type;

               //   alert("2 - " + type + " --- "+ myClassObj.myType);
            searchResults.push(myClassObj)
            }
            
            //######################
            var bolAlreadyOn = false;
                 if (curMarkers.length > 1){
                        for (var a=0; a<curMarkers.length; a++) {
                             if(curMarkers[a].member.toString() == member.toString()) {
                                 bolAlreadyOn = true;
                                 break;
                             }
                        }
            }
            
                     
         
         //=== create marker === //
         if (bolAlreadyOn == false)
         {
             var marker = createMarker(point,member, name, email, profile, vetting, info, type, categories, m2m, awards,joinType, employeeNumber, tip, mapTags);
           map.addOverlay(marker);  //>>>>>>>>>>>>>> 
           
         //  alert(tooltip);
              //TIPPPPPPPPPPPPPPPP  var tooltip = new Tooltip(marker, tip ,4);
              //TIPPPPPPPPPPPPPPPP   marker.tooltip = tooltip;

              //TIPPPPPPPPPPPPPPPP   map.addOverlay(tooltip);

                 batch.push(marker)
        ///mgr.addMarker(marker,0 ,17);
            }
                
         ///  map.addOverlay(createMarker(point,member, "test", type));
        }
                             $("#loadstatus").hide();
                         $("#progressmeter").hide();
                       //  alert('filter ' + rSelect);
        
              //   mgr.addMarkers(batch,0 ,17);
               //   mgr.refresh();
                       
                       //=== show filters and filter on area ===//
                                 show(rSelect, rSelectFilter, rSelectEmpNum);

            
        //=== advanced search - load results === //
                   //debug     alert('len ' + searchLenth );

             if (searchLenth > 0){
                 ShowSearchResults()
                }

     //   document.getElementById('mapdata').innerHTML = "You can find <strong>"+siteCount+" hotspots</strong> within the current map view";
   
   //###################################################################################################
   // DEBUG  count
   //##################################################################################################
   //#alert("Expire Count: " + countExpire);
    
   
   
   
    });
    
 }
 

  



//===###########################################################################################
//=== go large / go small==
//===#############################################################################################
function goLarge(){

 $("#rightcolGMap").hide();
  $("#map").width("970px");
  $("#map").height("970px");
  map.checkResize(); 
  mapBounds()
  
   $("#lnkLarge").hide();
   $("#lnkSmall").show();
   
    $("#controldiv").hide();
  

 
}

function goSmall(){

 $("#rightcolGMap").show();
  $("#map").width("561px");
  $("#map").height("581px");
  map.checkResize(); 
 //debug#alert("small");
 
    $("#lnkLarge").show();
   $("#lnkSmall").hide();
   
    $("#controldiv").show();
  
 
}



//<summary>
// show reotator / hide info
//</summary>
//hide rotator
function viewAdverts(){

goSmall()

 $("#divRotatingAdvert").hide();
  $("#divPremiereAdvert").hide();
     $("#filterLists").show();
  $("#divChicklets").show();

//show info
 $("#divInfo").hide();
  $("#divSearch").hide();

}

//=== hide info on click ===//
function closeInfo()
{

HideInfo();
}


//=== ###############################################################################################
//=== switch member to member ==//
//=== #################################################################################################
function infoSwitch(type){
    if (type == 'profile'){
        $("#spanM2M").hide();
        $("#spanProfile").show();
    }
    else if (type == 'm2m')
    {
        $("#spanM2M").show();
        $("#spanProfile").hide();
    }
}

//helper
function getArgs() {
var args = new Object();
var query = location.search.substring(1);
var pairs = query.split("&");
for(var i = 0; i < pairs.length; i++) {
var pos = pairs[i].indexOf('=');
if (pos == -1) continue;
var argname = pairs[i].substring(0,pos);
var value = pairs[i].substring(pos+1);
args[argname] = unescape(value);
}
return args;
} 

//###########################################################################################
//########################### help #########################################################
//##########################################################################################
function gup( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

//###########################################################################################
//########################### objects #########################################################
//##########################################################################################

function Chiclet(Name, Title, Content)
{
this.Name = Name;
this.Title = Title;
this.Content = Content;
}
