// DMOPC APPLICATION LOGIC
	$(window).load(function(){
		$("a[href=#product360]").show();
		$("a[href=#video]").show();
	});
	function updateLocations(pestID){
		$.get("pest_wizard_locations.php", {"pestid": pestID}, function(data){
			$("#loc").html(data);
		});
	}
	function banner_switch(){
		shuffle();
		var next = $(".banner.current").next(".banner").length ? $(".banner.current").next(".banner") : $("#banners .banner:first");
		$(next).show();
		$(".current").fadeOut().removeClass("current");
		$(next).addClass("current");
		var next_link = $(".active").next("li").length ? $(".active").next("li") : $("#controls li:first");
		$(".active").removeClass("active");
		$(next_link).addClass("active");
	}

	$(function() {
		slide = setInterval( "banner_switch()", 7000 );
	});
	
	function set_new_interval(interval){
		clearInterval(slide);
		slide = setInterval("banner_switch()", interval);
	}
	
	function shuffle(){
		$(".banner").css("z-index", 1).hide();
		$(".current").css("z-index", 2).show();
	}
	/*EOF Banners*/
	
	function nav(){
	   var w = document.product_list.filter_dropdown.selectedIndex;
	   var url_add = document.product_list.filter_dropdown.options[w].value;
	   window.location.href = url_add;
   }
   // EOF filter list dropdown function
   
		function verify(form) 
		{
		   var passed = false;
		var blnRetval, intAtSign, intDot, intComma, intSpace, intLastDot, intDomain, intStrLen;
		if (form.to_name.value != ''){
			passed = false;
			return passed;
		}
		if (form.Email){
					   intAtSign=form.Email.value.indexOf("@");
						intDot=form.Email.value.indexOf(".",intAtSign);
						intComma=form.Email.value.indexOf(",");
						intSpace=form.Email.value.indexOf(" ");
						intLastDot=form.Email.value.lastIndexOf(".");
						intDomain=intDot-intAtSign;
						intStrLen=form.Email.value.length;
				// *** CHECK FOR BLANK EMAIL VALUE
				   if (form.Email.value == "" ) 
				   {
				alert("You have not entered an email address.");
				form.Email.focus();
				passed = false;
				}
				// **** CHECK FOR THE  @ SIGN?  
				else if (intAtSign == -1)
				{
				
				alert("Your email address is missing the \"@\".");
						form.Email.focus();
				passed = false;
				
				}
				// **** Check for commas ****
				
				else if (intComma != -1)
				{
				alert("Email address cannot contain a comma.");
				form.Email.focus();
				passed = false;
				}
				
				// **** Check for a space ****
				
				else if (intSpace != -1)
				{
				alert("Email address cannot contain spaces.");
				form.Email.focus();
				passed = false;
				}
				
				// **** Check for char between the @ and dot, chars between dots, and at least 1 char after the last dot ****
				
				else if ((intDot <= 2) || (intDomain <= 1)  || (intStrLen-(intLastDot+1) < 2)) 
				{
				alert("Please enter a valid Email address.\n" + form.Email.value + " is invalid.");                                             
				form.Email.focus();                                                     
				passed = false;
				}               
				else {
						passed = true;  
				}
		}
		else    {
				passed = true;
		}
		return passed;
  }
	
	$(document).ready(function(){
		
		$('input[name=keywords]').autocomplete("autocomplete.php", 
			{ 
				delay: 10,
				autoFill: false,
				selectFirst: false
			}
		);
		//Minicart / TopMenu / Etc.
		$("dfn").each(function(){
			$(this).addClass("term");
			var term = $(this).text();
			$(this).qtip({
				show: "mouseover",
				content: {
					url: "glossary.php",
					data: { term: term },
					method: "get",
					title: {
						text: term
					}
				},
				position: {
					corner: {
						target: "topMiddle",
						tooltip: "bottomMiddle"
					},
					adjust: {screen: true}
				},
				style: {
					name: "cream",
					color: "#000",
					width: 250,
					padding: 2,
					tip: { 
					 corner: "bottomMiddle"
					},
					border: {
						radius: 3
					}
				}
			});
			
		});
		/*Tabs*/
		$("#TabbedPanels1 ul li").hover(function(){
			$(this).addClass("TabbedPanelsTabHover");
		}, function(){
			$(this).removeClass("TabbedPanelsTabHover");
		});
		
		$("#questions").hide();
		$("#reviews").hide();
		
		$("#TabbedPanels1 ul li a[href$=#details]").parents("li").addClass("TabbedPanelsTabSelected");
		
		$("a[href$=#details]").click(function(){
			var rel = $(this).attr("rel");
			$("#questions").hide();
			$("#reviews").hide();
			$("#details").show();
			$("#TabbedPanels1 ul li a[href$=#reviews]").parents("li").removeClass("TabbedPanelsTabSelected");
			$("#TabbedPanels1 ul li a[href$=#questions]").parents("li").removeClass("TabbedPanelsTabSelected");
			$("#TabbedPanels1 ul li a[href$=#details]").parents("li").addClass("TabbedPanelsTabSelected");
			if ( rel == "#details" ){
				$("html, body").animate({
					scrollTop: $("#details").offset().top - 40
				}, 1000);
			}
			return false;
		});
		$("a[href$=#reviews]").click(function(){
			var rel = $(this).attr("rel");
			$("#questions").hide();
			$("#details").hide();
			$("#reviews").show();
			$("#TabbedPanels1 ul li a[href$=#details]").parents("li").removeClass("TabbedPanelsTabSelected");
			$("#TabbedPanels1 ul li a[href$=#questions]").parents("li").removeClass("TabbedPanelsTabSelected");
			$("#TabbedPanels1 ul li a[href$=#reviews]").parents("li").addClass("TabbedPanelsTabSelected");
			if ( rel == "#reviews" ){
				$("html, body").animate({
					scrollTop: $("#reviews").offset().top - 40
				}, 1000);
			}
			return false;
		});
		$("a[href$=#questions]").click(function(){
			var rel = $(this).attr("rel");
			$("#reviews").hide();
			$("#details").hide();
			$("#questions").show();
			$("#TabbedPanels1 ul li a[href$=#details]").parents("li").removeClass("TabbedPanelsTabSelected");
			$("#TabbedPanels1 ul li a[href$=#reviews]").parents("li").removeClass("TabbedPanelsTabSelected");
			$("#TabbedPanels1 ul li a[href$=#questions]").parents("li").addClass("TabbedPanelsTabSelected");
			if ( rel == "#questions" ){
				$("html, body").animate({
					scrollTop: $("#questions").offset().top - 40
				}, 1000);
			}
			return false;
		});
		/*EOF Tabs*/
		
		
		$(function(){
			var href = document.location.href;
			var index = href.indexOf("#");
			if ( index > 0 ){
				if ( href.substr(index+1, 4) == "sort"){
					var tab = href.substring(index+6);
					$("#questions").hide();
					$("#reviews").hide();
					$("#details").hide();
					$("#TabbedPanels1 ul li a[href$=#reviews]").parents("li").removeClass("TabbedPanelsTabSelected");
					$("#TabbedPanels1 ul li a[href$=#questions]").parents("li").removeClass("TabbedPanelsTabSelected");
					$("#TabbedPanels1 ul li a[href$=#details]").parents("li").removeClass("TabbedPanelsTabSelected");
					$("#TabbedPanels1 ul li a[href$=#" + tab + "]").parents("li").addClass("TabbedPanelsTabSelected");
					$("#" + tab).show();
				}
			}
		});
		
		/*Minicart*/
		var hover = 0;
		$("a.cart-link").attr("href", "javascript:void(0)");
		$("a.cart-link").hover(function(){
			$(this).css("cursor", "pointer");
			hover = setTimeout(function(){
				$("#cart-box").slideDown();
			}, 600);
		}, function(){
			if ( hover != 0 ){
				clearTimeout( hover );
			}
		});
		$("a.minicart-close").click(function(e){
			e.stopPropagation();
			$("#cart-box").slideUp();
		});
		$(document).click(function(e){
			e.stopPropagation();
			$("#cart-box").slideUp();
		});
		$("#cart-box").click(function(e) {
			e.stopPropagation();
		});
		$("a.cart-link").click(function(e) {
			e.stopPropagation();
			document.location="shopping_cart.php";
		});
		var data = ' . $data . ';
		//if ( data == true ){
		//	$("#cart-box").slideDown();
		//	setTimeout(function(){
		//		$("#cart-box").slideUp();
		//	}, 5000);
		//}
		/*EOF Minicart*/
		
		/*Top Menu*/
		$("#topmenu li").hover(function(){
			$(this).css("cursor", "pointer");
			$(this).css("background-position-y", "-25px");
		}, function(){
			$(this).css("background-position-y", "0");
		});
		$("li.morepests").hover(function(){
			$("#pests-menu").show();
		}, function(){
			$("#pests-menu").hide();
		});
		$("li.products").hover(function(){
			$("#products-menu").show();
		}, function(){
			$("#products-menu").hide();
		});
		/*EOF Top Menu*/
		
		/*Banners*/
		$("#controls li a").click(function(){
			shuffle();
			var rel = $(this).attr("rel");
			if ( $("#" + rel).hasClass("current") ){
				return false;
			}
			$("#" + rel).show();
			$(".current").fadeOut().removeClass("current");
			$("#" + rel).addClass("current");
			$(".active").removeClass("active");
			$(this).parents("li").addClass("active");
			set_new_interval(7000);
			return false;
		});
		
		//Products Page stuff
		$("li.also-arrow").show();
		$("li.also-arrow a").click(function(){
			var rel = $(this).attr('rel');
			var j = $(this).parents('ul').attr('id');
			var num_lists = $('ul.also-bought.list').size();
			j = j.replace('also-bought-', '');
			j = parseInt(j);
			if ( rel != '' ){
				if ( rel == 'also-right' ){
					if ( j != num_lists ){
						var new_j = j + 1;
					}else{
						var new_j = 1;
					}				
				}else if ( rel == 'also-left' ){
					if ( j != 1 ){
						var new_j = j - 1;
					}else{
						var new_j = num_lists;
					}
				}
				$('#also-bought-'+j).hide();
				$('#also-bought-'+new_j).fadeIn();
			}
		});
		
		$('.blue-back').children('td').css('color', '#000000');
		$('.blue-back').children('td').children('input[type=radio]').attr('checked', 'checked');
		$('.blue-back td:first-child').css('background','url(/includes/images/sitev8/price_box_left.gif) no-repeat top left' );
		$('.blue-back td:last-child').css('background','url(/includes/images/sitev8/price_box_right.gif) no-repeat top right' );
		$('.blue-back td:nth-child(2)').css('background','url(/includes/images/sitev8/price_box_center.gif) no-repeat top left' );
		$('.blue-back td:nth-child(3)').css('background','url(/includes/images/sitev8/price_box_center.gif) no-repeat top left' );
		
		$('.prices tbody tr').click(function(){
			$('.blue-back').css('background-color', '#FFFFFF');
			$('.blue-back').children('td').css({'color' : '#000', 'background' : 'none'});
			$('.blue-back').removeClass('blue-back');
			$(this).children('td').children('input[type=radio]').attr('checked', 'checked');
			$(this).children('td:first-child').css('background','url(/includes/images/sitev8/price_box_left.gif) no-repeat top left' );
			$(this).children('td:last-child').css('background','url(/includes/images/sitev8/price_box_right.gif) no-repeat top right' );
			$(this).children('td:nth-child(2)').css('background','url(/includes/images/sitev8/price_box_center.gif) no-repeat top left' );
			$(this).children('td:nth-child(3)').css('background','url(/includes/images/sitev8/price_box_center.gif) no-repeat top left' );
			$(this).children('td').css('color', '#000000');
			$(this).addClass('blue-back');
			//Change image
			var showDiv = $(this).attr('name');
			var photos = $(".photos div").length;
			for (i=1; i<=photos; i++){
				$('#photo_'+i).hide();
			}
			$('#'+showDiv).show();
		});
		
		$('.prices tbody tr').hover(function(){
			$(this).children('td').css('color', '#000000');
			$(this).css('cursor', 'pointer');
		}, function(){
			if ( !$(this).hasClass('blue-back') ){
				$(this).children('td').css('color', '#000');
			}
		});
		$('a.tooltip').each(function()
		{	
			//rewrite so as not to follow the link
			$(this).attr("href", "javascript:void(0)");
			$(this).qtip({
				
			   content: {
				   url: 'product_preview.php',
				   data: { products_id: $(this).attr('rel') },
				   method: 'get',
				   title: {
					text: 'More Information',
					button: 'Close'
				  }
			   },
			   hide : {
				 fixed : false,
				 when : {
					event : 'unfocus'
				 }
			  },
			   position: {
				   corner: {
					   target: 'topLeft',
					   tooltip: 'bottomMiddle'
					}
			   },
			   style: {
					name: 'light',
					background: '#FFF',
					width: 380, 
					height: 240,
					padding: 2,
					tip: { 
						 corner: 'bottomMiddle', 
						 size: {
							x: 16, // Be careful that the x and y values refer to coordinates on screen, not height or width.
							y : 24 // Depending on which corner your tooltip is at, x and y could mean either height or width!
						 }
					},
					border: {
						radius: 3,
						width: 2,
						color: '#666'
					}
			   },
			   show: 'click'
			});
			return false;
		});
		
		//QA Stuff
		$('#search-label').click(function(){
			$('#ask').hide();
			$('#search').show();
		});
		$('#ask-label').click(function(){
			$('#search').hide();
			$('#ask').show();
		});
		$('#success').animate({opacity: 1.0}, 3000).fadeOut();
		$('#success').click(function(){
			$(this).hide();
		});
		$('#questionSubmit').click(function(){
			$('#action').val($(this).val());
		});
		$('#questionCancel').click(function(){
			$('#action').val($(this).val());
		});
		
		//Testimonial Stuff
		$('#testimonialSubmit').click(function(){
			$('#action').val($(this).val());
		});
		$('#testimonialCancel').click(function(){
			$('#action').val($(this).val());
		});
		$('.reveal').click(function(){
			var thing = $(this).attr('rel');
			$(thing).show();
		});
		$('.cancel').click(function(){
			$(this).parents().filter('form').hide();
		});
		
		//Pay By Check Stuff
		$.fn.is_email = function(){
			var email = $(this).val();
			if ( email == '' ){
				return false;
			}
			var reg = /^[^@]+@[^@]+.[a-z]{2,}$/i;
			if ( email.search(reg) == -1 ){
				return true;
			}else{
				return false;
			}
		}
		$.fn.is_phone = function(){
			var phone = $(this).val();
			var reg = /\d{3}\-\d{3}\-\d{4}/;
			if ( phone.search(reg) == -1 ){
				return true;
			}else{
				return false;
			}
		}
		$.fn.is_zip = function(){
			var zip = $(this).val();
			var reg = /^\d{5}$|^\d{5}-\d{4}$/;
			if ( zip.search(reg) == -1 ){
				return true;
			}else{
				return false;
			}
		}
		$(".js-hide").hide();
		$(".js-show").show();
		
		$(".next").click(function(){
			var show = $(this).attr("rel");
			if (show == 'num3'){
				if ( $("input[name=name]").val() == '' ){
					alert('Please fill in the full name field');
					return false;
				}else if ( $("input[name=shipping_address_1]").val() == '' ){
					alert('Please fill in the shipping address field');
					return false;
				}else if ( $("input[name=shipping_city]").val() == '' ){
					alert('Please fill in the shipping address city field');
					return false;
				}else if ( $("input[name=shipping_state]").val() == '' ){
					alert('Please fill in the shipping address state field');
					return false;
				}else if ( $("input[name=shipping_zip]").val() == '' ){
					alert('Please fill in the shipping address zip field');
					return false;
				}else if ( $("input[name=shipping_zip]").is_zip()){
					alert('Please enter a valid shipping address zip code');
					return false;
				}else if ( $("input[name=email]").is_email()){
					alert('Please enter a valid email address');
					return false;
				}else if ( $("input[name=phone]").val() == '' ){
					alert('Please fill in the phone number field');
					return false;
				}else if ( $("input[name=phone]").is_phone()){
					alert('Please enter a valid phone number');
					return false;
				}else if ( $("#billing_same:checked") ){
					if ( $("input[name=mailing_address_1]").val() == '' ){
						alert('Please fill in the mailing address field');
						return false;
					}else if ( $("input[name=mailing_city]").val() == '' ){
						alert('Please fill in the mailing address city field');
						return false;
					}else if ( $("input[name=mailiing_state]").val() == '' ){
						alert('Please fill in the mailing address state field');
						return false;
					}else if ( $("input[name=mailing_zip]").val() == '' ){
						alert('Please fill in the mailing address zip field');
						return false;
					}else if ( $("input[name=mailing_zip]").is_zip()){
						alert('Please enter a valid mailing address zip code');
						return false;
					}else{
						$("." + show).fadeIn();
					}
				}else{
					$("." + show).fadeIn();
				}
			}else{
				$("." + show).fadeIn();
			}
			return false;
		});
		$("#billing_same").click(function(){
			$("input[name=mailing_address_1]").val($("input[name=shipping_address_1]").val());
			$("input[name=mailing_address_2]").val($("input[name=shipping_address_2]").val());
			$("input[name=mailing_city]").val($("input[name=shipping_city]").val());
			$("input[name=mailing_state]").val($("input[name=shipping_state]").val());
			$("input[name=mailing_zip]").val($("input[name=shipping_zip]").val());
		});
	});