//load Google Analytics:
$.geekGaTrackPage('UA-4808621-6');

//preloader function for images
$.preloadImages = function()
{
  for(var i = 0; i<arguments.length; i++)
  {
    $('<img>').attr('src', arguments[i]);
  }
}

//preload images
$.preloadImages('images/banner_bg.jpg','images/tagline.gif', 'images/logo.gif', 'images/latest_news.gif', 'images/search_button.gif', 'images/partners_map.gif','images/active_retail_banner_img.png',	'images/argility_merchandising_banner_img.png', 'images/global_partners_banner_img.png', 'images/retail_software_banner_img.png', 'images/content_bg.jpg');

$(document).ready(function() {

	//automate slider  
	var autoSlide = setInterval(function()
	  {
		$("#right_link").click();
		}, 12500);
	
		
	//homepage headlines/newsticker
	$('#headlines_list').newsticker();
	
	//input highlight
	$('#enquiry_form :input').focus(function() {
		$(this).css('border-color','#bbbbbb');
	});
	$('#enquiry_form :input').blur(function() {
		$(this).css('border-color','#dddddd');
	});
	
	//gallery zoom
	$('a.zoom').fancyZoom({width:500, height:500});


	//otc popup
	$('#otc_link_1').fancyZoom({width:750, height:500});
	$('#otc_link_2').fancyZoom({width:750, height:500});

	
	//required fields
	$('#enquiry_form').submit(function() {

			//highlight inputs that are empty
			var email_reg_ex =/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
			var completed_fields = $('#enquiry_form :input.required').length;
			var empty_fields = 0;
			var valid_email_address = true;
			
			$('#enquiry_form :input.required').each( function(i) {

				if($(this).val() == '')
				{
					$(this).css('border-color','#ffb485');

					empty_fields++;
				}
				else if(email_reg_ex.test($('#email_field').val()) == false) 
				{
					$('#email_field').css('border-color','#ffb485');
					valid_email_address = false;
				}
		
			});

			if((empty_fields <= completed_fields) && (empty_fields > 0 ) || (valid_email_address == false) )
			{
				//display  relevant messages
				$('#enquiry_form .help_message').attr('id', 'error').html('Please fill in all the required fields. ').show();
				if(valid_email_address == false)
				{
					$('#enquiry_form .help_message').append('Please enter a valid email address.');
				}
				return false;
			}

	});
	
	//required fields
	$('#registration_form').submit(function() {

			//highlight inputs that are empty
			var email_reg_ex =/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
			var completed_fields = $('#registration_form :input.required').length;
			var empty_fields = 0;
			var valid_email_address = true;
			
			$('#registration_form :input.required').each( function(i) {

				if($(this).val() == '')
				{
					$(this).css('border-color','#ffb485');

					empty_fields++;
				}
				else if(email_reg_ex.test($('#email_field').val()) == false) 
				{
					$('#email_field').css('border-color','#ffb485');
					valid_email_address = false;
				}
		
			});

			if((empty_fields <= completed_fields) && (empty_fields > 0 ) || (valid_email_address == false) )
			{
				//display  relevant messages
				$('#registration_form .help_message').attr('id', 'error').html('Please fill in all the required fields. ').show();
				if(valid_email_address == false)
				{
					$('#registration_form .help_message').append('Please enter a valid email address.');
				}
				return false;
			}

	});
	
	//google maps
    var map = null;
    var geocoder = null;
	var google_map = document.getElementById("map_canvas");
	if(google_map)
	{
	    function initialize() {
	      if (GBrowserIsCompatible()) {
	        map = new GMap2(google_map);
	        geocoder = new GClientGeocoder();
	      }
	    }

	    function showAddress(address) {
	      if (geocoder) {
	        geocoder.getLatLng(
	          address,
	          function(point) {
	            if (!point) {
	              alert(address + " not found");
	            } else {
	              map.setCenter(point, 13);
	              var marker = new GMarker(point);
	              map.addOverlay(marker);
	              marker.openInfoWindowHtml(address);
	            }
	          }
	        );
	      }
	    }

		initialize();
		showAddress($('#street_address').text());
	}
	
});
