﻿function InitializePage() {
	if ($('formcontainer')) {
		var formContainer = new ShowLink({linkId: 'addlink', containerId: 'formcontainer'});
		var status = new StatusBar({containerId: 'status', inProgressText: 'Creating...', doneText: 'Done'});

		var form = new CreativeMinds.Form({form: $('addshop'), focusOnFirst: true, ajaxSubmit: true, statusBar: status, reset: true});
		form.addEvent('failure', function(error){ alert(error); });
		form.addEvent('success', function() {formContainer.Hide();});

		var name = new CreativeMinds.FormElement({element: $('shopname')});
		name.AddValidation(new CreativeMinds.Validation({type: 'required', errorMessage: 'A name is required.'}));
		form.AddElement(name);

		var address1 = new CreativeMinds.FormElement({element: $('address1')});
		address1.AddValidation(new CreativeMinds.Validation({type: 'required', errorMessage: 'An address is required.'}));
		form.AddElement(address1);

		var zip = new CreativeMinds.FormElement({element: $('zipcode')});
		zip.AddValidation(new CreativeMinds.Validation({type: 'required', errorMessage: 'A zip code is required.'}));
		form.AddElement(zip);

		var city = new CreativeMinds.FormElement({element: $('city')});
		city.AddValidation(new CreativeMinds.Validation({type: 'required', errorMessage: 'A city is required.'}));
		form.AddElement(city);

		var country = new CreativeMinds.FormElement({element: $('country')});
		country.AddValidation(new CreativeMinds.Validation({type: 'required', errorMessage: 'A country is required.'}));
		form.AddElement(country);

		var longtitude = new CreativeMinds.FormElement({element: $('longtitude')});
		longtitude.AddValidation(new CreativeMinds.Validation({type: 'required', errorMessage: 'A longtitude is required.'}));
		// TODO: Number!!
		form.AddElement(longtitude);

		var latitude = new CreativeMinds.FormElement({element: $('latitude')});
		latitude.AddValidation(new CreativeMinds.Validation({type: 'required', errorMessage: 'A latitude is required.'}));
		// TODO: Number!!
		form.AddElement(latitude);
	}
}
function AddMarker(map, latitude, longitude, name, address, url, bounds) {
	var marker = Add(latitude, longitude, bounds);
	GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml("<div style='width: 205px; height: 120px; overflow:auto;'><b>" + name + "</b><br />" + address + "<br /><br /><a href='/shop/" + url + "'>Details</a></div>");
		});
	map.addOverlay(marker);
}
function Add(latitude, longitude, bounds) {
	var point = new GLatLng(latitude, longitude);
	var	marker = new GMarker(point, G_DEFAULT_ICON);
	bounds.extend(point);
	return marker;
}
