Disclaimer

This java script is NOT production ready. It’s an attempt to post actual code and how it interacts with the food and liquor API. This script searches, adds items to a cart, and places an order.

Prerequisites

This script depends on a few jars. They can be downloaded below

Code

<br />
package com.brinkmat.api;</p>
<p>import java.io.BufferedReader;<br />
import java.io.IOException;<br />
import java.io.InputStreamReader;<br />
import java.util.HashMap;<br />
import java.util.Map;<br />
import javax.ws.rs.core.MediaType;<br />
import javax.ws.rs.core.UriBuilder;<br />
import net.sf.json.JSONArray;<br />
import net.sf.json.JSONObject;<br />
import com.sun.jersey.api.client.Client;<br />
import com.sun.jersey.api.client.ClientResponse;<br />
import com.sun.jersey.api.client.WebResource;</p><script></script>
<p>public class DcomRestExample<br />
{<br />
    final static String host = &quot;http://sandbox.delivery.com/&quot;;</p>
<p>    final static String GUEST_TOKEN = &quot;Guest-Token&quot;;<br />
    final static String AUTH_TOKEN = &quot;Authorization&quot;;<br />
    final static String GUEST_TOKEN_URL = &quot;customer/auth/guest&quot;;<br />
    final static String CUSTOMER_CART_URL = &quot;customer/cart&quot;;<br />
    final static String CHECKOUT_URL = &quot;customer/cart&quot;;<br />
    final static String CC_URL = &quot;customer/cc&quot;;<br />
    final static String AUTH_URL = &quot;customer/auth&quot;;<br />
    final static String LOCATION_URL = &quot;customer/location&quot;;<br />
    final static String ORDER_URL = &quot;customer/orders/recent&quot;;<br />
    final static String SEARCH_URL = &quot;merchant/search/delivery&quot;;<br />
    final static String SEARCH_ADDRESS = &quot;1330 1st Ave, 10021&quot;;<br />
    final static String ADDRESS_APT = &quot;Apt 123&quot;;<br />
    final static String CLIENT_ID = &quot;NDU1MWU1YjM4NzczMjljN2ZlNjFkODFkNDhlMjdkZGZk&quot;;<br />
    final static String ORDER_TYPE = &quot;delivery&quot;;</p>
<p>    public static void main(String[] args) throws IOException<br />
    {</p>
<p>	// 1) Go to https://staging.delivery.com , scroll to bottom, click<br />
	// 'developers', click 'become api user'<br />
	// 2) Enter info<br />
	// 3) Remember your Client Id and Secret, and fill them in below<br />
	// 4) click on 'add one' to add a URL redirect, enter 'http://localhost'<br />
	// or whatever you want, click Add URI, and fill that URI in redirectURI<br />
	// below</p>
<p>	String clientSecret = &quot;OGpYvTZubYUUlqo2zkgwDbmr7sXGOK1UMCDXqFTE&quot;;<br />
	String redirectURI = &quot;http://localhost&quot;;</p>
<p>	String urlToAddCCInBrowser = &quot;http://sandbox.delivery.com/third_party/credit_card/add?client_id=&quot; + CLIENT_ID + &quot;&amp;redirect_uri=&quot; + redirectURI<br />
		+ &quot;&amp;response_type=code&amp;scope=global&quot;;</p>
<p>	// I can get a guest-token which allows me to create a cart before the user logs in.<br />
	String guestToken = getGuestToken(CLIENT_ID);</p>
<p>	// search for a merchant at location from above<br />
	JSONObject searchResults = search(SEARCH_ADDRESS);<br />
	JSONObject geoCodedLocation = searchResults.getJSONObject(&quot;search_address&quot;);<br />
	System.out.println(&quot;My address was geocoded to: &quot; + geoCodedLocation);<br />
	int merchantId = getWasabiLobbyId(searchResults);<br />
	System.out.println(&quot;Successfully found merchant w/ id &quot; + merchantId);</p>
<p>	// now that we have the merchant, let's get the menu<br />
	String inventory = menu(merchantId);<br />
	System.out.println(&quot;Inventory for &quot; + merchantId + &quot; is &quot; + inventory);</p>
<p>	// now let's add stuff to our cart<br />
	addSushi(guestToken, inventory, merchantId);<br />
	System.out.println(&quot;Added some sushi to my cart. Yum...&quot;);</p>
<p>	// view the cart<br />
	String cart = viewCart(guestToken, null, merchantId, geoCodedLocation);<br />
	System.out.println(&quot;Cart with guest token : &quot; + cart);</p>
<p>	String urlToAuthorizeInBrowser = &quot;http://sandbox.delivery.com/third_party/authorize?client_id=&quot; + CLIENT_ID + &quot;&amp;redirect_uri=&quot; + redirectURI<br />
		+ &quot;&amp;response_type=code&amp;scope=global&amp;guest_token=&quot; + guestToken;<br />
	System.out.println(&quot;Please go to &quot; + urlToAuthorizeInBrowser + &quot; in your browser, sign in or create an account, and you'll be redirected &quot;<br />
		+ &quot;to a url that looks like http://localhost/?code=DH8uAFjSO5dq2Alzr37PZPyUZjsGEAgG6MhUcIS9&amp;state=.&quot;<br />
		+ &quot; Please copy the code portion of in the URL (DH8uAFjSO5dq2Alzr37PZPyUZjsGEAgG6MhUcIS9 in this &quot;<br />
		+ &quot;example) and paste it here. I'm waiting for that input :&quot;);<br />
	String code = new BufferedReader(new InputStreamReader(System.in)).readLine();<br />
	// Get an access token as a bridge between<br />
	// unauthorizedSessionSpecificToken and an authorized user<br />
	String accessToken = getAccessToken(code, CLIENT_ID, clientSecret, redirectURI);</p>
<p>	// view the cart<br />
	cart = viewCart(null, accessToken, merchantId, geoCodedLocation);<br />
	System.out.println(&quot;Cart with access token: &quot; + cart);</p>
<p>	// get a location id which will be used throughout the api - this should<br />
	// be the delivery address<br />
	int locationId = createLocation(accessToken, geoCodedLocation, true, null);<br />
	System.out.println(&quot;Successfully created a location with id &quot; + locationId);</p>
<p>	// get the saved CCs for this user<br />
	System.out.println(&quot;Do you want to add a credit card to this account?  Y or N&quot;);<br />
	if (new BufferedReader(new InputStreamReader(System.in)).readLine().equalsIgnoreCase(&quot;y&quot;))<br />
	{<br />
	    System.out.println(&quot;Enter the CC info at &quot; + urlToAddCCInBrowser + &quot; . When done, enter 'done' to continue&quot;);<br />
	    while (!new BufferedReader(new InputStreamReader(System.in)).readLine().equalsIgnoreCase(&quot;done&quot;))<br />
	    {<br />
		System.out.println(&quot;Waiting for you to enter 'done' and hit enter&quot;);<br />
	    }<br />
	}<br />
	System.out.println(&quot;Attempting to place order&quot;);</p>
<p>	int ccId = Integer.parseInt(viewCCs(accessToken));<br />
	Float tip = 2.5f;<br />
	String orderNotes = &quot;Please be nice to the doorman. He works so hard.&quot;;</p>
<p>	String order = checkout(accessToken, tip, orderNotes, ccId, locationId, merchantId);<br />
	System.out.println(&quot;Just placed an order: &quot; + order);</p>
<p>	// now let's get it back again<br />
	int orderId = JSONObject.fromObject(order).getInt(&quot;order_id&quot;);</p>
<p>	String orderFromGet = getOrder(accessToken, orderId);<br />
	System.out.println(&quot;Just got an order: &quot; + orderFromGet);<br />
    }</p>
<p>    private static String getAccessToken(String code, String clientId, String clientSecret, String redirectURI)<br />
    {<br />
	String url = &quot;http://sandbox.delivery.com/api/third_party/access_token&quot;;<br />
	WebResource resource = Client.create().<br />
				resource(<br />
					UriBuilder.fromUri(url).clone().build().toASCIIString()<br />
					);</p>
<p>	JSONObject postData = new JSONObject();<br />
	postData.put(&quot;client_id&quot;, clientId);<br />
	postData.put(&quot;client_secret&quot;, clientSecret);<br />
	postData.put(&quot;redirect_uri&quot;, redirectURI);<br />
	postData.put(&quot;grant_type&quot;, &quot;authorization_code&quot;);<br />
	postData.put(&quot;code&quot;, code);</p>
<p>	ClientResponse resi = resource.accept(MediaType.APPLICATION_JSON).type(MediaType.APPLICATION_JSON).post(ClientResponse.class, postData.toString());<br />
	if (resi.getStatus() == ClientResponse.Status.OK.getStatusCode())<br />
	{<br />
	    return JSONObject.fromObject(resi.getEntity(String.class)).getString(&quot;access_token&quot;);<br />
	} else<br />
	{<br />
	    String rs = resi.getEntity(String.class);<br />
	    throw new RuntimeException(JSONObject.fromObject(rs).getString(&quot;error_description&quot;));<br />
	}<br />
    }</p>
<p>    /**<br />
     * This gives you a unique unauthorized code you'll use throughout the api<br />
     *<br />
     * @param clientId<br />
     *            when you sign up for an API key, you'll get a client Id<br />
     * @return<br />
     */<br />
    private static String getGuestToken(String clientId)<br />
    {<br />
	WebResource resource = Client.create().resource(UriBuilder.fromUri(host + GUEST_TOKEN_URL).queryParam(&quot;client_id&quot;, clientId).clone().build().toASCIIString());<br />
	ClientResponse res = resource.type(MediaType.APPLICATION_JSON).get(ClientResponse.class);</p>
<p>	if (res.getStatus() == ClientResponse.Status.OK.getStatusCode())<br />
	{<br />
	    String token = res.getEntity(String.class);<br />
	    return JSONObject.fromObject(token).getString(&quot;Guest-Token&quot;);<br />
	} else<br />
	{<br />
	    throw new RuntimeException(JSONObject.fromObject(res.getEntity(String.class)).getJSONArray(&quot;message&quot;).getJSONObject(0).getString(&quot;code&quot;));<br />
	}<br />
    }</p>
<p>    private static int createLocation(String authToken, JSONObject location, boolean isDoormanBuilding, String aptNum)<br />
    {<br />
	WebResource resource = Client.create().resource(UriBuilder.fromUri(host + LOCATION_URL).clone().build().toASCIIString());<br />
	JSONObject formData = new JSONObject();<br />
	formData.put(&quot;street&quot;, location.get(&quot;street&quot;));<br />
	formData.put(&quot;unit_number&quot;, aptNum);<br />
	formData.put(&quot;city&quot;, location.get(&quot;city&quot;));<br />
	formData.put(&quot;state&quot;, location.get(&quot;state&quot;));<br />
	formData.put(&quot;zip_code&quot;, location.get(&quot;zip_code&quot;));<br />
	formData.put(&quot;phone&quot;, &quot;555-555-5555&quot;);</p>
<p>	ClientResponse res = resource<br />
		.accept(MediaType.APPLICATION_JSON)<br />
		.type(MediaType.APPLICATION_JSON)<br />
		.header(AUTH_TOKEN, authToken)<br />
		.post(ClientResponse.class, formData.toString());</p>
<p>	if (res.getStatus() == ClientResponse.Status.OK.getStatusCode())<br />
	{<br />
	    String locationObj = res.getEntity(String.class);<br />
	    return Integer.parseInt(JSONObject.fromObject(locationObj).getJSONObject(&quot;location&quot;).getString(&quot;location_id&quot;));<br />
	} else<br />
	{<br />
	    String err = res.getEntity(String.class);<br />
	    throw new RuntimeException(JSONObject.fromObject(err).getJSONArray(&quot;message&quot;).getJSONObject(0).getString(&quot;code&quot;));<br />
	}<br />
    }</p>
<p>    private static JSONObject search(String address)<br />
    {<br />
	String url = host + SEARCH_URL;</p>
<p>	WebResource resource = Client.create().resource(UriBuilder.fromUri(url).queryParam(&quot;address&quot;, address).queryParam(&quot;client_id&quot;, CLIENT_ID).clone().build().toASCIIString());<br />
	ClientResponse res = resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).get(ClientResponse.class);</p>
<p>	if (res.getStatus() == ClientResponse.Status.OK.getStatusCode())<br />
	{<br />
	    String merchantInfoArray = res.getEntity(String.class);<br />
	    JSONObject searchResult = JSONObject.fromObject(merchantInfoArray);<br />
	    return searchResult;<br />
	} else<br />
	{<br />
	    String msg = JSONObject.fromObject(res.getEntity(String.class)).getJSONArray(&quot;message&quot;).getJSONObject(0).getString(&quot;code&quot;);<br />
	    throw new RuntimeException(msg);<br />
	}<br />
    }</p>
<p>    private static int getWasabiLobbyId(JSONObject searchResult)<br />
    {<br />
	JSONArray merchantArray = searchResult.getJSONArray(&quot;merchants&quot;);<br />
	if (!merchantArray.isEmpty())<br />
	{<br />
	    for (int i = 0; i &lt; merchantArray.size(); i++)<br />
	    {<br />
		String seoName = merchantArray.getJSONObject(i).getJSONObject(&quot;summary&quot;).getJSONObject(&quot;url&quot;).getString(&quot;short_tag&quot;);<br />
		if (seoName.toLowerCase().contains(&quot;wasabi-lobby&quot;))<br />
		{<br />
		    return merchantArray.getJSONObject(i).getInt(&quot;id&quot;);<br />
		}<br />
	    }</p>
<p>	}</p>
<p>	throw new RuntimeException(&quot;Can't find wasabi-lobby&quot;);<br />
    }</p>
<p>    private static String menu(int merchantId)<br />
    {<br />
	String url = host + &quot;merchant/&quot; + merchantId + &quot;/menu&quot;;<br />
	WebResource resource = Client.create()<br />
		.resource(UriBuilder.fromUri(url).clone().build().toASCIIString());<br />
	ClientResponse res = resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).get(ClientResponse.class);</p>
<p>	if (res.getStatus() == ClientResponse.Status.OK.getStatusCode())<br />
	{<br />
	    String inventory = res.getEntity(String.class);<br />
	    return inventory;<br />
	} else<br />
	{<br />
	    throw new RuntimeException(JSONObject.fromObject(res.getEntity(String.class)).getJSONArray(&quot;message&quot;).getJSONObject(0).getString(&quot;code&quot;));<br />
	}<br />
    }</p>
<p>    private static void addSushi(String authToken, String inventoryStr, Integer merchantId)<br />
    {<br />
	JSONObject inventory = JSONObject.fromObject(inventoryStr);<br />
	// We need all this info<br />
	String itemId = null;<br />
	Integer quantity = null;<br />
	String itemNotes = &quot;Extra fishies please&quot;;// optional<br />
	Map&lt;String,Integer&gt; optionQuantities = new HashMap&lt;String,Integer&gt;();</p>
<p>	JSONArray menus = inventory.getJSONArray(&quot;menu&quot;);<br />
	for (int i = 0; i &lt; menus.size(); i++)<br />
	{<br />
	    //I'm using the &quot;Full Menu&quot; because it doesn't have a schedule. It's available all day.<br />
	    if (menus.getJSONObject(i).getString(&quot;name&quot;).equals(&quot;Full Menu&quot;))<br />
	    {<br />
		JSONArray fullMenuSections = menus.getJSONObject(i).getJSONArray(&quot;children&quot;);<br />
		for(int j = 0; j &lt; fullMenuSections.size(); j++)<br />
		{<br />
		    //I feel like a normal sushi rull so I just want to view that section of the menu<br />
		    if(fullMenuSections.getJSONObject(j).getString(&quot;name&quot;).equals(&quot;Rolls &amp; Hand Rolls&quot;))<br />
		    {<br />
			JSONArray rolls = fullMenuSections.getJSONObject(j).getJSONArray(&quot;children&quot;);<br />
			for(int k = 0; k &lt; rolls.size(); k++)<br />
			{<br />
			    //I'm craving fish so I'm going to get a spicy tuna roll.<br />
			    if(rolls.getJSONObject(k).getString(&quot;name&quot;).equals(&quot;Spicy Tuna Roll&quot;))<br />
			    {<br />
				JSONObject spicyTunaRoll = rolls.getJSONObject(k);<br />
				JSONArray  rollOptions = spicyTunaRoll.getJSONArray(&quot;children&quot;);</p>
<p>				itemId = spicyTunaRoll.getString(&quot;id&quot;);<br />
				quantity = spicyTunaRoll.getInt(&quot;max_qty&quot;); //I'm going to add the max quantity so I'm sure I'll be over the order minimum for this merchant.</p>
<p>				//Now I'm going to make sure I select any required options for this item<br />
				for(int l = 0; l &lt; rollOptions.size(); l++)<br />
				{<br />
				    JSONObject rollOptionGroup = rollOptions.getJSONObject(l);</p>
<p>				    //Skipping any options that aren't required<br />
				    if(rollOptionGroup.getInt(&quot;min_selection&quot;) &gt; 0)<br />
				    {<br />
					JSONArray options = rollOptionGroup.getJSONArray(&quot;children&quot;);</p>
<p>					//I'm going to add the first one, using a minimum required quantity<br />
					optionQuantities.put(options.getJSONObject(0).getString(&quot;id&quot;), rollOptionGroup.getInt(&quot;min_selection&quot;));<br />
				    }<br />
				    else<br />
				    {<br />
					continue;<br />
				    }<br />
				}<br />
			    }<br />
			}<br />
		    }<br />
		}<br />
	    }<br />
	}</p>
<p>	WebResource resource = Client.create().resource(UriBuilder.fromUri(host + CUSTOMER_CART_URL + &quot;/&quot; + merchantId).clone().build().toASCIIString());<br />
	JSONObject formData = new JSONObject();<br />
	formData.put(&quot;order_type&quot;, ORDER_TYPE);<br />
	formData.put(&quot;client_id&quot;, CLIENT_ID);<br />
	formData.put(&quot;instructions&quot;, itemNotes);<br />
	String optionKeyToQuantity = &quot;&quot;;<br />
	for(Map.Entry&lt;String, Integer&gt; option : optionQuantities.entrySet())<br />
	    optionKeyToQuantity += &quot;\&quot;&quot; + option.getKey() + &quot;\&quot;: &quot; + option.getValue() + &quot;,&quot;;<br />
	String itemJsonString = &quot;{&quot; +<br />
							&quot;\&quot;item_id\&quot;: \&quot;&quot; + itemId + &quot;\&quot;,&quot; +<br />
							&quot;\&quot;item_qty\&quot;: &quot; + quantity + &quot;,&quot; +<br />
							&quot;\&quot;option_qty\&quot;: {&quot; + optionKeyToQuantity + &quot;},&quot; +<br />
						&quot;}&quot;;<br />
	JSONObject item = JSONObject.fromObject(itemJsonString);<br />
	formData.put(&quot;item&quot;, item.toString());</p>
<p>	ClientResponse res = resource.accept(MediaType.APPLICATION_JSON)<br />
		.type(MediaType.APPLICATION_JSON)<br />
		.header(GUEST_TOKEN, authToken)<br />
		.post(ClientResponse.class, formData.toString());</p>
<p>	if (res.getStatus() == ClientResponse.Status.OK.getStatusCode())<br />
	{<br />
	    return;<br />
	} else<br />
	{<br />
	    throw new RuntimeException(JSONObject.fromObject(res.getEntity(String.class)).getJSONArray(&quot;message&quot;).getJSONObject(0).getString(&quot;code&quot;));<br />
	}<br />
    }</p>
<p>    private static String viewCart(String guestToken, String accessToken, Integer merchantId, JSONObject address)<br />
    {<br />
	String url = host + CUSTOMER_CART_URL + &quot;/&quot; + merchantId;<br />
	WebResource resource = Client.create()<br />
				.resource(UriBuilder.fromUri(url)<br />
					.queryParam(&quot;client_id&quot;, CLIENT_ID)<br />
					.queryParam(&quot;zip&quot;, address.getString(&quot;zip_code&quot;))<br />
					.queryParam(&quot;city&quot;, address.getString(&quot;city&quot;))<br />
					.queryParam(&quot;state&quot;, address.getString(&quot;state&quot;))<br />
					.queryParam(&quot;latitude&quot;, address.getString(&quot;latitude&quot;))<br />
					.queryParam(&quot;longitude&quot;, address.getString(&quot;longitude&quot;))<br />
					.clone().build().toASCIIString());<br />
	ClientResponse res = resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE)<br />
				.header((guestToken == null) ? AUTH_TOKEN : GUEST_TOKEN, (guestToken == null) ? accessToken : guestToken)<br />
				.get(ClientResponse.class);</p>
<p>	if (res.getStatus() == ClientResponse.Status.OK.getStatusCode())<br />
	{<br />
	    String cart = res.getEntity(String.class);<br />
	    return cart;<br />
	} else<br />
	{<br />
	    throw new RuntimeException(JSONObject.fromObject(res.getEntity(String.class)).getJSONArray(&quot;message&quot;).getJSONObject(0).getString(&quot;code&quot;));<br />
	}<br />
    }</p>
