// JavaScript Document

var timeout = 200;
var closetimer = 0;
var ddmenuitem = 0;
var maxlat = -85.0;
var maxlng = -180.0;
var minlat = 85.0;
var minlng = 180.0;
var bounds;
var newzoom3;
var map;
var dlat;
var dlng;
var MarkersCollection = new Array();
function setMakerData(i, evalu, contenturl, tempurl) {

	if (evalu[i][0].Latitude != null && evalu[i][0].Longitude != null) {
		// alert("inside setMarker");
		dlat = evalu[i][0].Latitude;
		dlng = evalu[i][0].Longitude;
		if (parseFloat(minlat) > parseFloat(dlat)) {
			// alert("1 Before min lat :" + minlat);
			minlat = parseFloat(dlat);
			// alert("2 After min lat:" + minlat);
		}
		if (parseFloat(maxlat) < parseFloat(dlat)) {
			// alert("3 Before maxlat :" + maxlat);
			maxlat = parseFloat(dlat);
			// alert("4 After maxlat :" + maxlat);
		}
		if (parseFloat(minlng) > parseFloat(dlng)) {
			// alert("5 Before min lng:" + minlng);
			minlng = parseFloat(dlng);
			// alert("6 After min lng:" + minlng);
		}
		if (parseFloat(maxlng) < parseFloat(dlng)) {
			// alert("7 Before max lng:" + maxlng);
			maxlng = parseFloat(dlng);
			// alert("8 After max lng:" + maxlng);
		}

		// alert(GData.result[i].latitude+" , "+ GData.result[i].longitude);
		var marker = new GMarker(new GLatLng(evalu[i][0].Latitude,
				evalu[i][0].Longitude));
		map.addOverlay(marker);
		MarkersCollection[i] = marker;
		GEvent
				.addListener(marker,
						"click",
						function() {
							var j = 0;
							for (j = 0; j < MarkersCollection.length; j++) {
								// alert(MarkersCollection[j].getPoint() + " " +
								// marker.getPoint());
						if (MarkersCollection[j].getPoint() == marker
								.getPoint()) {

							var html = '<div style="display: block; float: left; padding: 7px; margin: 2px 0pt; width: 333px;">';
							html += '<img src="'
									+ contenturl
									+ '/blogs.dir/'
									+ evalu[j][0].blog_id
									+ '/'
									+ evalu[j][0].logo
									+ '" style="max-width:100px;max-height: 100px;float:left;margin-right:7px;" />';
							html += '<div style="float:left;width:150px;text-align: left;">';
							html += '<span style="color:#6B9301;">' + evalu[j][1] + '</span><br/>';
							html += evalu[j][0].address2 + " "
									+ evalu[j][0].address2 + " "
									+ evalu[j][0].city + " "
									+ evalu[j][0].state + " "
									+ evalu[j][0].zipcode;
							html += '<span style="margin-top:10px">' + evalu[j][2] + '</span>';
							html += '</div>';
							html += '</div>';
							marker.openInfoWindowHtml(html);
							break;

						}
					}
					// alert("HI");
				});
	}
}
function addmarkers(evalu, contenturl, tempurl) {
	for ( var i = 0; i < evalu.length; i++) {

		setMakerData(i, evalu, contenturl, tempurl);

		bounds = new GLatLngBounds(new GLatLng(maxlat, minlng), new GLatLng(
				minlat, maxlng));

		newzoom3 = map.getBoundsZoomLevel(bounds);

		newcenter3 = bounds;

		// alert(newcenter3+","+newzoom3);//((34.0738, -118.3994), (34.0738,
		// -118.3994)),21
		// map.setCenter(new
		// GLatLng(evalu[i][0].Latitude,evalu[i][0].Longitude), 13);

	}
}
function initialize(evalu, contenturl, tempurl) {
	// alert(evalu.length);
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("getSellerMapInner"));

		map.setCenter(new GLatLng(evalu[0][0].Latitude, evalu[0][0].Longitude),
				10);
		map.setUIToDefault();
		addmarkers(evalu, contenturl, tempurl);

	}
}

