var landmarks = new Array();
var landmarkIndex = "amencorner";
var prevIndex = "";
var nextIndex = "";
var maxIndex;
var prevIndexNum = "";
var nextIndexNum = "";
/**************************************************************************
function to preload large landmark images
**************************************************************************/
//cache var is initialized in holes.js
function preloadLandmarkImage(which){
var cacheFound = false;
var cacheImage = document.createElement('img');
cacheImage.src = '/images/course/L_'+which+'.jpg';
$.each(cache,function(){
if( cacheImage.src.indexOf( $(this).attr('src') ) > -1 ){ cacheFound = true; }
else {cacheFound = false; }
});
if(!cacheFound) {
cache.push(cacheImage);
}
}
/**************************************************************************
function to create landmark objects
**************************************************************************/
function landmark(){
this.landmarkIdx;
this.hasVideo;
this.vFileHigh;
this.vFileLow;
this.title;
this.imageSrc;
this.imgWidth;
this.imgHeight;
this.landmarkDesc;
}
/***************************************************************************
function to populate landmark objects
***************************************************************************/
function setLandmarkObjects(xmlDoc){
$(xmlDoc).find("landmark").each(function() {
var idx = $(this).attr('landmarkIdx');
//upreloadLandmarkImage(idx);
landmarks[idx] = new landmark();
landmarks[idx].landmarkIdx = $(this).attr('landmarkIdx');
landmarks[idx].hasVideo = $(this).attr('hasVideo');
landmarks[idx].videothumb = $(this).find('videothumb').attr('src');
landmarks[idx].videoslate = $(this).find('videoslate').attr('src');
landmarks[idx].highlink = $(this).find('highlink').attr('src');
landmarks[idx].mediumlink = $(this).find('mediumlink').attr('src');
landmarks[idx].title = $(this).find('title').text();
landmarks[idx].imgSrc = $(this).find('image').attr('src');
landmarks[idx].imgWidth = $(this).find('image').attr('width');
landmarks[idx].imgHeight = $(this).find('image').attr('height');
landmarks[idx].landmarkDesc = $(this).find('landmarkDesc').text();
});
countMax = landmarks.length;
//loadLandmark();
loadLandmarkGrid();
}
/***************************************************************************
function to load landmarks info into grid
***************************************************************************/
function loadLandmarkGrid(){
$('#lcgrid .landmarkGridItem').each(function(){
var currentLandmark = $(this).attr('id');
$(this).children('#landmarkImg').attr('src','/images/course/L_'+landmarks[currentLandmark].landmarkIdx+'_thumb.jpg');
$(this).children('#landmarkImg').attr('alt',landmarks[currentLandmark].title);
$(this).children('.landmarkGridInfo').html('<div class="holeName">'+landmarks[currentLandmark].title+'</div>');
});
}
/***************************************************************************
function to load landmarks into div
***************************************************************************/
function loadLandmark(){
$('#lcgrid').hide();
$('#lcdetail').show();
setBackNextContent();
if (landmarks[landmarkIndex]==undefined){
landmarkIndex="amencorner";
}
if(prevIndex == ""){ $('#previousLandmarkBtn').hide(); }
else { $('#previousLandmarkBtn').show(); }
if(nextIndex == ""){ $('#nextLandmarkBtn').hide(); }
else { $('#nextLandmarkBtn').show(); }
$('#landmarkDescription').html(landmarks[landmarkIndex].landmarkDesc);
$('#landmarkTitle').html(landmarks[landmarkIndex].title);
$('#landmarkImage').attr('src','/images/course/L_'+landmarks[landmarkIndex].landmarkIdx+'.jpg');
if (landmarks[landmarkIndex].hasVideo == 'true'){
$('#landmarkVideoContainer').show();
$('#lcdetail #rightContent .more').hide();
$('#landmarkVideoContainer .image img').attr('src',landmarks[landmarkIndex].videothumb);
$('#landmarkVideoContainer .image').hover(
function(){
$(this).children('.imghover').show();
$(this).children('.icon').css('backgroundPosition','0px -20px');
},
function(){
$(this).children('.imghover').hide();
$(this).children('.icon').css('backgroundPosition','0px 0px');
}
);
$('#landmarkVideoContainer .image').unbind('click');
$('#landmarkVideoContainer .image').click(
function(){
var videotitle = landmarks[landmarkIndex].title;
videotitle = videotitle.replace(/'/,"\\\'");
if(browser.isIPad || browser.isIPhone) {
playOverlayVideo(landmarks[landmarkIndex].mediumlink, landmarks[landmarkIndex].videoslate, landmarks[landmarkIndex].title);
if(browser.isIPad){
measureApp('Video Overlay','The Course','IPad','Feature Video',landmarks[landmarkIndex].title);
} else {
measureApp('Video Overlay','The Course','IPhone','Feature Video',landmarks[landmarkIndex].title);
}
} else {
//alert(landmarks[landmarkIndex].highlink+', '+landmarks[landmarkIndex].videoslate+', '+videotitle);
playOverlayVideo(landmarks[landmarkIndex].highlink, landmarks[landmarkIndex].videoslate, landmarks[landmarkIndex].title);
measureApp('Video Overlay','The Course','Feature Video',landmarks[landmarkIndex].title);
}
}
);
} else {
$('#landmarkVideoContainer').hide();
$('#lcdetail #rightContent .more').show();
}
// measure this
courseMeasure('Landmarks',landmarks[landmarkIndex].title);
}
function setBackNextContent(){
prevIndex = $('#lcgrid #'+landmarkIndex).prev('div.landmarkGridItem').attr('id');
nextIndex = $('#lcgrid #'+landmarkIndex).next('div.landmarkGridItem').attr('id');
if(prevIndex == undefined) { prevIndex = $('#lcgrid .landmarkGridItem:eq('+maxIndex+')').attr('id'); }
if(nextIndex == undefined) { nextIndex = $('#lcgrid .landmarkGridItem:eq(0)').attr('id'); }
/* cache image for next/prev landmarks */
preloadLandmarkImage(nextIndex);
preloadLandmarkImage(prevIndex);
$('#previousLandmarkBtn').unbind('click');
$('#nextLandmarkBtn').unbind('click');
$('#previousLandmarkBtn').click(function(){
// measure this
courseMeasure('Landmarks','Back');
landmarkIndex=prevIndex;
loadLandmark();
$('#landmarkImage').fadeIn('fast');
$('#landmarkDescription').fadeIn('fast');
});
$('#nextLandmarkBtn').click(function(){
// measure this
courseMeasure('Landmarks','Next');
landmarkIndex=nextIndex;
loadLandmark();
$('#landmarkImage').fadeIn('fast');
$('#landmarkDescription').fadeIn('fast');
//$('#holeFlyoverContainer').hide();
});
}
$(document).ready(function(){
$.ajax({
url: "/en_US/xml/man/course/landmarks.xml",
type: 'GET',
dataType: 'xml',
error: function(){
//alert('Error loading document');
},
success: function(xmlResp){
maxIndex = $('#lcgrid .landmarkGridItem').length - 1;
setLandmarkObjects(xmlResp);
// measureApp("Course","The Course - Holes","Landmarks",landmarkIndex);
}
});
$('#lcgrid .landmarkGridItem').click(function(){
landmarkIndex = $(this).attr('id');
loadLandmark();
});
});