<p>    private static String getOrder(String authToken, int orderId)<br />
    {<br />
	WebResource resource = Client.create().resource(UriBuilder.fromUri(host + ORDER_URL + &quot;/&quot; + orderId).clone().build().toASCIIString());<br />
	ClientResponse res = resource.type(MediaType.APPLICATION_JSON).header(AUTH_TOKEN, authToken).get(ClientResponse.class);</p>
<p>	if (res.getStatus() == ClientResponse.Status.OK.getStatusCode())<br />
	{<br />
	    String order = res.getEntity(String.class);<br />
	    return order;<br />
	} else<br />
	{<br />
	    throw new RuntimeException(JSONObject.fromObject(res.getEntity(String.class)).getJSONArray(&quot;message&quot;).getJSONObject(0).getString(&quot;code&quot;));<br />
	}<br />
    }</p>
<p>    private static String viewCCs(final String authToken)<br />
    {<br />
	String url = host + CC_URL;<br />
	WebResource resource = Client.create().resource(UriBuilder.fromUri(url).clone().build().toASCIIString());<br />
	ClientResponse res = resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).header(AUTH_TOKEN, authToken).get(ClientResponse.class);</p>
<p>	if (res.getStatus() == ClientResponse.Status.OK.getStatusCode())<br />
	{<br />
	    JSONArray ccInfoArray = JSONObject.fromObject(res.getEntity(String.class)).getJSONArray(&quot;cards&quot;);<br />
	    if (ccInfoArray.isEmpty())<br />
	    {<br />
		throw new RuntimeException(&quot;You need to add a credit card! Rerun me and do that&quot;);<br />
	    } else<br />
	    {<br />
		return ccInfoArray.getJSONObject(0).getString(&quot;cc_id&quot;);<br />
	    }<br />
	} else<br />
	{<br />
	    throw new RuntimeException(JSONObject.fromObject(res.getEntity(String.class)).getJSONArray(&quot;message&quot;).getJSONObject(0).getString(&quot;code&quot;));<br />
	}<br />
    }</p>
