// flash map tracking for site catalyst and Google
var mapLocation,mapType = new String();
var pageTracker;

//track map type and name
function trackMapType(location, name)
{
	mapLocation = name;
	mapType = location;
	// only do this when the window has fully loaded
	$(window).load(function()
	{
		// Google page tracking call
		pageTracker._trackEvent(mapLocation + ' Map','Page Open',mapType+ ' Map Type',1);

	});
}

//track map start, helperSprite
function trackMapStart()
{
	// Google page tracking call
	pageTracker._trackEvent(mapLocation + ' Map','Start',mapType+ ' Map Type',1);
}

//track clicks or map navigator on map , ChildMinder && ConcertinaItem
function trackMapClicks(linkLocation , linkName , url)
{
	url = url || false;
	//link location =  right hand side, details dropdown , map ,
	//map type = country , region , lodge
	//location = grumeti , south africa , cape town
	//link name = [lodge name]_(regions_map|explore)

	// Google page tracking call
	pageTracker._trackEvent(mapLocation + ' Map',linkLocation,linkName+' Map click',1);


	if(url != false)
	{
		//redirect to url after tracking
		location.href = url;
	}
}

//track clicks or map navigator on map, ZoomSlider, MiniMap
function trackMapUsage(featureName, value)
{
	//map type = country , region , lodge
	//location = grumeti , south africa , cape town
	//navigation feature value = yes/no
	//navigation feature =  scroller , map nav

	// Google page tracking call
	pageTracker._trackEvent(mapLocation + ' Map','Map Usage',featureName,1);
}

var galleryWindow;

// show a dd/li dropdown
function showDropdown(field)
{
	$(field).slideDown();
}

// hide a dd/li dropdown
function hideDropdown(field)
{
	$(field).slideUp();
}

// load send to friend lightbox
function showGallery(params)
{
	params = params || null;
	galleryWindow.load('/lightbox/lightbox_gallery_iframe.php',params);
	return false;
}

function loadVideoGallery(params)
{
	params = params || null;
	//clear interval when changing gallery
	galleryWindow.load('/lightbox/lightbox_vidgallery.php',params);
	return false;
}

function _alert(error)
{
	var alertwindow = $.alertWindow({timeout: 2000});

	if(typeof(error) != 'object'){
		alertwindow.alert(error);
	}else{
	 if(error.retryAttempt-1!= error.retries)
	 {
			alertwindow.alert(error.message+'<p>Attempting retry '+error.retryAttempt+'/'+error.retries+' in ('+error.timeout+' / 1000 ) +  seconds </p>');
		}else{
			alertwindow.alert(error.message);
		}
	}
}

function disableContextmenu()
{
	$('img').bind('contextmenu',function(e){
		if(e.stopPropagation)
		{
			e.stopPropagation();
		}
		e.preventDefault();
	});
}

function pngfix()
{
	if($.browser.msie && $.browser.version < '7.0')
	{
		$('img[@src$=.png],.pricetag .inner, .png_frame').css('behavior','url(/images/iepngfix.php)');
	}
}

var lodgeDropdown;
var travelTimesWindow;
$(document).ready(function()
{
	$('.freetxt a').each(function() {
		var httpReg =  new RegExp('http://'+location.hostname);
		if( this.href != '' && this.href.search(httpReg) == -1 )
		{
			$(this).attr('target','_blank');
			$(this).addClass('external');
		}
	});
	disableContextmenu();

	//create a gallery lightbox
	galleryWindow = $('#galleryWindow').window({
		width: 835,
		height: 561,
		zindex:5,
		titlebar: false,
		softshadow: false,
		popup: true,
		autoload: false,
		align:'center',
		valign:'center',
		scroll:false
	});

	//create send to a friend lightbox
	travelTimesWindow = $('#travelTimesWindow').window({
		width: 600,
		height: 420,
		zindex:6,
		titlebar: false,
		softshadow: false,
		popup: true,
		autoload: false,
		align:'center',
		valign:'center'
	});

	//setup lodge dropdown
	$('.lodge_dropdown a').click(function(){
		if($('.lodge_dropdown_list').is(':visible'))
		{
			hideDropdown('.lodge_dropdown_list');
		}else
		{
			showDropdown('.lodge_dropdown_list');
		}
		return false;
	});

	$('.lodge_dropdown a, .lodge_dropdown_list li').mouseout(function() {
		lodgeDropdown = setTimeout("hideDropdown('.lodge_dropdown_list')",1000);
	});
	$('.lodge_dropdown a, .lodge_dropdown_list li').mouseover(function() {
		clearTimeout(lodgeDropdown);
		lodgeDropdown = null;
	});
	$('#lodge-list').fadeIn('slow');

	//text size accessibility
	$('#smallerText').click(function(event) {
		if(document.getElementById('container').style.zoom != undefined)
		{
			var zoomLevel = (document.getElementById('container').style.zoom !='')? parseInt(document.getElementById('container').style.zoom) : 100;
			zoomLevel-= 10;
			if(zoomLevel > 0)
			{
				document.getElementById('container').style.zoom = zoomLevel+'%';
			}
		}else
		{
			var fontSize = parseInt($('p').css('font-size'));
			$('p').css('font-size',fontSize-1);
		}
		return false;
	});
	$('#biggerText').click(function(event) {
		if(document.getElementById('container').style.zoom != undefined)
		{
			var zoomLevel = (document.getElementById('container').style.zoom !='')? parseInt(document.getElementById('container').style.zoom) : 100;
			zoomLevel+= 10;
			document.getElementById('container').style.zoom = zoomLevel+'%';
		}else
		{
			var fontSize = parseInt($('p').css('font-size'));
			$('p').css('font-size',fontSize+1);
		}
		return false;
	});
	//appply png fix function
	pngfix();
});