function getSellerListByZip(adminurl, pid, pickup, scope) {

	var pickup = pickup || 'pickup';
	var scope = scope || 'local';

	// check to see if a radio button is set which states that the order is to
	// be shipped.
	try {
		var radioval = jQuery('input:radio[name=order_radio]:checked').val();
		if (radioval == 'Ship it') {
			pickup = 'shipping';
			scope = 'national';
		}
	} catch (err) {
		// do nothing we were just checking to see if it was set
	}

	var zipcode = document.getElementById('txtsellerzip').value;
	var variant;
	var quant;
	// var pid;
	// var variant=document.getElementById('txtsellerzip').value;
	var varDD = document.getElementsByName('variation');
	for ( var i = 0; i < varDD.length; i++) {
		variant = varDD[i].value;
	}

	var quantDD = document.getElementsByName('quantity');
	for ( var j = 0; j < quantDD.length; j++) {
		quant = quantDD[j].value;
	}
	// var pidDD = document.getElementsByName('product_id');
	// for ( var k = 0; k < pidDD.length; k++) {
	// pid = pidDD[k].value;
	// }
	var ajaxurl = adminurl + 'admin-ajax.php';

	var data = 'action=zip_action&zipcode=' + zipcode + '&pid=' + pid
			+ "&variant=" + variant + "&quant=" + quant;
	if (scope == 'national') {
		data = data + "&national=true";
	}
	;
	if (pickup == 'shipping') {
		data = data + "&shipping=true";
	}
	;

	jQuery.post(ajaxurl, data, function(response) {

		if (response == 1) {
			// alert("if");
		} else {
			// alert(response);

			document.getElementById('getSellerLstInner').innerHTML = "";
			document.getElementById('getSellerLstInner').innerHTML = response;
			document.getElementById('getSellerMap').style.display = "none";
			document.getElementById('getSellerLst').style.display = "block";
		}
	});
}

