/***********************************************************************************
 * Author:	Charles Dorner, on behalf of Blue Blanket Studio
 * Copyright (c) 2008-2010 Blue Blanket Studio.  All Rights Reserved.
 * This file contains Original Code and/or Modifications of Original Code as defined
 * in and that are subject to the UPVC Source License (the 'License').  You may not
 * use this file except in compliance with the License.  Please read the License
 * below before using this file.
 * 
 * The Original Code and all software distributed under the License are provided
 * on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND
 * BLUE BLANKET HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION,
 * ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
 * ENJOYMENT OR NON-INFRINGEMENT.  Please see the License for the specific language
 * governing rights and limitations under the License.
 *
 * 
 * UPVC SOURCE LICENSE
 * 
 * Please read this License carefully before using this software.  By using this
 * software, you are agreeing to be bound by the terms of this License.  If you do
 * not or cannot agree to the terms of this License, please do not use the software.
 * 
 * 1.	General; Definitions.  This License applies to any program or other work
 * 		which Blue Blanket Studio ("Blue Blanket") provides and which contains a
 *		notice placed by Blue Blanket identifying such program or work as
 * 		"Original Code" and stating that it is subject to the terms of this UPVC
 *		Source License ("License").  As used in this License:
 * 
 * 1.2	"Contributor" means any person or entity that creates or contributes to the
 * 		creation of Covered Code.
 * 
 * 1.3	"Covered Code" means the Original Code, Modifications, the combination of
 * 		Original Code and any Modifications, and/or any respective portions thereof.
 * 
 * 1.4	"Externally Deploy" means: (a) to sublicense, distribute or otherwise make
 * 		Covered Code available, directly or indirectly, to anyone other than You;
 * 		and/or (b) to move Covered Code to a server not owned or leased by You;
 * 		and/or (c) to use Covered Code, alone or as part of a Larger Work, in any way
 * 		to provide a service, including but not limited to delivery of content,
 * 		through electronic communication with a client other than You.
 * 
 * 1.5	"Larger Work" means a work which combines Covered Code or portions thereof
 * 		with code not governed by the terms of this License.
 * 
 * 1.6	"Modifications" mean any addition to, deletion from, and/or change to, the
 * 		substance and/or structure of the Original Code, any previous Modifications,
 * 		the combination of Original Code and any previous Modifications, and/or any
 * 		respective portions thereof.  When code is released as a series of files, a
 * 		Modification is:  (a) any addition to or deletion from the contents of a file
 * 		containing Covered Code; and/or (b) any new file or other representation of
 * 		computer program statements that contains any part of Covered Code. 
 * 
 * 1.7	"Original Code" means (a) the Source Code of a program or other work as
 * 		originally made available by Blue Blanket under this License, including the
 * 		Source Code of any updates or upgrades to such programs or works made
 * 		available by Blue Blanket under this License, and that has been expressly
 * 		identified by Blue Blanket as such in the header(s) of such work; and
 * 		(b) any code compiled from such Source Code.
 * 
 * 1.8	"Source Code" means the human readable form of a program or other work that is
 * 		suitable for making modifications to it, including all modules it contains.
 * 
 * 1.9	"You" or "Your" means an individual or a legal entity exercising rights under
 * 		this License, in this case the Unviersity Place Volunteer Center ("UPVC").
 * 		For legal entities, "You" or "Your" includes any entity which controls, is
 * 		controlled by, or is under common control with, You, where "control" means (a)
 * 		the power, direct or indirect, to cause the direction or management of such
 * 		entity, whether by contract or otherwise, or (b) ownership of fifty percent
 * 		(50%) or more of the outstanding shares or beneficial ownership of such entity.
 * 
 * 2.	Permitted Uses; Conditions & Restrictions.   Subject to the terms and
 * 		conditions of this License, Blue Blanket hereby grants You, effective on the
 * 		date You accept this License and begin use of the Original Code, a world-wide,
 * 		royalty-free, non-exclusive license, to the extent of Blue Blanket's
 * 		copyrights covering the Original Code, to do the following:
 * 
 * 2.1	Unmodified Code.  You may use, reproduce, display, perform, and internally
 * 		distribute within Your organization unmodified copies of the Original Code,
 * 		for Your non-commercial use only, provided that in each instance:
 * 
 * 		(a)	You must retain and reproduce in all copies of Original Code the copyright
 * 		and other proprietary notices and disclaimers of Blue Blanket as they appear in
 * 		the Original Code, and keep intact all notices in the Original Code that refer
 * 		to this License; and
 * 
 * 		(b) You must include a copy of this License with every copy of Source Code of
 * 		Covered Code You distribute, and You may not offer or impose any terms on such
 * 		Source Code that alter or restrict this License or the recipients' rights
 * 		hereunder, except as permitted under Section 6; and
 * 
 * 		(c) You must not Externally Deploy the Unmodified Code.
 * 
 * 2.2	Modified Code.  You may modify Covered Code and use, reproduce, display,
 * 		perform, and internally distribute within Your organization, Your Modifications
 * 		and Covered Code, for Your non-commercial use only, provided that in each
 * 		instance You also meet all of these conditions:
 * 
 * 		(a)	You must satisfy all the conditions of Section 2.1 with respect to the
 * 		Source Code of the Covered Code; 
 * 
 * 		(b)	You must duplicate, to the extent it does not already exist, this UPVC
 * 		Source License, verbatim, in each file of the Source Code of all Your
 * 		Modifications, and cause the modified files to carry prominent notices stating
 * 		that You changed the files and the date of any change; and
 * 
 * 		(c)	You must not Externally Deploy the Modified Code.
 * 
 * 2.3	Third Party Rights.  You expressly acknowledge and agree that although
 * 		Blue Blanket and each Contributor grants the licenses to their respective
 * 		portions of the Covered Code set forth herein, no assurances are provided by
 * 		Blue Blanket or any Contributor that the Covered Code does not infringe the
 * 		patent or other intellectual property rights of any other entity. Blue Blanket
 * 		and each Contributor disclaim any liability to You for claims brought by any
 * 		other entity based on infringement of intellectual property rights or otherwise.
 * 		As a condition to exercising the rights and licenses granted hereunder, You
 * 		hereby assume sole responsibility to secure any other intellectual property
 * 		rights needed, if any. For example, if a third party license is required, it is
 * 		Your responsibility to acquire that license before using the Covered Code. 
 * 
 * 3.	Larger Works.  You may create a Larger Work by combining Covered Code with other
 * 		code not governed by the terms of this License.  In each such instance, You must
 * 		make sure the requirements of this License, are fulfilled for the Covered Code
 * 		including, but not limited to section 2.2 of this License.
 * 
 * 4.	NO WARRANTY OR SUPPORT.  The Covered Code may contain in whole or in part
 * 		pre-release, untested, or not fully tested works.  The Covered Code may contain
 * 		errors that could cause failures or loss of data, and may be incomplete or
 * 		contain inaccuracies.  You expressly acknowledge and agree that use of the
 * 		Covered Code, or any portion thereof, is at Your sole and entire risk.
 * 		THE COVERED CODE IS PROVIDED "AS IS" AND WITHOUT WARRANTY, UPGRADES OR SUPPORT
 * 		OF ANY KIND AND BLUE BLANKET AND BLUE BLANKET'S LICENSOR(S) (COLLECTIVELY
 * 		REFERRED TO AS "BLUE BLANKET" FOR THE PURPOSES OF SECTIONS 8 AND 9) AND ALL
 * 		CONTRIBUTORS EXPRESSLY DISCLAIM ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR
 * 		IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS
 * 		OF MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR PURPOSE,
 * 		OF ACCURACY, OF QUIET ENJOYMENT, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
 * 		BLUE BLANKET AND EACH CONTRIBUTOR DOES NOT WARRANT AGAINST INTERFERENCE WITH YOUR
 * 		ENJOYMENT OF THE COVERED CODE, THAT THE FUNCTIONS CONTAINED IN THE COVERED CODE
 * 		WILL MEET YOUR REQUIREMENTS, THAT THE OPERATION OF THE COVERED CODE WILL BE
 * 		UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED.
 * 		NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY BLUE BLANKET, A BLUE BLANKET
 * 		AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY.
 * 		You acknowledge that the Covered Code is not intended for use in the operation of
 * 		nuclear facilities, aircraft navigation, communication systems, or air traffic
 * 		control machines in which case the failure of the Covered Code could lead to death,
 * 		personal injury, or severe physical or environmental damage.
 * 
 * 5.	LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT SHALL
 * 		BLUE BLANKET OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR
 * 		CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THIS LICENSE OR YOUR USE OR
 * 		INABILITY TO USE THE COVERED CODE, OR ANY PORTION THEREOF, WHETHER UNDER A THEORY
 * 		OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR
 * 		OTHERWISE, EVEN IF BLUE BLANKET OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE
 * 		POSSIBILITY OF SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE
 * 		OF ANY REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF
 * 		INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY TO YOU.
 * 		In no event shall Blue Blanket's total liability to You for all damages (other
 * 		than as may be required by applicable law) under this License exceed the amount of
 * 		fifty dollars ($50.00).
 * 
 * 6.	Ownership. Blue Blanket retains all rights, title and interest in and to the
 * 		Original Code and any Modifications made by or on behalf of Blue Blanket
 * 		("Blue Blanket Modifications").  Blue Blanket may, at its sole discretion, choose
 * 		to license such Blue Blanket Modifications under this License, or on different
 * 		terms from those contained in this License or may choose not to license them at all.  
 * 
 * 7.	Termination.  
 * 
 * 7.1	Termination.  This License and the rights granted hereunder will terminate:
 * 
 * 		(a)	automatically without notice from Blue Blanket if You fail to comply with any
 * 		term(s) of this License and fail to cure such breach within 30 days of becoming
 * 		aware of such breach; or
 * 		
 * 		(b)	immediately in the event of the circumstances described in Section 13.5(b); or
 * 		
 * 		(c)	automatically without notice from Blue Blanket if You, at any time during the
 * 		term of this License, commence a legal action against Blue Blanket; provided that
 * 		Blue Blanket did not first commence a legal action against You in that instance.
 * 
 * 7.2	Effect of Termination.  Upon termination, You agree to immediately stop any further
 * 		use, reproduction, and modification of the Covered Code.  Provisions which, by
 * 		their nature, should remain in effect beyond the termination of this License shall
 * 		survive, include but are not limited to Sections 4, 5, 6, 7.2, and 8.  No party
 * 		will be liable to any other for compensation, indemnity or damages of any sort
 * 		solely as a result of terminating this License in accordance with its terms, and
 * 		termination of this License will be without prejudice to any other right or remedy
 * 		of any party.
 * 
 * 8. 	Miscellaneous.
 * 
 * 8.1	Government End Users.   The Covered Code is a "commercial item" as defined in
 * 		FAR 2.101.  Government software and technical data rights in the Covered Code
 * 		include only those rights customarily provided to the public as defined in this
 * 		License. This customary commercial license in technical data and software is
 * 		provided in accordance with FAR 12.211 (Technical Data) and
 * 		12.212 (Computer Software) and, for Department of Defense purchases,
 * 		DFAR 252.227-7015 (Technical Data -- Commercial Items) and
 * 		227.7202-3 (Rights in Commercial Computer Software or Computer Software Documentation).
 * 		Accordingly, all U.S. Government End Users acquire Covered Code with only those
 * 		rights set forth herein.
 * 
 * 8.2	Relationship of Parties.  This License will not be construed as creating an
 * 		agency, partnership, joint venture or any other form of legal association between
 * 		or among You, Blue Blanket or any Contributor, and You will not represent to the
 * 		contrary, whether expressly, by implication, appearance or otherwise.
 * 
 * 8.3	Independent Development.   Nothing in this License will impair Blue Blanket's right
 * 		to acquire, license, develop, have others develop for it, market and/or distribute
 * 		technology or products that perform the same or similar functions as, or otherwise
 * 		compete with, Modifications, Larger Works, or technology that You may develop for
 * 		Your use.
 * 
 * 8.4	Waiver; Construction.  Failure by Blue Blanket or any Contributor to enforce any
 * 		provision of this License will not be deemed a waiver of future enforcement of that
 * 		or any other provision.  Any law or regulation which provides that the language of
 * 		a contract shall be construed against the drafter will not apply to this License.
 * 
 * 8.5	Severability.  (a) If for any reason a court of competent jurisdiction finds any
 * 		provision of this License, or portion thereof, to be unenforceable, that provision
 * 		of the License will be enforced to the maximum extent permissible so as to effect
 * 		the economic benefits and intent of the parties, and the remainder of this License
 * 		will continue in full force and effect.  (b) Notwithstanding the foregoing, if
 * 		applicable law prohibits or restricts You from fully and/or specifically complying
 * 		with Sections 2 and/or 3 or prevents the enforceability of either of those
 * 		Sections, this License will immediately terminate and You must immediately
 * 		discontinue any use of the Covered Code and destroy all copies of it that are in
 * 		your possession or control.
 * 
 * 8.6	Dispute Resolution.  Any dispute resolution between You and Blue Blanket relating
 * 		to this License shall first take place in partnership with the
 * 		Pierce County Center for Dispute Resolution. Any litigation between You and
 * 		Blue Blanket relating to this License shall take place in the
 * 		King County District Court, and You and Blue Blanket hereby consent to the
 * 		personal jurisdiction of, and venue in, the state and federal courts within that
 * 		District with respect to this License.
 * 
 * 8.7	Entire Agreement; Governing Law.  This License constitutes the entire agreement
 * 		between the parties with respect to the subject matter hereof.  This License shall
 * 		be governed by the laws of the United States and the State of Washington, except
 * 		that body of Washington law concerning conflicts of law.
 */ 
 