function loadTravelTimes()
{
	//clear interval when changing gallery
	travelTimesWindow.load('/lightbox/travel_times.html');
	return false;
}

//contact form functions -----------------------------------------------------------------------------------------------------
function validateForm() {

	//validate and submit
	$('#contact').validate({
		rules: {
			enquiry_name: {
				required: true,
				minlength: 3
			},
			enquiry_email: {
				required: true,
				email: true,
				minlength: 5
			},
			enquiry_comment: {
				required: true,
				minlength: 3
			}
		},
		messages: {
			enquiry_name: {
				required: 'Please fill in your full name.',
				minlength: $.format('At least {0} characters required!')
			},
			enquiry_email: {
				required: 'Please fill in your email address.',
				minlength: $.format('At least {0} characters required!')
			},
			enquiry_comment: {
				required: 'Please fill in your comment.'
			}
		}
	});
}

function doSend(paramShortDomainName) {

	// Validate the form
	validateForm();
	if ($('#contact').valid()) {
		$('#contact_status').html('processing...');
		$('#contact').ajaxSubmit({
			url: '/includes/microsite_contact_process.php',
			dataType: 'json',
			success: function(json) {
				if (json.success) {
					$('#form').hide();
					$('#success_response').show();
					$('#contact_status').html('');

					// Google Analytics goal tracking url
					if (typeof(pageTracker) !== 'undefined' && pageTracker !== null) {
						
						pageTracker._trackPageview('/contact-us/quick_enquiry_thanks.php');
						
						var page = top.location.pathname.substr(1,top.location.pathname.length);
						pageTracker._addTrans(json.ref_no,'AndBeyond Africa','1','0','0','city','state','country');
						pageTracker._addItem(json.ref_no,json.ref_no,'Enquiry Tracking on Africa',page,'1','1');
						pageTracker._trackTrans();
					}

					// Site Catalyst Tracking
					if (typeof(s) !== 'undefined' && s !== null) {

						// Get the short domain name for Site Catalyst tracking
						if (paramShortDomainName === null) paramShortDomainName = ''; // default to blank string to prevent "null" showing up
						if (paramShortDomainName === '') {
							if (document.location.href !== '') {
								paramShortDomainName = document.location.href.toLowerCase().replace('http://','').replace('www.','').replace('.com','').replace('reserve','');
								paramShortDomainName = paramShortDomainName.split('/');
								paramShortDomainName = paramShortDomainName[0];
							}
						}
					}
                    
                    // google adwords tracking code
                    /* <![CDATA[ */
                    var google_conversion_id = 1038374269;
                    var google_conversion_language = "ar";
                    var google_conversion_format = "2";
                    var google_conversion_color = "ffffff";
                    var google_conversion_label = "DqtACKOD7gEQ_aqR7wM";
                    var google_conversion_value = 0;
                    /* ]]> */
                    
                    $.getScript("http://www.googleadservices.com/pagead/conversion.js",function(){
                        $('#msAdwords').html('<img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/1038374269/?label=DqtACKOD7gEQ_aqR7wM&amp;guid=ON&amp;script=0"/>');
                    });
                    
				} else {
					window.alert('Error:\n' + json.error);
				}
			}
		});
	} else {
		window.status = 'One or more of your fields have a validation error, please check what is filled in.';
	}
}

//--------------------------------------------------------------------------------------------------------------------------------------
