$(function(){
  // store current tab
  $("#pd-physician-search").tabs({
      cookie: {
          // store cookie for a day, without, it would be a session cookie
          expires: 1
      }
    });
  
    $( "#pd-filter" ).accordion({collapsible: true,active: false,autoHeight:false});
    
    // Add Back to Results
    // Added here to degrade gracefully
    $(".pd-physician-nav").prepend('<a class="pd-results pd-phys-btn" href="#">Back to Results</a>');
    $(".pd-physician-nav .pd-results").click(function() {
    	var referrer = document.getElementById('pd-referrer').value;
        document.location.href=referrer;        
        return false;
    });
  
  // Add print icon
    $("#pd-email").after('<li id="pd-print"><a href="#">Print Physician Profile</a></li>');
    $("#pd-print a").click(function() {
      window.print();
        return false;
    });
  
    // popup for email form
    $("#pd-email a").colorbox({
      innerWidth:"490px",
      innerHeight:"310px",
      inline:true,
      href:"#pd-email_to_friend_form"
    });
  
    $('#pd-email-profile').submit(function(){
      var to = $('#to').val();
      var from = $('#from').val();
      var message = $('#message').val();
    
      if(to.length < 1){
          alert("Recipient email address is required.");
          return false;
      }
      if (from.length < 1) {
          alert("Your email address is required.");
        return false;
      }
    
      return true;          
    });  

    //Multimedia detail  w/o refresh
    $(".video-item div a").live('click',function(){    
      var location = document.location;
      var link_query  = $(this).attr('href').replace(new RegExp(location,"ig"),'').substring(3);
      $('#yplayer-wrap').html('<div id="yplayer">You need Flash player 9+ and JavaScript enabled to view this video.</div><div id="ydata"><h2 id="title"></h2><p id="desc"></p></div>');
      var current_video_id = link_query;
      setupYoutubePlaylistSidebar(current_video_id);
      setupMovie(current_video_id);        
      return false;
    });  
  
    //Filters view more
    $("#pd-filter div span a").live('click',function(){ 
    var linkId  = $(this).attr('name');
      var id  = linkId.replace(/Link/g,'');
      document.getElementById(linkId).style.display='none';
      document.getElementById(id).style.display='block';
      return false;
    });
  
    // pagination w/o refresh
    $(".pd-pagination li a").live('click',function(){    
      // retrieves the page and doctor data for it
      var link_query  = $(this).attr('href');
      var page_number = $(this).attr('rel');

      if(link_query != null && link_query != ''){
        // retrieve next page's physician results
        $('#pd-results').html('<div class="pd-phys-loading">Loading<br><img src="http://globalinc.prod.ehc.com/design/icons/loading.gif" style="display: inline-block; padding-top: 40px;"></div>');
                    
        var pagination_top = $('.pd-pagination:first').position().top;
        $('html body').animate({scrollTop:pagination_top}, 'fast');    
        
        jQuery.get(link_query, function(search_data){
            // put the HTML in the page
            $('#pd-results').html($(search_data).find('#pd-results').children());
            
            $('#pd-top-pagination').html($(search_data).find('#pd-top-pagination').children());
            $('#pd-bottom-pagination').html($(search_data).find('#pd-bottom-pagination').children());
            
            $('#pd-top-paginationinfo').html($(search_data).find('#pd-top-paginationinfo').children());  
            $('#pd-bottom-paginationinfo').html($(search_data).find('#pd-bottom-paginationinfo').children());  
              
        // update the google map
            var addresses = new Array();
            var info = new Array();
            var listingData = $(search_data).find('#pd-results > li');
            var mapid = "pd_geo_map_canvas";//The 'geo_map_canvas' comes from geolocation.vtl map_id. Changing one requires changing the other.
            index = parseInt($(listingData[0]).attr('data-phys-index'));
            closewindow();
            eval("clearMap" + mapid)();
          
            for(var i = 0; i < listingData.length; ++i) {   
              if($(listingData[i]).attr('data-phys-market') == 'yes'){
	             addresses[i] = "" + $(listingData[i]).attr('data-phys-address').substring($(listingData[i]).attr('data-phys-address').indexOf(':')+1).replace(/\|/g,', ');
	             info[i] = "<div class='pd-location-name'><h4>"+$(listingData[i]).attr('data-phys-name')+"</h4><div class='pd-location-name-info'>"+$(listingData[i]).attr('data-phys-address').replace(/\:/g,'<br/>').replace(/\|/g,'<br/>')+"<br/>"+$(listingData[i]).attr('data-phys-phone')+"<br/><a href='http://maps.google.com/maps?daddr=" + $(listingData[i]).attr('data-phys-address').substring($(listingData[i]).attr('data-phys-address').indexOf(':')+1).replace(/\|/g,', ')+"'>Get Directions</a><br/><a class='icon' href='"+$(listingData[i]).attr('data-phys-url')+"'>View Physician Profile</a>";
	             if($(listingData[i]).attr('data-phys-other-locations') != ''){
	              	info[i] += "<br/>Other locations:";
	              	var otherAddresses = $(listingData[i]).attr('data-phys-other-locations').replace(/\|/g,'<br/>').split('^');
                  	for(var j=0;j < otherAddresses.length;j=j+2){ 
                     	info[i] +=otherAddresses[j].replace(/\:/g,'<br/>')+"<br/>"+otherAddresses[j+1]+"<br/>";
                     	info[i] +="<a href='http://maps.google.com/maps?daddr="+otherAddresses[j].substring(otherAddresses[j].indexOf(':')+1)+"'>Get Directions</a><br/>";
                 	} 
                 }                
                 info[i] +="</div></div>"; 
              }else {
	             addresses[i] = "" + $(listingData[i]).attr('data-phys-address').replace(/\|/g,',');
              	 info[i] = "<div class='pd-location-name'><h4>"+$(listingData[i]).attr('data-phys-name')+"</h4><div class='pd-location-name-info'>"+$(listingData[i]).attr('data-phys-address').replace(/\|/g,'<br/>')+"<br/>"+$(listingData[i]).attr('data-phys-phone')+"<br/><a href='http://maps.google.com/maps?daddr=" + $(listingData[i]).attr('data-phys-address').replace(/\|/g,', ')+"'>Get Directions</a><br/><a class='icon' href='"+$(listingData[i]).attr('data-phys-url')+"'>View Physician Profile</a></div></div>";
              }                
            }
              
            if(addresses.length > 0){
              for(var x = 0; x < addresses.length; x++){
                  eval("showAddress" + mapid)(addresses[x], info[x]);
              }
            }      
      });
    }
      return false;
  });  
  
  //Filter accordion w/o refresh
    $("#pd-filter div p a").live('click',function(){    
       // retrieves the page and doctor data for it
      var link_query  = $(this).attr('href');
      var page_number = 1;
    
      if(link_query != null && link_query != ''){
        // retrieve next page's physician results
        $('#pd-results').html('<div class="pd-phys-loading">Loading<br><img src="http://globalinc.prod.ehc.com/design/icons/loading.gif" style="display: inline-block; padding-top: 40px;"></div>');
        
        
        var pagination_top = $('.pd-pagination:first').position().top;
        $('html body').animate({scrollTop:pagination_top}, 'fast');    
        
        jQuery.get(link_query, function(search_data){
             // put the HTML in the page
             $('#pd-top-pagination').html($(search_data).find('#pd-top-pagination').children());
             $('#pd-bottom-pagination').html($(search_data).find('#pd-bottom-pagination').children());
             
             $('#pd-top-paginationinfo').html($(search_data).find('#pd-top-paginationinfo').children());  
             $('#pd-bottom-paginationinfo').html($(search_data).find('#pd-bottom-paginationinfo').children());  
         
             $('#pd-results').html($(search_data).find('#pd-results').children());
             $('#pd-filter').accordion('destroy');
             $('#pd-filter').html($(search_data).find('#pd-filter').children());
             $('#pd-filter').accordion({collapsible: true,active: false,autoHeight:false});      
            
             // update the google map
            var addresses = new Array();
            var info = new Array();
            var listingData = $(search_data).find('#pd-results > li');
            var mapid = "pd_geo_map_canvas";//The 'geo_map_canvas' comes from geolocation.vtl map_id. Changing one requires changing the other.
            index = parseInt($(listingData[0]).attr('data-phys-index'));
            closewindow();
            eval("clearMap" + mapid)();
        
            for(var i = 0; i < listingData.length; ++i) {   
              if($(listingData[i]).attr('data-phys-market') == 'yes'){
	             addresses[i] = "" + $(listingData[i]).attr('data-phys-address').substring($(listingData[i]).attr('data-phys-address').indexOf(':')+1).replace(/\|/g,', ');
	             info[i] = "<div class='pd-location-name'><h4>"+$(listingData[i]).attr('data-phys-name')+"</h4><div class='pd-location-name-info'>"+$(listingData[i]).attr('data-phys-address').replace(/\:/g,'<br/>').replace(/\|/g,'<br/>')+"<br/>"+$(listingData[i]).attr('data-phys-phone')+"<br/><a href='http://maps.google.com/maps?daddr=" + $(listingData[i]).attr('data-phys-address').substring($(listingData[i]).attr('data-phys-address').indexOf(':')+1).replace(/\|/g,', ')+"'>Get Directions</a><br/><a class='icon' href='"+$(listingData[i]).attr('data-phys-url')+"'>View Physician Profile</a>";
	             if($(listingData[i]).attr('data-phys-other-locations') != ''){
	              	info[i] += "<br/>Other locations:";
	              	var otherAddresses = $(listingData[i]).attr('data-phys-other-locations').replace(/\|/g,'<br/>').split('^');
                  	for(var j=0;j < otherAddresses.length;j=j+2){ 
                     	info[i] +=otherAddresses[j].replace(/\:/g,'<br/>')+"<br/>"+otherAddresses[j+1]+"<br/>";
                     	info[i] +="<a href='http://maps.google.com/maps?daddr="+otherAddresses[j].substring(otherAddresses[j].indexOf(':')+1)+"'>Get Directions</a><br/>";
                 	} 
                 }                
                 info[i] +="</div></div>"; 
              }else {
	             addresses[i] = "" + $(listingData[i]).attr('data-phys-address').replace(/\|/g,',');
              	 info[i] = "<div class='pd-location-name'><h4>"+$(listingData[i]).attr('data-phys-name')+"</h4><div class='pd-location-name-info'>"+$(listingData[i]).attr('data-phys-address').replace(/\|/g,'<br/>')+"<br/>"+$(listingData[i]).attr('data-phys-phone')+"<br/><a href='http://maps.google.com/maps?daddr=" + $(listingData[i]).attr('data-phys-address').replace(/\|/g,', ')+"'>Get Directions</a><br/><a class='icon' href='"+$(listingData[i]).attr('data-phys-url')+"'>View Physician Profile</a></div></div>";
              }                
            }
            
            if(addresses.length > 0){
                for(var x = 0; x < addresses.length; x++){
                  eval("showAddress" + mapid)(addresses[x], info[x]);
                }
            }        
      });
       }
      return false;
    });  
  
    /*show entries*/
    $("#pd-list_per_page").live('change',function(){    
      // retrieves the page and doctor data for it
      var link_query  = $(this).val();
      
      var page_number = 1;
       if(link_query != null && link_query != ''){
        // retrieve next page's physician results
        $('#pd-results').html('<div class="pd-phys-loading">Loading<br><img src="http://globalinc.prod.ehc.com/design/icons/loading.gif" style="display: inline-block; padding-top: 40px;"></div>');
        
        
        var pagination_top = $('.pd-pagination:first').position().top;
        $('html body').animate({scrollTop:pagination_top}, 'fast');    
            
        jQuery.get(link_query, function(search_data){
             // put the HTML in the page
             $('#pd-top-pagination').html($(search_data).find('#pd-top-pagination').children());
             $('#pd-bottom-pagination').html($(search_data).find('#pd-bottom-pagination').children());
             
             $('#pd-top-paginationinfo').html($(search_data).find('#pd-top-paginationinfo').children());  
             $('#pd-bottom-paginationinfo').html($(search_data).find('#pd-bottom-paginationinfo').children());  
         
             $('#pd-results').html($(search_data).find('#pd-results').children());
             $('#pd-filter').accordion('destroy');
             $('#pd-filter').html($(search_data).find('#filter').children());
             $('#pd-filter').accordion({collapsible: true,active: false,autoHeight:false});      
            
             // update the google map
            var addresses = new Array();
            var info = new Array();
            var listingData = $(search_data).find('#pd-results > li');
            var mapid = "pd_geo_map_canvas";//The 'geo_map_canvas' comes from geolocation.vtl map_id. Changing one requires changing the other.
            index = parseInt($(listingData[0]).attr('data-phys-index'));
            closewindow();
            eval("clearMap" + mapid)();
        
            for(var i = 0; i < listingData.length; ++i) {   
              if($(listingData[i]).attr('data-phys-market') == 'yes'){
	             addresses[i] = "" + $(listingData[i]).attr('data-phys-address').substring($(listingData[i]).attr('data-phys-address').indexOf(':')+1).replace(/\|/g,', ');
	             info[i] = "<div class='pd-location-name'><h4>"+$(listingData[i]).attr('data-phys-name')+"</h4><div class='pd-location-name-info'>"+$(listingData[i]).attr('data-phys-address').replace(/\:/g,'<br/>').replace(/\|/g,'<br/>')+"<br/>"+$(listingData[i]).attr('data-phys-phone')+"<br/><a href='http://maps.google.com/maps?daddr=" + $(listingData[i]).attr('data-phys-address').substring($(listingData[i]).attr('data-phys-address').indexOf(':')+1).replace(/\|/g,', ')+"'>Get Directions</a><br/><a class='icon' href='"+$(listingData[i]).attr('data-phys-url')+"'>View Physician Profile</a>";
	             if($(listingData[i]).attr('data-phys-other-locations') != ''){
	              	info[i] += "<br/>Other locations:";
	              	var otherAddresses = $(listingData[i]).attr('data-phys-other-locations').replace(/\|/g,'<br/>').split('^');
                  	for(var j=0;j < otherAddresses.length;j=j+2){ 
                     	info[i] +=otherAddresses[j].replace(/\:/g,'<br/>')+"<br/>"+otherAddresses[j+1]+"<br/>";
                     	info[i] +="<a href='http://maps.google.com/maps?daddr="+otherAddresses[j].substring(otherAddresses[j].indexOf(':')+1)+"'>Get Directions</a><br/>";
                 	} 
                 }                
                 info[i] +="</div></div>"; 
              }else {
	             addresses[i] = "" + $(listingData[i]).attr('data-phys-address').replace(/\|/g,',');
              	 info[i] = "<div class='pd-location-name'><h4>"+$(listingData[i]).attr('data-phys-name')+"</h4><div class='pd-location-name-info'>"+$(listingData[i]).attr('data-phys-address').replace(/\|/g,'<br/>')+"<br/>"+$(listingData[i]).attr('data-phys-phone')+"<br/><a href='http://maps.google.com/maps?daddr=" + $(listingData[i]).attr('data-phys-address').replace(/\|/g,', ')+"'>Get Directions</a><br/><a class='icon' href='"+$(listingData[i]).attr('data-phys-url')+"'>View Physician Profile</a></div></div>";
              }                
            }
            
            if(addresses.length > 0){
                for(var x = 0; x < addresses.length; x++){
                  eval("showAddress" + mapid)(addresses[x], info[x]);
                }
            }        
        });
       } 
      return false;
    }); 
    
    //Remove Filters 
    $(".pd-filter-value a").live('click',function(){ 
      // retrieves the page and doctor data for it
      var link_query  = $(this).attr('href');
      var id = $(this).attr('id');
      
      if(link_query.indexOf(id) != -1){
        var beginning = link_query.substring(0, link_query.indexOf(id));
        var lastPart= link_query.replace(beginning,'');
        lastPart = lastPart.substring(lastPart.indexOf('\&')+1);
        link_query = beginning + lastPart+'\&remove'+id+'=true';      
      }
      var page_number = 1; 
      
      if(link_query != null && link_query != ''){  
        // retrieve next page's physician results
        $('#pd-results').html('<div class="pd-phys-loading">Loading<br><img src="http://globalinc.prod.ehc.com/design/icons/loading.gif" style="display: inline-block; padding-top: 40px;"></div>');
        
        
        var pagination_top = $('.pd-pagination:first').position().top;
        $('html body').animate({scrollTop:pagination_top}, 'fast');    
         
        jQuery.get(link_query, function(search_data){
             // put the HTML in the page
             $('#pd-results').html($(search_data).find('#pd-results').children());
             
             $('#pd-top-pagination').html($(search_data).find('#pd-top-pagination').children());
             $('#pd-bottom-pagination').html($(search_data).find('#pd-bottom-pagination').children());
             
             $('#pd-top-paginationinfo').html($(search_data).find('#pd-top-paginationinfo').children());  
             $('#pd-bottom-paginationinfo').html($(search_data).find('#pd-bottom-paginationinfo').children());  
                    
             $('#pd-filter').accordion('destroy');
             $('#pd-filter').html($(search_data).find('#pd-filter').children());
             $('#pd-filter').accordion({collapsible: true,active: false,autoHeight:false});      
          
             // update the google map
            var addresses = new Array();
            var info = new Array();
            var listingData = $(search_data).find('#pd-results > li');
            var mapid = "pd_geo_map_canvas";//The 'geo_map_canvas' comes from geolocation.vtl map_id. Changing one requires changing the other.
            index = parseInt($(listingData[0]).attr('data-phys-index'));
            closewindow();
            eval("clearMap" + mapid)();
        
            for(var i = 0; i < listingData.length; ++i) {   
              if($(listingData[i]).attr('data-phys-market') == 'yes'){
	             addresses[i] = "" + $(listingData[i]).attr('data-phys-address').substring($(listingData[i]).attr('data-phys-address').indexOf(':')+1).replace(/\|/g,', ');
	             info[i] = "<div class='pd-location-name'><h4>"+$(listingData[i]).attr('data-phys-name')+"</h4><div class='pd-location-name-info'>"+$(listingData[i]).attr('data-phys-address').replace(/\:/g,'<br/>').replace(/\|/g,'<br/>')+"<br/>"+$(listingData[i]).attr('data-phys-phone')+"<br/><a href='http://maps.google.com/maps?daddr=" + $(listingData[i]).attr('data-phys-address').substring($(listingData[i]).attr('data-phys-address').indexOf(':')+1).replace(/\|/g,', ')+"'>Get Directions</a><br/><a class='icon' href='"+$(listingData[i]).attr('data-phys-url')+"'>View Physician Profile</a>";
	             if($(listingData[i]).attr('data-phys-other-locations') != ''){
	              	info[i] += "<br/>Other locations:";
	              	var otherAddresses = $(listingData[i]).attr('data-phys-other-locations').replace(/\|/g,'<br/>').split('^');
                  	for(var j=0;j < otherAddresses.length;j=j+2){ 
                     	info[i] +=otherAddresses[j].replace(/\:/g,'<br/>')+"<br/>"+otherAddresses[j+1]+"<br/>";
                     	info[i] +="<a href='http://maps.google.com/maps?daddr="+otherAddresses[j].substring(otherAddresses[j].indexOf(':')+1)+"'>Get Directions</a><br/>";
                 	} 
                 }                
                 info[i] +="</div></div>"; 
              }else {
	             addresses[i] = "" + $(listingData[i]).attr('data-phys-address').replace(/\|/g,',');
              	 info[i] = "<div class='pd-location-name'><h4>"+$(listingData[i]).attr('data-phys-name')+"</h4><div class='pd-location-name-info'>"+$(listingData[i]).attr('data-phys-address').replace(/\|/g,'<br/>')+"<br/>"+$(listingData[i]).attr('data-phys-phone')+"<br/><a href='http://maps.google.com/maps?daddr=" + $(listingData[i]).attr('data-phys-address').replace(/\|/g,', ')+"'>Get Directions</a><br/><a class='icon' href='"+$(listingData[i]).attr('data-phys-url')+"'>View Physician Profile</a></div></div>";
              }                
            }
            
            if(addresses.length > 0){
                for(var x = 0; x < addresses.length; x++){
                  eval("showAddress" + mapid)(addresses[x], info[x]);
                }
            }        
        });
      } 
      return false;
    });
  
});