<p>    private static String checkout(String authToken, float tip, String orderNotes, int ccId, int locationId, int merchantId)<br />
    {<br />
	WebResource resource = Client.create().resource(UriBuilder.fromUri(host + CHECKOUT_URL + &quot;/&quot; + merchantId + &quot;/checkout&quot;).clone().build().toASCIIString());<br />
	JSONObject formData = new JSONObject();<br />
	formData.put(&quot;instructions&quot;, orderNotes);<br />
	formData.put(&quot;tip&quot;, tip);<br />
	formData.put(&quot;location_id&quot;, locationId);<br />
	formData.put(&quot;order_type&quot;, &quot;delivery&quot;);</p>
<p>	JSONArray payments = new JSONArray();<br />
	JSONObject payment =  new JSONObject();<br />
	payment.put(&quot;type&quot;, &quot;credit_card&quot;);<br />
	payment.put(&quot;id&quot;, ccId);<br />
	payments.add(payment);<br />
	formData.put(&quot;payments&quot;, payments);</p>
<p>	ClientResponse res = resource.accept(MediaType.APPLICATION_JSON)<br />
		.type(MediaType.APPLICATION_JSON).header(AUTH_TOKEN, authToken)<br />
		.post(ClientResponse.class, formData.toString());</p>
<p>	if (res.getStatus() == ClientResponse.Status.OK.getStatusCode())<br />
	{<br />
	    return res.getEntity(String.class);<br />
	} else<br />
	{<br />
	    throw new RuntimeException(JSONObject.fromObject(res.getEntity(String.class)).getJSONArray(&quot;message&quot;).getJSONObject(0).getString(&quot;code&quot;));<br />
	}<br />
    }<br />
}<br />

Leave a Reply

Your email address will not be published.


× 1 = three

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>