/* Jquery document ready function start */

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, '');
};

function validateEmailAddress(email)
{	
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var address = email
	if(reg.test(address) == false) {
		return false;
	}
}

$(function(){
    
	/* Hide default value of inputs onfocus start */
	
	$('input:text, input:password, textarea').focus(function() {
		if ($(this)[0].value == $(this).attr('rel')) {
			$(this)[0].value = ''; /*this.select();*/
		}
	}).blur(function() {
		if ($(this)[0].value.trim() == '') {
			$(this)[0].value = $(this).attr('rel');
		}
	});

	/* Hide default value of inputs onfocus end */

	if(jQuery.fn.uniform){
		$('input:checkbox').uniform();
	}

	/* Scrollable scene on startpage start */
	
	if(jQuery.fn.scrollable){
		var circular = true;
		var autoplay = true;
		if ($.browser.msie) {
			circular = false;
			autoplay = false;
		}
		
		$('#scene #scrollable').scrollable({
			speed: 400,
			circular: circular
		}).navigator().autoscroll({
			autoplay: autoplay,
			interval: 10000
			
		});
		
		/* Fix for scrollable not return false; */
		$('.prev, .next').click(function(){
			return false;
		});
	}
	
	/* Scrollable scene on startpage end */
	
	/* Find map start */
	
	/* Positions the image after the county that is in hoverstate. */
	$('#findRetailer').find('area').hover(function(){
			var obj = $(this);
			var objClass = obj.attr('class');
			var imagePosition = {left: 0,top: 0,width: 125}

			if( objClass == 'countyBD' ){ imagePosition.left = imagePosition.width * 21;}
			else if(objClass == 'countyAC'){imagePosition.left = imagePosition.width * 20;}
			else if(objClass == 'countyY'){imagePosition.left = imagePosition.width * 19;}
			else if(objClass == 'countyZ'){imagePosition.left = imagePosition.width * 18;}
			else if(objClass == 'countyX'){imagePosition.left = imagePosition.width * 17;}
			else if(objClass == 'countyW'){imagePosition.left = imagePosition.width * 16;}
			else if(objClass == 'countyS'){imagePosition.left = imagePosition.width * 15;}
			else if(objClass == 'countyT'){imagePosition.left = imagePosition.width * 14;}
			else if(objClass == 'countyU'){imagePosition.left = imagePosition.width * 13;}
			else if(objClass == 'countyC'){imagePosition.left = imagePosition.width * 12;}
			else if(objClass == 'countyAB'){imagePosition.left = imagePosition.width * 11;}
			else if(objClass == 'countyD'){imagePosition.left = imagePosition.width * 10;}
			else if(objClass == 'countyE'){imagePosition.left = imagePosition.width * 9;}
			else if(objClass == 'countyO'){imagePosition.left = imagePosition.width * 8;}
			else if(objClass == 'countyF'){imagePosition.left = imagePosition.width * 7;}
			else if(objClass == 'countyI'){imagePosition.left = imagePosition.width * 6;}
			else if(objClass == 'countyH'){imagePosition.left = imagePosition.width * 5;}
			else if(objClass == 'countyG'){imagePosition.left = imagePosition.width * 4;}
			else if(objClass == 'countyN'){imagePosition.left = imagePosition.width * 3;}
			else if(objClass == 'countyK'){imagePosition.left = imagePosition.width * 2;}
			else if(objClass == 'countyM'){imagePosition.left = imagePosition.width * 1;}
			
			obj.parent().parent().find('img').css('background-position', '-' + imagePosition.left + 'px ' + imagePosition.top + 'px');
		},
		function(){
			var obj = $(this);
			obj.parent().prev().css('background-position', '0 0');
		}
	);
	/* Shows the tooltip. */
	if(jQuery.fn.tooltip){
	
		var duration = 250;
		if ($.browser.msie){
			duration = 0;
		}
		
		$('#findRetailer').find('area').tooltip({
			id: 'findRetailerTooltip',
			track: true,
			showURL: false,
			fixPNG: true,
			fade: duration,
			delay: 250,
			top: -60, 
			left: -17
		});
	}
	
	$('#findRetailer').find('label').click(function(){
		var obj = $(this);
		var mapImage = obj.parent().next();
		var zipSearchButton = $('#ZipSearchButton');
		var zipSearchButtonHref = zipSearchButton.attr('href');
		obj.parent().find('.active').removeClass('active');
		if(obj.attr('id') == "RetailerLabel"){
			zipSearchButton.attr('href', zipSearchButtonHref.substr(0, zipSearchButtonHref.length -1) + '1');
		}
		else{
			zipSearchButton.attr('href', zipSearchButtonHref.substr(0, zipSearchButtonHref.length -1) + '0');
		}
		mapImage.attr('usemap', '#' + obj.attr('rel'));
		
		obj.addClass('active');
		return false;
	});

	$('#ZipSearchButton').click(function(){
		var url = $(this).attr('href') + '&pc=' + $('#ZipTextBox').val();
		window.location = url;
		return false;
	});

    $('#findRetailer input').keyup(function(e) {
		if(e.keyCode == 13) {
			var obj = $(this);
			var button = obj.parent().next();
			button.trigger('click');
		}
	});

    /* Input fields keyup start */
    $("#ZipTextBox").keypress(function (e) {
		if( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57))
		{
			return false;
		}
	});

	/* Find map end */
	
	/* Fancybox on article page start */

	if(jQuery.fn.fancybox){
		var transition = 'fade';
		if ($.browser.msie) {
			transition = 'none';
		}

		$("a.gallery, .thumbnails a").fancybox({
			titlePosition: 'inside',
			centerOnScroll: true,
			overlayColor: '#fff',
			hideOnOverlayClick: false,
			transitionIn: transition,
			transitionOut: transition
		});
	}

	/* Fancybox on article page end */

	/* List for retailers & contractors start */

	$('.retailersList').find('.details').hide();
	$('.retailersList').find('.title a').click(function(){

		var duration = 250;
		if ($.browser.msie){
			duration = 0;
		}
		
		var obj = $(this);
		var objText1 = obj.text();
		var objText2 = obj.attr('rel');
		var objTitle = obj.parent();
		var objContainer = objTitle.parent();
		if(!objContainer.hasClass('open'))
		{
			objTitle.next().slideDown(duration);
			objContainer.addClass('open');
			obj.text(objText2).attr('rel', objText1);
		}
		else
		{
			objTitle.next().slideUp(duration);
			objContainer.removeClass('open');
			obj.text(objText2).attr('rel', objText1);
		}
		return false;
	});

	/* List for retailers & contractors end */
	
	$('#loginTooltipButton').click(function(){
		var obj = $(this);
		var objOffset = obj.offset();
		var objTarget = $('#loginTooltip');
		
		var duration = 400;
		if ($.browser.msie){
			duration = 0;
		}
		
		if(!obj.hasClass('active')){
			obj.addClass('active');
			objTarget.css({left: objOffset.left - 88 + 'px', top: objOffset.top + 7 + 'px'}).fadeIn(duration, function(){
				$(document).click(function(e){ 
					if($(e.target).closest('#' + objTarget.attr('id')).get(0) == null){
						obj.trigger('click');
						Cufon.replace('.cufon',{hover:true});
					}        
				});
				$(window).resize(function() {
					objOffset = obj.offset();
					objTarget.css({left: objOffset.left - 88 + 'px', top: objOffset.top + 7 + 'px'});
				});
			});
		}
		else{
			$(document).unbind('click');
			$(window).unbind('resize');
			obj.removeClass('active');
			objTarget.fadeOut(duration);
		}
		return false;
	});
	
	$('.external').attr('target', '_blank');
	
    /* Input fields keyup start */

    $('.search input').keyup(function(e) {
		if(e.keyCode == 13) {
			var obj = $(this);
			var button = obj.next();
			button.one('click', function(){
				window.location.href = this.href;
				return false;
			});
			button.trigger('click');
		}
	});

    $('#loginTooltip input').keyup(function(e) {
		if(e.keyCode == 13) {
			var obj = $(this);
			var button = obj.parent().parent().next();
			button.one('click', function(){
				window.location.href = this.href;
				return false;
			});
			button.trigger('click');
		}
	});

    $('#footer input').keyup(function(e) {
		if(e.keyCode == 13) {
			var obj = $(this);
			var button = obj.parent().parent().parent().next();
			button.one('click', function(){
				window.location.href = this.href;
				return false;
			});
			button.trigger('click');
		}
	});

    $('#startpage .login input').keyup(function(e) {
		if(e.keyCode == 13) {
			var obj = $(this);
			var button = obj.parent().parent().next();
			button.one('click', function(){
				window.location.href = this.href;
				return false;
			});
			button.trigger('click');
		}
	});
	
    $('#search input').keyup(function(e) {
		if(e.keyCode == 13) {
			var obj = $(this);
			var button = obj.parent().next();
			button.one('click', function(){
				window.location.href = this.href;
				return false;
			});
			button.trigger('click');
		}
	});

});
/* Jquery document ready function end */