$(document).ready(function() {

	$(document.body).delegate('.sign-me-up-button','click',function(){
		$(this).closest('form').submit();
	});
	
});

function create_address(opp) {
	var addr = opp.address;
	addr += (opp.address_two==null || opp.address_two=='' ? '' : ", "+opp.address_two);
	addr += ", "+opp.city;
	addr += ", "+opp.state;	
	addr += " "+opp.zip_code;
	return addr;
}

function addToMap(this_map, opp)
{
	return function(response) {
	
		if(response && response.Placemark) {
			// Retrieve the object
			var place = response.Placemark[0];
			
			console.log(org);
			
			// Retrieve the latitude and longitude
			var point = new GLatLng(place.Point.coordinates[1],
			                  place.Point.coordinates[0]);
			
			// Center the map on this point
			this_map.setCenter(point, 13);
			
			// Create a marker
			var marker = new GMarker(point);
			
			// Add the marker to map
			this_map.addOverlay(marker);
			
			// Add onclick event
			if(this_map==map) {
				GEvent.addListener(marker, "click", function() {
					//var myHtml = opp['opp_title'] + "<br/>" + place.address;
					//map.openInfoWindowHtml(point, myHtml);
					show_opp_info(opp);
				});
			}
		}
		
	}
}

var show_opp_info = function(opp) {
	var default_opp = {
		event_addresstwo: '',
		event_skills: opp.event_notes
	};

	var more_info = $(template('more-info',$.extend({},default_opp,opp)));
	display_modal(more_info);
	add_to_portal('.float-over .more-info','contact')(opp.contacts)
	///*
	var height = more_info.find('.more-info-content').height();
	if(opp.longitude_deg && opp.latitude_deg) {
		if(more_info.find('.sign-me-up-button').length > 0) {
			more_info.find('.map').height(Math.max(250,height-26));
		}
		more_info.find('.map').gMap({
										markers: [{
												longitude: opp.longitude_deg,
												latitude: opp.latitude_deg,
						//						address: create_address(opp),
		                              			html: opp.event_name
		                              		}],
		//			                  	address: "University Place, WA",
					                  	controls: ["GSmallMapControl"],
	                					zoom: 13
	                				});
	}
	else {
		more_info.find('.map').height(height-26);
		//more_info.find('.map').height(height-26).html('No location available.');
	}
	//*/
	//var gmap = addMap(more_info.find('.map'), opp);
	//gmap.checkResize();
};

var show_opp_info_by_index = function(index) {
	show_opp_info(opps.opps[index]);
};

var addMap = function(jEl, opp) {
	var gmap = new GMap2(jEl.get(0));
	var universityplaceWA = new GLatLng(47.2356536,-122.550404);
	gmap.setCenter(universityplaceWA, 10);
    gmap.addControl(new GSmallMapControl());
			
	geocoder.getLocations(create_address(opp), addToMap(gmap, opp));
	
	jEl.find('div[dir=ltr]').hide();
	//jEl.find('#logocontrol').hide();
	
	return gmap;
};

