(function ($) {
  Drupal.behaviors.manipulateFormElements = {
    attach: function(context, settings) {
    // give the login form some love
    $('#user-login-form .login-submit-link').click(function(){
    	$('#user-login-form').submit();
    	return false;
    });
    }
  };
  Drupal.behaviors.correctActiveTrails = {
    attach: function(context, settings) {
      // fix menus that don't respect active trail because drupal links are stoopid
    $('#region-menu ul li.active').parents('li').addClass('active-trail');
    }
  };
})(jQuery);
;
/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */

/**
 * Create a cookie with the given name and value and other optional parameters.
 *
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Set the value of a cookie.
 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
 * @desc Create a cookie with all available options.
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Create a session cookie.
 * @example $.cookie('the_cookie', null);
 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
 *       used when the cookie was set.
 *
 * @param String name The name of the cookie.
 * @param String value The value of the cookie.
 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
 *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
 *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
 *                             when the the browser exits.
 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
 *                        require a secure protocol (like HTTPS).
 * @type undefined
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */

/**
 * Get the value of a cookie with the given name.
 *
 * @example $.cookie('the_cookie');
 * @desc Get the value of a cookie.
 *
 * @param String name The name of the cookie.
 * @return The value of the cookie.
 * @type String
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */
jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};;
	(function ($) {
	//Check for location cookie before document is loaded
	/*
	if(window.location.host == 'mac7.dev4.webenabled.net' && $.cookie("location") !== null){
		var local = $.cookie("location");
		if(local.indexOf(window.location.host) == -1){
			window.location.href = local;
		}
	}
	*/

	
	function drawContactMap() {
		var branches = [];
		var openWindow = null; //Open infoWindow
		
		//LatLng bounds that are used to Auto Center the map based on markers
		var latlngbounds = new google.maps.LatLngBounds();
			
		var myOptions = {
			mapTypeId: google.maps.MapTypeId.ROADMAP
		};
		var map = new google.maps.Map(document.getElementById("contact-map-canvas"), myOptions);
		
		
		$('.view-branch-listing .views-row').each(function(index){
			var coords = $(this).find('.views-field-entity-id-3 .field-content').text().split(',');
			var content = $(this).html();
			if(coords.length == 2) {
				try {
					var ll = new google.maps.LatLng(parseFloat(coords[0]), parseFloat(coords[1]));
					
					var infowindow = new google.maps.InfoWindow({
							content: content
					});
					
					var marker = new google.maps.Marker({
						position: ll, 
						map: map, 
						infowindow: infowindow
					});
					
					google.maps.event.addListener(marker, 'click', function() {
						if(openWindow != null) openWindow.close();
						this.infowindow.open(map,this);
						openWindow = this.infowindow;
					});
					
					branches.push([ll, marker]);
					
				} catch(e) {}
			}
			
			$(this).click(function(){
				//map.panTo(branches[index][0]);
				//$.cookie("myBranch", branches[index][0].lat()+','+branches[index][0].lng());
				$('.view-branch-listing .views-row').removeClass('active-branch');
				$(this).addClass('active-branch');
				google.maps.event.trigger(branches[index][1], 'click');
			});
		});
		
		for(var i = 0; i < branches.length; i++) {
			var ll = branches[i][0];
			
			//Extend Bounds with each marker
			latlngbounds.extend( ll );	
		}
		
		//Auto Center/Zoom map based on bounds
		map.fitBounds(latlngbounds);
		
		if($.cookie("myBranch") !== null){ 
			var coords = $.cookie("myBranch").split(',');
			try {
				map.panTo(new google.maps.LatLng(parseFloat(coords[0]), parseFloat(coords[1])));
			} catch(e) {}
		}
	}
	
	function locationSelectHandler() {
		var base_url = 'http://mac.dev-1/macarthur/location/';
		$('#contact-location-select').change(function(){
			window.location.href = $(this).val();
		});
		
		$('#contact-location-form a').click(function(){
			$('#contact-location-select').removeAttr('disabled');
			$(this).hide();
			return false;
		});
	}
	
	$(document).ready(function(){
		if($("#contact-map-canvas").length > 0) {
			drawContactMap();			
		}

		locationSelectHandler();

// TEMPORARY HACK FROM KEVIN to make the home page Product menu active upon page load...
		if($("body.front li#menu-570-1").length > 0) {
		  $("body.front li#menu-570-1").addClass("sfHover");
		  $("body.front li#menu-570-1 ul").css("display", "block");
		  $("body.front li#menu-570-1 ul").css("visibility", "visible");
		  // $("body.front li#menu570-1 ul").css("visibility", "visible");
		  // $('body.front li#menu570-1').trigger('mouseenter');
		}
	
		if($("body.two-sidebars li#menu-570-1").length > 0) {
		  $("body.two-sidebars li#menu-570-1").addClass("sfHover");
		  $("body.two-sidebars li#menu-570-1 ul").css("display", "block");
		  $("body.two-sidebars li#menu-570-1 ul").css("visibility", "visible");
		  // $("body.front li#menu570-1 ul").css("visibility", "visible");
		  // $('body.front li#menu570-1').trigger('mouseenter');
		}		
	});
})(jQuery);
;

