	var loading = false;
	var ajaxGiftUrl =  '/commerce/giftcard-redeemption-ajax.vs';
	


function serveGCLandingPage()
{
	$('div#gc_errorzone').hide();
	$('div#validMessage').hide();
	loading = true;
	$('span#progress_zone').show();
	cmCreateConversionEventTag("GC Landing Page/GiftServices : GC Balance Check","1", "Gift Card Balance", 0);
		$.post(
	ajaxGiftUrl,
	{originPage: "giftCertificates.jsp", operation: "checkbalance", pin: $('input#pin').val(), giftcardnumber:$('input#giftcardnumber').val()},
	function(mydata)
	{
		loading = false;
		$('span#progress_zone').hide();
		if(mydata.response == 'ok')
		{
			// display balance on success
			$('div#gc_errorzone').fadeOut("slow", function() {
				$('div#gc_errorzone').addClass("margin-t-10");
				$('div#validMessage').html("<p>"+mydata.message+"</p>");
				$('div#validMessage').fadeIn("slow");
			});
			cmCreateConversionEventTag("GC Landing Page/GiftServices : GC Balance Check","2", "Gift Card Balance", 0);
			
		}
		// needs logic to discern an error from success
		if(mydata.response == 'error')
		{
			// display error
			$('div#gc_errorzone').fadeOut("slow", function() {
				$('div#gc_errorzone').addClass("highlevel-alert");
				$('div#validMessage').fadeOut("slow");
				$('div#gc_errorzone').html("<p>"+mydata.message+"</p>");
				$('div#gc_errorzone').fadeIn("slow");
			});

			if(parseInt(mydata.errorcount) > 4)
			{
				$('table#gc-table').hide();

			}
		}
		
		//function in vsdGCLandingPage, sets column height of right column based on left column
		setEqualColumnHeight();

		document.getElementById("giftcardnumber").value = "";
		document.getElementById("pin").value = "";
		$('input#giftcardnumber').focus();
		
	}, "json");	// end for getJSON
	
}// end serveGCLandingPage()

// ordersummary with e-giftcard, will show a layer which calls the below method on click of apply.
// this is named as 1 as this is for version-1 (i.e. page with EGC)
function serveGCOrderSummaryApply1()
{
		$("#giftcard-progress-zone").show();
		$('div#giftcarderror').hide();
		$('div#giftcardbalance').hide();
					$.post(
					    ajaxGiftUrl,
				{giftcardnumber : $('input#giftcardnumber_EGC').val(), pin : $('input#pin_EGC').val(), operation : 'apply', originPage: 'giftCertificates.jsp'},
	function(mydata)
	{
					$("#giftcard-progress-zone").hide();
							//check if the response is ok.
		if(mydata.response == 'ok')
		{
			// if ok, submit the page to checkout-vs
			orderSummaryForm.action = 'checkout-orderSummary.vs?namespace=checkout-orderSummary&origin=orderSummary.jsp&event=link.refreshPage&autoscroll=EGC&useEGC='+$('input#useEGC').val();
			orderSummaryForm.submit();
		}
		if(mydata.response == 'error')
		{
			// if not ok, update error message and show the page
			$('div#giftcarderror').fadeOut("slow", function() {
				$('div#giftcardbalance').fadeOut("slow");
				$('div#giftcarderror').html("<p>"+mydata.message+"</p>");
				$('div#giftcarderror').fadeIn("slow");
			});
			if(parseInt(mydata.errorcount) > 4)
			{
				$('div#moreGCslink').hide();								
				var row1_ver1 = document.getElementById("gcLabel1");
				var row2_ver1 = document.getElementById("gcLabel2");
				var row1_ver2 = document.getElementById("gcLabel1_noegc");
				var row2_ver2 = document.getElementById("gcLabel2_noegc");

				// to lockout, hide version 1
				row1_ver1.style.display = 'none';
				row2_ver1.style.display = 'none';

				//to lockout, hide version 2
				row1_ver2.style.display = 'none';
				row2_ver2.style.display = 'none';
				
				// hide instructional text
				$("#gcMessage_withoutEGC").html("");
				$("#gcMessage_withEGC").html("");

			}

					}
				}, "json");	// end for post
						document.getElementById("giftcardnumber_EGC").value = "";
						document.getElementById("pin_EGC").value = "";
						$('input#giftcardnumber_EGC').focus();

}
			
// ordersummary with e-giftcard, will show a layer which calls the below method on click of check balance.
// this is named as 1 as this is for version-1 (i.e. page with EGC)
function serveGCOrderSummaryCB1()
{
		$("#giftcard-progress-zone").show();
		$('div#giftcarderror').hide();
		$('div#giftcardbalance').hide();
 cmCreateConversionEventTag("Order Summary : GC Balance Check","1", "Gift Card Balance", 0);
		$.post(
					    ajaxGiftUrl, 
				{giftcardnumber : $('input#giftcardnumber_EGC').val(), pin : $('input#pin_EGC').val(), operation : 'checkbalance', originPage: 'orderSummary.jsp'},
				function(mydata)
				{
					$("#giftcard-progress-zone").hide();
					if(mydata.response == 'error')
					{
						$('div#giftcarderror').fadeOut("slow", function() {
							$('div#giftcardbalance').fadeOut("slow");
							$('div#giftcarderror').html("<p>"+mydata.message+"</p>");
							$('div#giftcarderror').fadeIn("slow");
						});
						if(parseInt(mydata.errorcount) > 4)
						{
							$('div#moreGCslink').hide();
							var row1_ver1 = document.getElementById("gcLabel1");
							var row2_ver1 = document.getElementById("gcLabel2");
							var row1_ver2 = document.getElementById("gcLabel1_noegc");
							var row2_ver2 = document.getElementById("gcLabel2_noegc");


				//to lockout, hide version 1
				row1_ver1.style.display = 'none';
				row2_ver1.style.display = 'none';

				//to lockout, hide version 2
				row1_ver2.style.display = 'none';
				row2_ver2.style.display = 'none';
				
				// hide instructional text
				$("#gcMessage_withoutEGC").html("");
				$("#gcMessage_withEGC").html("");
			}

			cmCreateConversionEventTag("Order Summary : GC Balance Check","2", "Gift Card Balance", 0);
		}
		if(mydata.response == 'ok')
		{

			$('div#giftcardbalance').fadeOut("slow", function() {
				$('div#giftcarderror').fadeOut("slow");
				$('div#giftcardbalance').html(mydata.message);
				$('div#giftcardbalance').fadeIn("slow");
			});
		}
					$('input#giftcardnumber_EGC').focus();
	}, "json");// end for getJSON
}
	
