#!/usr/bin/perl

if(!$includes_implemented){
	require 'includes/include_all.cgi';
	$includes_implemented++;
}

&showProducts;
&templateEndPrint;
exit;


sub showProducts{
	&templateStartReplace("<<TITLE>>", "<title>Koegel Meats Recipes</title>");
	&templateStartReplace("<<DESCRIPTION>>", '<meta name="description" content="Koegel Fine Meat Products, available in Michigan, Ohio, Indiana, and Kentucky.">');
	&templateStartReplace("<<FACEBOOK>>", "");
	&templateStartPrint;
	
	$myquery{'get_products'} = "SELECT products.id, products.product_id, products.name, products.size, products.description, products.ingredients, products.gluten_free, products.product_image, products.nutrition_image, recipes_products.id FROM products
	LEFT JOIN recipes_products ON (products.product_id = recipes_products.product_id)
	WHERE products.status = 'Web' AND products.product_id != '59' AND products.product_id != '480'
	GROUP BY products.product_id
	ORDER BY products.name";
	$query_handle{'get_products'} = $connect->prepare($myquery{'get_products'});
	$query_handle{'get_products'}->execute();
	$query_handle{'get_products'}->bind_columns(undef, \$product{'id'}, \$product{'product_id'}, \$product{'name'}, \$product{'size'}, \$product{'description'}, \$product{'ingredients'}, \$product{'gluten_free'}, \$product{'product_image'}, \$product{'nutrition_image'}, \$product{'recipe'});
	while($query_handle{'get_products'}->fetch()) {
		if($product{'product_image'}){
			$product{'product_image'} = "<img src=\"/products2013/$product{'product_image'}\" style=\"width: 250px;\">";
		}
		if($product{'nutrition_image'}){
			$product{'nutrition_image'} = "<img src=\"/products2013/$product{'nutrition_image'}\" style=\"width: 250px;\">";
		}

		if($product{'size'}){
			$product{'size'} = " - $product{'size'}";
		}

		# if($zipcode_cookie){
		# 	$find_link = "<p><a href=\"/locations/?zipcode=$zipcode_cookie&product=$product{'id'}\" class=\"btn btn-primary\">Locate Near $zipcode_cookie</a></p>";
		# }
		# else{
		# 	$find_link = "<form action=\"/pbl/\">
		# 		<input type=\"hidden\" name=\"p\" value=\"$product{'product_id'}\">
		# 		<div class=\"row\">
		# 			<div class=\"col col-md-3\" style=\"padding-right: 0px; margin-right: 0px;\">
		# 				<input type=\"text\" name=\"z\" placeholder=\"Zip Code\" class=\"form-control\">
		# 			</div>
		# 			<div class=\"col col-md-5\" style=\"padding-right: 0px; margin-right: 0px;\">
		# 				<select name=r class=\"form-control\">
		# 					<option value=\"30\">Within 30 miles</option>
		# 					<option value=\"40\">Within 40 miles</option>
		# 					<option value=\"50\">Within 50 miles</option>
		# 					<option value=\"75\">Within 75 miles</option>
		# 				</select>
		# 			</div>
		# 			<div class=\"col col-md-4\" style=\"padding-right: 0px; margin-right: 0px;\">
		# 				<button type=\"submit\" class=\"btn btn-primary btn-block\">Find Near Me</button>
		# 			</div>
				
				
		# 		</div>
		# 	</form>";
		# }

		$find_link = "<form action=\"/pbl/\" method=\"get\">
			<input type=\"hidden\" name=\"p\" value=\"$product{'product_id'}\">
			<div class=\"row\">
				<div class=\"col col-md-3\" style=\"padding-right: 0px; margin-right: 0px;\">
					<input type=\"text\" name=\"z\" placeholder=\"Zip Code\" class=\"form-control\">
				</div>
				<div class=\"col col-md-5\" style=\"padding-right: 0px; margin-right: 0px;\">
					<select name=r class=\"form-control\">
						<option value=\"30\">Within 30 miles</option>
						<option value=\"40\">Within 40 miles</option>
						<option value=\"50\">Within 50 miles</option>
						<option value=\"75\">Within 75 miles</option>
					</select>
				</div>
				<div class=\"col col-md-4\" style=\"padding-right: 0px; margin-right: 0px;\">
					<button type=\"submit\" class=\"btn btn-primary btn-block\">Find Near Me</button>
				</div>
			
			
			</div>
		</form>";

		my $recipe_link;
		if($product{'recipe'}){
			$recipe_link = "";
		}
		else{
			$recipe_link = "";
		}

		my $gluten_free;
		if($product{'gluten_free'}){
			$gluten_free = "<br> <span class=\"gluten-free\">Gluten Free</span>";
		}

		push(@products_exist, "<tr style=\"border-bottom: 0px;\">
			<td width=\"50%\"><p><h3>$product{'name'} $product{'size'} $gluten_free</h3> $product{'description'} </p> <b>Ingredients</b> <p>$product{'ingredients'}</p> $find_link </td>
			<td>$product{'product_image'} <br> $recipe_link</td>
			<td>$product{'nutrition_image'}</td>
		</tr>");
	}


	print<<ENDPRINT;
		<style>
			.gluten-free{
				font-size: 14px;
				font-weight: bold;
				color: blue;
			}
		</style>

		<h2>Koegel's Line of Fine Meat Products</h2>
		<div class='table-responsive'>
			<table border=0 cellpadding=2 cellspacing=2 class='table'>
				@products_exist
			</table>
		</div>
ENDPRINT
}

sub searchLocations{
	&templateStartReplace("<<TITLE>>", "<title>Koegel Meats Recipes</title>");
	&templateStartReplace("<<DESCRIPTION>>", '<meta name="description" content="Koegel Fine Meat Products, available in Michigan, Ohio, Indiana, and Kentucky.">');
	&templateStartReplace("<<FACEBOOK>>", "");
	&templateStartPrint;
	
	my $zipcode=$query->param('zipcode');

	$myquery{'get_zip'} = "SELECT latitude, longitude FROM zipcodes WHERE zipcode = ?";
	$query_handle{'get_zip'} = $connect->prepare($myquery{'get_zip'});
	$query_handle{'get_zip'}->execute("$zipcode");
	$query_handle{'get_zip'}->bind_columns(undef, \$zip{'latitude'}, \$zip{'longitude'});
	while($query_handle{'get_zip'}->fetch()) {
	}

	$myquery{'get'} = "SELECT id, name, address, city, state, zip,
	( 3959 * acos( cos( radians(?) )
	* cos( radians( Latitude ) )
	* cos( radians( Longitude ) - radians(?) )
	+ sin( radians(?) )
	* sin( radians( Latitude ) ) ) ) AS distance
	FROM customers
	HAVING distance < ?
	ORDER BY distance";
	$query_handle{'get'} = $connect->prepare($myquery{'get'});
	$query_handle{'get'}->execute("$zip{'latitude'}", "$zip{'longitude'}", "$zip{'latitude'}", "15");
	$query_handle{'get'}->bind_columns(undef, \$customer{'id'}, \$customer{'name'}, \$customer{'address'}, \$customer{'city'}, \$customer{'state'}, \$customer{'zip'}, \$customer{'distance'});
	while($query_handle{'get'}->fetch()) {
		$count_locations++;
		my $color;

		if($count_locations eq "1"){
			$color = "EEEEEE";
		}
		else{
			$color = "FFFFFF";
			undef $count_locations;
		}

		my $distance = sprintf("%.1f", $customer{'distance'});

		push(@location_rows, "<tr valign=top bgcolor=#EEEEEE>
					<td nowrap>About $distance mile(s)</td>
					<td><a href=\"/locations/$customer{'id'}\">$customer{'name'}</a></td>
					<td>$customer{'address'}</td>
					<td>$customer{'city'}</td>
					<td>$customer{'state'}</td>
					<td>$customer{'zip'}</td>
				</tr>");
	}

	print<<ENDPRINT;
		<h2>Koegel's Locations</h2>
		<div id='within'>
			Locations within 100 mile radius of Birch Run, MI
		</div>
		<br>
		<div class="visible-xs">
			<span class="red">Mobile users, swipe left to right if you can't view the full table.</span>
		</div>
		<div class='table-responsive'>
			<table border=0 cellpadding=2 cellspacing=2 class='table'>
				<tr valign=top bgcolor=#DBDBDD>
					<td><B>Distance</B></td>
					<td><B>Retailer</B></td>
					<td><B>Street Address</B></td>
					<td><B>City</B></td>
					<td><B>State</B></td>
					<td><B>Zip&nbsp;Code</B></td>
				</tr>
				@location_rows
			</table>
		</div>
ENDPRINT
}

sub viewLocation{
	&templateStartReplace("<<TITLE>>", "<title>Koegel Meats Recipes</title>");
	&templateStartReplace("<<DESCRIPTION>>", '<meta name="description" content="Koegel Fine Meat Products, available in Michigan, Ohio, Indiana, and Kentucky.">');
	&templateStartReplace("<<FACEBOOK>>", "");
	&templateStartPrint;
	
	my $location=$query->param('location');

	$myquery{'location'} = "SELECT customer_id, name, address, city, state, zip FROM customers WHERE id = ?";
	$query_handle{'location'} = $connect->prepare($myquery{'location'});
	$query_handle{'location'}->execute("$location");
	$query_handle{'location'}->bind_columns(undef, \$customer{'id'}, \$customer{'name'}, \$customer{'address'}, \$customer{'city'}, \$customer{'state'}, \$customer{'zip'});
	while($query_handle{'location'}->fetch()) {
	}

	$myquery{'get_products'} = "SELECT products.id, products.name, products.size, products.description, products.gluten_free, products.product_image, products.nutrition_image FROM products
	JOIN invoices_products ON (products.product_id = invoices_products.product_id)
	JOIN invoices_customers ON (invoices_products.invoice_id = invoices_customers.invoice_id AND invoices_customers.customer_id = ?)
	WHERE products.status = 'Web'
	GROUP BY products.id";
	$query_handle{'get_products'} = $connect->prepare($myquery{'get_products'});
	$query_handle{'get_products'}->execute("$customer{'id'}");
	$query_handle{'get_products'}->bind_columns(undef, \$product{'id'}, \$product{'name'}, \$product{'size'}, \$product{'description'}, \$product{'gluten_free'}, \$product{'product_image'}, \$product{'nutrition_image'});
	while($query_handle{'get_products'}->fetch()) {
		if($product{'product_image'}){
			$product{'product_image'} = "<img src=\"/products2013/$product{'product_image'}\" style=\"width: 250px;\">";
		}
		if($product{'nutrition_image'}){
			$product{'nutrition_image'} = "<img src=\"/products2013/$product{'nutrition_image'}\" style=\"width: 250px;\">";
		}

		if($product{'size'}){
			$product{'size'} = " - $product{'size'}";
		}

		my $gluten_free;
		if($product{'gluten_free'}){
			$gluten_free = "<br> <span class=\"gluten-free\">Gluten Free</span>";
		}

		push(@products_exist, "<tr>
			<td width=\"50%\"><p><h3>$product{'name'} $product{'size'} $gluten_free</h3> $product{'description'} </p></td>
			<td>$product{'product_image'}</td>
			<td>$product{'nutrition_image'}</td>
		</tr>");
	}

	print<<ENDPRINT;
		<style>
			.gluten-free{
				font-size: 14px;
				font-weight: bold;
				color: blue;
			}
		</style>
	
		<h2>$customer{'name'}</h2>
		<p>$customer{'address'} <br> $customer{'city'}, $customer{'state'} $customer{'zip'}</p>
		<hr>
		<a href="/products/" class="btn btn-primary">Don't see the product you're looking for? Click here.</a>
		<hr>
		<div class='table-responsive'>
			<table border=0 cellpadding=2 cellspacing=2 class='table'>
				@products_exist
			</table>
		</div>
ENDPRINT
}

sub getAction{
	my $action=$query->param('action');

	if($action eq "view_location"){
		&viewLocation;
	}
	else{
		&searchLocations;
	}
}

exit;
