    
    //############################################################
  	
  	//Fancybox

		jQuery(function(){
		
		  	jQuery.fn.getTitle = function() {
		  		var arr = jQuery("a.fancybox");
		  		jQuery.each(arr, function() {
		  			var title = jQuery(this).children("img").attr("title");
		  			jQuery(this).attr('title',title);
		  		})
		  	}
		
		  	// Supported file extensions
		  	var thumbnails = 'a:has(img)[href$=".bmp"],a:has(img)[href$=".gif"],a:has(img)[href$=".jpg"],a:has(img)[href$=".jpeg"],a:has(img)[href$=".png"],a:has(img)[href$=".BMP"],a:has(img)[href$=".GIF"],a:has(img)[href$=".JPG"],a:has(img)[href$=".JPEG"],a:has(img)[href$=".PNG"]';
		
		  
		  	jQuery(thumbnails).addClass("fancybox").getTitle();
		
		  		jQuery("a.fancybox").fancybox({
		  		'imageScale': true,
		  		'padding': 10,
		  		'zoomOpacity': true,
		  		'zoomSpeedIn': 500,
		  		'zoomSpeedOut': 500,
		  		'zoomSpeedChange': 300,
		  		'overlayShow': true,
		  		'overlayColor': "#666666",
		  		'overlayOpacity': 0.3,
		  		'enableEscapeButton': true,
		  		'showCloseButton': true,
		  		'hideOnOverlayClick': true,
		  		'hideOnContentClick': false,
		  		'frameWidth':  560,
		  		'frameHeight':  340,
		  		'callbackOnStart': null,
		  		'callbackOnShow': null,
		  		'callbackOnClose': null,
		  		'centerOnScroll': true
		  	});
		
		});
    
    //############################################################
    
    //Search form text 
		jQuery('input[name="s"]')
			.focus(function(){ 
				if(jQuery(this).val() == 'Search...') jQuery(this).val('');
			})
			.blur(function(){
				if(jQuery(this).val() == '') jQuery(this).val('Search...');
			});    
    //############################################################
    
    //Make entire block of link items in sidebar clickable
    jQuery('.clickable').click(function(){
    	window.location = jQuery(this).find('a').attr('href');
    	return false;
    });   
    //############################################################
    
    //Make the background of the homepage elements switch to :hover
    jQuery('.home-tab-wrapper span')
    	.mouseenter(function(){
    		jQuery(this).prev().css('background-position', '0 -40px');
    	})
    	.mouseleave(function(){
    		jQuery(this).prev().css('background-position', '0 0px');
    	});   
    //############################################################
    
    //Change link items to say "Coming Soon" on hover -- return to original text on out
    var origText = jQuery('.coming-soon').text();
    jQuery('.coming-soon').hover(
    	function(){ 
    		jQuery(this).text('Coming Soon'); 
    	}, 
    	function() { 
    		jQuery(this).text(origText); 
    });
    //############################################################
    
    //Open link in iFrame
    jQuery('.fancybox-iframe').fancybox({ 	
			'frameWidth'		: 960,
			'frameHeight'		: 628,
			'type'					: 'iframe'  	
    });
    //############################################################
    
    //Layover controls
    jQuery("#close, #close-x").click(function() {
			jQuery.cookie("layover", "true");
			jQuery("#layover").css('display', 'none');
		});
		
		jQuery('#layover-submit').click(function() {
			
			var name = jQuery('#name');
			var email = jQuery('#email');
			var phone = jQuery('#phone');
			var zip = jQuery('#zip');
			
			if(name.val() != '' && email.val() != '' && phone.val() != '' && zip.val() != '') 
			{
				jQuery.cookie("layover", "true");
			  jQuery('#layover-guide-form').submit();
			  return true;
			}
			
			if(name.val() == '') { name.addClass('form-req-sidebar'); } else { name.removeClass('form-req-sidebar'); }
			if(email.val() == '') { email.addClass('form-req-sidebar'); } else { email.removeClass('form-req-sidebar'); }
			if(phone.val() == '') { phone.addClass('form-req-sidebar'); } else { phone.removeClass('form-req-sidebar'); }
			if(zip.val() == '') { zip.addClass('form-req-sidebar'); } else { zip.removeClass('form-req-sidebar'); }
			
			return false;

		});
  	//############################################################
  	
  	//ROI Calculator Ajax
  	jQuery('#ajaxROI').click(function(){
  		
  		var errors = new Array();
  		var numberRegex = /^[+-]?\d+(\.\d+)?([eE][+-]?\d+)?$/;
  		
  		jQuery('#roi-calculator').find('input:hidden').each(function(i){
  		  if( this.value == '' || numberRegex.test(this.value) == false)
					errors.push('empty');	  	
  		});
			
			var errorCheck = jQuery.inArray('empty', errors);
			
			if(errorCheck == -1) {
  			jQuery('#ajaxROI-results').html('').addClass('ajax-loader');
 				jQuery('#roi-calculator').ajaxSubmit({
  			  type:			'post',
  			  url:			'/wp-content/themes/windowpro/ajax-roi.php',
  			  success:	function(response) {
  			    					jQuery('#ajaxROI-results').removeClass('ajax-loader').html(response);
  			    				}
  			});
  			jQuery(this).parent().find('.form-msg-error').remove();
  		}
  		else {
  			jQuery(this).parent().find('.form-msg-error').remove();
  			jQuery('#roi-calculator').prepend('<div class="form-msg-error clear">Please complete all fields using only numbers.</div>');
  		}
  				
  	});
  	//############################################################
  	
  	//Clear number fields
  	jQuery('.formatnumber').focus(function(){
  		jQuery(this).val('');
  	});
  	
  	//Format Number fields  
  	jQuery('.formatnumber').blur(function(){
  		var numberRegex = /^[+-]?\d+(\.\d+)?([eE][+-]?\d+)?$/;
  		var format = jQuery(this).attr('rel');
  		var val = jQuery(this).val();
  		
  		jQuery(this).parent().find('.form-msg-error').remove();
  		
  		if(numberRegex.test(val)) {
  			if(format == 'dollar') jQuery(this).val('$ '+val+'.00');
  			if(format == 'percent') jQuery(this).val(val+'%');
				jQuery(this).next().val(val);
				jQuery(this).removeClass('form-error-border').parent().find('.form-msg-error').remove();
  		}
  		else {
  			jQuery(this).next().val(val);
  			jQuery(this).addClass('form-error-border').parent().append('<div class="form-msg-error">Must enter a number</div>');
  		}
  	});
  	
  	//############################################################
  	
  	//Sweepstakes Action
  	jQuery('#estimate, #no-estimate').click(function(){
  		var value = jQuery(this).attr('value');
  		jQuery("input[name='estimate']").attr("value", value);
  	});
  	
  	//############################################################
  	
  	//Disclaimer
			jQuery('.disclaimer-layover').qtip({
			   content: 'I understand and agree that by filling out this form that I may be contacted in the future by a representative of WindowPRO regarding our products and services.  No purchase is necessary.  WindowPRO will not sell or disseminate any information to any other third party.',
			   show: 'mouseover',
			   hide: 'mouseout',
			   style: {
			   		name: 'dark',
			   		tip: 'bottomLeft'
			   },
			   position: {
			   		corner: {
			   			target: 'topRight',
			   			tooltip: 'bottomLeft'
			   		}
			   }
			});
						
		//############################################################
  	//Google Maps - Customer Installations
 		  
 		  //Load Customer Installations Map
  	  if(jQuery('#map_canvas').length) setupMap();
  	  	
  	  var map = null;
  	  var mgr = null;
  	  
  	 function setupMap() {
  	    if (GBrowserIsCompatible()) {
		
  	      window.setTimeout(getWeatherMarkers(12000), 0);
  	    }
  	  }
 		
 		
  	  function getRandomPoint() {
  	    var lat = 48.25 + (Math.random() - 0.5)*14.5;
  	    var lng = 11.00 + (Math.random() - 0.5)*36.0;
  	    return new GLatLng(Math.round(lat*10)/10, Math.round(lng*10)/10);
  	  }
 		
  	  function getWeatherMarkers(n) 
  	  {
  	    var batch = [];
  	    
  	     GDownloadUrl("http://windowpro.com//wp-content/themes/windowpro/windowpro-installation-map-coords.php", function(data, responseCode) {
  	   
  	     if(responseCode == 200) {
  	     
  	       map = new GMap2(document.getElementById("map_canvas"));
  	       map.addControl(new GLargeMapControl());
  	       map.setCenter(new GLatLng(41.0513, -81.4041), 4);
  	       map.enableDoubleClickZoom();
  	       map.setZoom(7);
  	       
  	        var myicon = new GIcon();
  	      myicon.image = "http://windowpro.com//wp-content/themes/windowpro/library/media/images/house.png";
  	      myicon.iconAnchor = new GPoint(16, 16);
  	      myicon.infoWindowAnchor = new GPoint(16, 0);
  	      myicon.iconSize = new GSize(32, 32);
  	      myicon.shadow = "http://windowpro.com//wp-content/themes/windowpro/library/media/images/house-shadow.png";
  	      myicon.shadowSize = new GSize(59, 32);
  	    
  	       mgr = new MarkerManager(map); 
  	            
  	        var xmlData = GXml.parse(data);
  	        var markers = xmlData.documentElement.getElementsByTagName("marker");
  	        
  	        for (var i = 0; i < markers.length; i++) {
  	        
  	        var lat = markers[i].getAttribute("lat");
  	        var lng = markers[i].getAttribute("lng");
  	        var zoomLevel = markers[i].getAttribute("zoomLevel");
  	        
  	        var latlng = new GLatLng(lat,lng);
  	      
  	       mgr.addMarker(new GMarker(latlng, { icon: myicon }), zoomLevel);
 		      
  	        }
  	      }
  	      
  	     mgr.refresh();    
  	      });
  	      
  	    return batch;
  	  }