// ordersummary with e-giftcard, will show a layer which calls the below method on click of apply.
// this is named as 2 as this is for version-2 (i.e. page with no EGC)
function serveGCOrderSummaryApply2()
{
	$("#giftcard-progress-zone2").show();
	$('div#giftcarderror').hide();
	$('div#giftcardbalance').hide();
	$.post(
	ajaxGiftUrl,
	{giftcardnumber : $('input#giftcardnumber_GC').val(), pin : $('input#pin_GC').val(), operation : 'apply', originPage: 'giftCertificates.jsp'},
	function(mydata)
	{
					$("#giftcard-progress-zone2").hide();
		//check if the response is ok.
		if(mydata.response == 'ok')
		{
			// if ok, submit the page to checkout-vs
			orderSummaryForm.action = 'checkout-orderSummary.vs?namespace=checkout-orderSummary&origin=orderSummary.jsp&event=link.refreshPage&autoscroll=GC&useEGC='+$('input#useEGC').val();
			orderSummaryForm.submit();
		}
		if(mydata.response == 'error')
		{
			// if not ok, update error message and show the page
			$('div#giftcarderror').fadeOut("slow", function() {
				$('div#giftcardbalance').fadeOut("slow");
				$('div#giftcarderror').html("<p>"+mydata.message+"</p>");
				$('div#giftcarderror').fadeIn("slow");
			});
			if(parseInt(mydata.errorcount) > 4)
			{
				$('div#moreGCslink').hide();								
				var row1_ver1 = document.getElementById("gcLabel1");
				var row2_ver1 = document.getElementById("gcLabel2");
				var row1_ver2 = document.getElementById("gcLabel1_noegc");
				var row2_ver2 = document.getElementById("gcLabel2_noegc");

				//to lockout, hide version 1
				row1_ver1.style.display = 'none';
				row2_ver1.style.display = 'none';

				//to lockout, hide version 2
				row1_ver2.style.display = 'none';
				row2_ver2.style.display = 'none';
				
				// hide instructional text
				$("#gcMessage_withoutEGC").html("");
				$("#gcMessage_withEGC").html("");

			}					
					}
				}, "json");	// end for post
						document.getElementById("giftcardnumber_GC").value = "";
						document.getElementById("pin_GC").value = "";
						$('input#giftcardnumber_GC').focus();

}

// ordersummary with e-giftcard, will show a layer which calls the below method on click of check balance.
// this is named as 2 as this is for version-2 (i.e. page with no EGC)
function serveGCOrderSummaryCB2()
{
	$("#giftcard-progress-zone2").show();
	$('div#giftcarderror').hide();
	$('div#giftcardbalance').hide();
	$('div#giftcarderror').fadeOut("slow");
	cmCreateConversionEventTag("Order Summary : GC Balance Check","1", "Gift Card Balance", 0);
		$.post(
	ajaxGiftUrl, 
	{giftcardnumber : $('input#giftcardnumber_GC').val(), pin : $('input#pin_GC').val(), operation : 'checkbalance', originPage: 'orderSummary.jsp'},
	function(mydata)
	{
		$("#giftcard-progress-zone2").hide();
		if(mydata.response == 'error')
		{
			$('div#giftcardbalance').fadeOut("slow", function() {
				$('div#giftcarderror').html("<p>"+mydata.message+"</p>");
				$('div#giftcarderror').fadeIn("slow");
			});

			if(parseInt(mydata.errorcount) > 4)
			{
				$('div#moreGCslink').hide();								
				var row1_ver1 = document.getElementById("gcLabel1");
				var row2_ver1 = document.getElementById("gcLabel2");
				var row1_ver2 = document.getElementById("gcLabel1_noegc");
				var row2_ver2 = document.getElementById("gcLabel2_noegc");
				
				//to lockout, hide version 1
				row1_ver1.style.display = 'none';
				row2_ver1.style.display = 'none';
				
				//to lockout, hide version 2
				row1_ver2.style.display = 'none';
				row2_ver2.style.display = 'none';
				
				// hide instructional text
				$("#gcMessage_withoutEGC").html("");
				$("#gcMessage_withEGC").html("");
			}						
			cmCreateConversionEventTag("Order Summary : GC Balance Check","2", "Gift Card Balance", 0);
		}
		if(mydata.response == 'ok')
		{
				$('div#giftcardbalance').fadeOut("slow", function() {
					$('div#giftcarderror').fadeOut("slow");
					$('div#giftcardbalance').html(mydata.message);
					$('div#giftcardbalance').fadeIn("slow");
				});
		}
					$('input#giftcardnumber_GC').focus();
				}, "json");// end for getJSON
}