function getSellerMapByZip(adminurl, tempurl, contenturl, pid, pickup, scope) {
	var pickup = pickup || 'pickup';
	var scope = scope || 'local';
	// check to see if a radio button is set which states that the order is to
	// be shipped.
	try {
		var radioval = jQuery('input:radio[name=order_radio]:checked').val();
		if (radioval == 'Ship it') {
			pickup = 'shipping';
			scope = 'national';
		}
	} catch (err) {
		// do nothing we were just checking to see if it was set
	}
	// alert("functiin");
	var zipcode = document.getElementById('txtsellerzip').value;
	var variant;
	var quant;
	// var variant=document.getElementById('txtsellerzip').value;
	var varDD = document.getElementsByName('variation');
	for ( var i = 0; i < varDD.length; i++) {
		variant = varDD[i].value;
	}

	var quantDD = document.getElementsByName('quantity');
	for ( var j = 0; j < quantDD.length; j++) {
		quant = quantDD[j].value;
	}

	var ajaxurl = adminurl + 'admin-ajax.php';
	var data = 'action=map_action&zipcode=' + zipcode + '&pid=' + pid
			+ "&variant=" + variant + "&quant=" + quant;
	if (scope == 'national') {
		data = data + "&national=true";
	}
	;
	if (pickup == 'shipping') {
		data = data + "&shipping=true";
	}
	;
	jQuery
			.post(ajaxurl,
					data,
					function(response) {

						if (response == 1) {
							// alert("if");
				} else {
					document.getElementById('getSellerLst').style.display = "none";
					document.getElementById('getSellerMap').style.display = "block";
					if(jQuery.isEmptyObject(eval('(' + response + ')'))){
						
						if(scope=='local'){
							var content = "<p>Found 0 retailers within a radius of "
								+ zipcode
								+ "<img src='"
								+ tempurl
								+ "/images/cancel_div.png' width='14px' height='14px' style='float:right;' onclick='hideSellerDivMap()'>";
							content += '<a href="javascript:void(0)" onclick="getSellerMapByZip(\''+adminurl+'\', \''+tempurl+'\', \''+contenturl+'\', \''+pid+'\',\'shipping\',\'national\');"><img src="'+tempurl+'/images/ship_from.jpg" width="180" height="26" /></a></p>';
							}else{
							var content = "<p>Found 0 retailers offering national shipping. <img src='"
								+ tempurl
								+ "/images/cancel_div.png' width='14px' height='14px' style='float:right;' onclick='hideSellerDivMap()'>";
							
						};
						document.getElementById('getSellerMap').style.width = "362px";
						document.getElementById('getSellerMap').style.height = "60px";

						document.getElementById('getSellerMapInner').style.width = "0px";
						document.getElementById('getSellerMapInner').style.height = "0px";
						content += '</p>';
						}else{
							
							var evalu = eval('(' + response + ')');
							var content = "<p>Found "
									+ evalu.length
									+ " retailers within a radius of "
									+ zipcode
									+ "<img src='"
									+ tempurl
									+ "/images/cancel_div.png' width='14px' height='14px' style='float:right;' onclick='hideSellerDivMap()'>";

							// alert(evalu.toSource());

							if (evalu.length == 0) {
								content += '<a href="#" style="text-align:center;margin-left:75px;"><img src="' + tempurl + '/images/ship_from.jpg" width="180" height="26" /></a>';
								document.getElementById('getSellerMap').style.width = "362px";
								document.getElementById('getSellerMap').style.height = "60px";

								document.getElementById('getSellerMapInner').style.width = "0px";
								document.getElementById('getSellerMapInner').style.height = "0px";
							} else {
								document.getElementById('getSellerMap').style.width = "516px";
								document.getElementById('getSellerMap').style.height = "322px";

								document.getElementById('getSellerMapInner').style.width = "500px";
								document.getElementById('getSellerMapInner').style.height = "290px";

								initialize(evalu, contenturl, tempurl);
							}
							content += '</p>';
							};
					

					document.getElementById('seller_details').innerHTML = "";
					document.getElementById('seller_details').innerHTML = content;
				}
			});
}
function hideSellerDiv() {

	document.getElementById('getSellerLst').style.display = "none";
}
function hideSellerDivMap() {

	document.getElementById('getSellerMap').style.display = "none";
}

// add to cart buttons in local retailer search

function add_seller_product_to_cart(home_url, seller_blog_id,
		seller_product_id, variation, quantity, is_pickup) {
	// setup ajax data
	var ajaxurl = home_url + 'wp-admin/admin-ajax.php';
	var data = 'action=mp-updateB-cart&seller_blog_id=' + seller_blog_id
			+ '&product_id=' + seller_product_id + "&variation=" + variation
			+ "&quantity=" + quantity + "&is_pickup=" + is_pickup;

	// add the product to the cart via ajax
	jQuery.post(ajaxurl, data, function(response) {
		if (response == 'success') {
			// redirect to the global shopping cart page
			window.location = home_url + "store/shopping-cart/";
		} else {
			jQuery('.product_details_right').prepend(
					'<strong>' + response + '</strong>');
		}
	});

}



function jsddm_open() {
	jsddm_canceltimer();
	jsddm_close();
	ddmenuitem = $(this).find('ul').eq(0).css('visibility', 'visible');
	$(this).find('ul').slideDown(300);
}

function jsddm_close() {
	if (ddmenuitem) {
		$(this).find('ul').slideUp(300);
		ddmenuitem.css('visibility', 'hidden');

	}
}
function jsddm_timer() {
	closetimer = window.setTimeout(jsddm_close, timeout);
}

function jsddm_canceltimer() {
	if (closetimer) {
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

jQuery(document).ready(function($j) {
	$j('#nav > li > a').addClass('level1');

	$j('#nav > li').bind('mouseover', jsddm_open);
	$j('#nav > li').bind('mouseout', jsddm_timer);

	/*
	 * $("ul#slides").cycle({ fx: 'fade', prev: '#prev', next: '#next', speed:10
	 * });
	 */

});
