
/* BORDEAUX JAVASCRIPT */


$(document).ready(function(){

	function verifyAge() {
	
		$("#ageChecker").fadeIn("fast");
	
	}
	
	$("#bordeauxToolsTab1").click(function(event){
		
		$("#toolsTab1Image").attr("src", base_url + "resources/images/modules/pairingTab_on.gif");
		$("#toolsTab2Image").attr("src", base_url + "resources/images/modules/matchingTab.gif");
					
	});
	$("#bordeauxToolsTab2").click(function(event){
		
		$("#toolsTab1Image").attr("src", base_url + "resources/images/modules/pairingTab.gif");
		$("#toolsTab2Image").attr("src", base_url + "resources/images/modules/matchingTab_on.gif");
					
	});
	
	$("#chooseTabName").click(function(event){
	
		resetChooseTabs("name");
		$("#tabChooseByName").attr("src", base_url + "resources/images/choose/tabName_on.gif");
		$("#chooseByName").fadeIn("fast");
		
	});
	
	$("#chooseTabType").click(function(event){
	
		resetChooseTabs("type");
		$("#tabChooseByType").attr("src", base_url + "resources/images/choose/tabType_on.gif");
		$("#chooseByType").fadeIn("fast");
		
		
	});
		
	$("#chooseTabAppelation").click(function(event){
	
		resetChooseTabs("appellation");
		$("#tabChooseByAppelation").attr("src", base_url + "resources/images/choose/tabAppellation_on.gif");
		$("#chooseByAppelation").fadeIn("fast");

	});
	
	$("#chooseTabZip").click(function(event){
	
		resetChooseTabs("zip");
		$("#tabChooseByZip").attr("src", base_url + "resources/images/choose/tabZip_on.gif");
		$("#chooseByZip").fadeIn("fast");
		
	});
	
	
	
  	$("#loginbutton").click(function(event){

		if ($("#loginDialog").css('display')=="none") {
		
			$("#loginDialog").fadeIn("fast");
	
		} else {
	
			$("#loginDialog").fadeOut("fast");
	
		}
			
	});
	
	$("#loginbutton2").click(function(event){

		if ($("#loginDialog").css('display')=="none") {
		
			$("#loginDialog").fadeIn("fast");
	
		} else {
	
			$("#loginDialog").fadeOut("fast");
	
		}
			
	});
	
	$("#btnCancel").click(function(event){
		
		$("#loginDialog").fadeOut("fast");
		//window.location.replace("http://kids.com");
		
	});
	
	$("#btnLogin").click(function(event){
				
		strEmail = $("#loginEmailField").val();
		strPassword = $("#loginPasswordField").val();
		
		randomStr = randomString(); // this is to prevent caching in IE 8
		
		$.post(base_url + "ajax/login/" + randomStr,{    
			email: strEmail,
			password: strPassword  
			}, function(msg) {  
			
			if (msg == 'SUCCESS') {
				
				$("#loginHeader").fadeOut("fast");
				$("#loginFields").fadeOut("fast");
				$("#loginButtons").fadeOut("fast");
				    
				/*$("#welcomeBackImage")
					.fadeIn("fast")
					.animate({opacity: 1.0}, 1000)
				    .fadeOut('fast', function() {
				    	$("#welcomeBackImage").remove();
				    });*/

				$("#welcomeBackImage").fadeIn("fast");  
				
				
				$("#loginDialog")
					.animate({opacity: 1.0}, 1000,"linear", function() { $("#welcomeBackImage").fadeOut("fast"); })
				    .fadeOut('fast', function() {
				      window.location.reload(true);
				    });

			} else {
			
				alert(msg);
			
			}
			
		});
		
	});
	
	$("#ageCheckerContinueBtn").click(function(event){
		
		timestamp = new Date().getTime();
		
		randomStr = randomString(); // this is to prevent caching in IE 8
		
		/*$("body").prepend("<script type='text/javascript'>var ebRand = Math.random()+ ' ';ebRand = ebRand * 1000000;//<![CDATA[document.write('<scr'+'ipt src=\"HTTP://bs.serving-sys.com/BurstingPipe/ActivityServer.bs?cn=as&amp;ActivityID=44719&amp;rnd=' + ebRand + '\"></scr' + 'ipt>');//]]></script><noscript><img width='1' height='1' style='border:0' src=\"HTTP://bs.serving-sys.com/BurstingPipe/ActivityServer.bs?cn=as&amp;ActivityID=44719&amp;ns=1\" /></noscript>");*/
		
		$("body").prepend("<img width='1' height='1' style='border:0' src=\"HTTP://bs.serving-sys.com/BurstingPipe/ActivityServer.bs?cn=as&ActivityID=44719&ns=1\" />");

		$.post(base_url + "ajax/ageChecker/" + randomStr,{    
			time: timestamp  
			}, function(msg) {  
			
			if (msg == 'SUCCESS') {
			
				$("#ageChecker").fadeOut("fast");
			
			} else {
			
				alert(msg);
			
			}
			
		});
		
	});
	
	$("#ageCheckerCancelBtn").click(function(event){
		
		$("#ageCheckerCancelBtn").css('display','none');
		$("#ageCheckerContinueBtn").css('display','none');
		
		$("#ageCheckerMessage").attr('src',base_url+'resources/images/bg/ageCheckerSorry.gif');
	
		
	});

	
	


});

function resetChooseTabs (exclude) {

	if(exclude != "name") {
		$("#tabChooseByName").attr("src", base_url + "resources/images/choose/tabName.gif");
		$("#chooseByName").fadeOut(0);
	}
	if(exclude != "type") {
		$("#tabChooseByType").attr("src", base_url + "resources/images/choose/tabType.gif");
		$("#chooseByType").fadeOut(0);
	}
	if(exclude != "appellation") {
		$("#tabChooseByAppelation").attr("src", base_url + "resources/images/choose/tabAppellation.gif");
		$("#chooseByAppelation").fadeOut(0);
	}
	if(exclude != "zip") {
		$("#tabChooseByZip").attr("src", base_url + "resources/images/choose/tabZip.gif");
		$("#chooseByZip").fadeOut(0);
	}

}
function chooseInputFocusHandler(theField) {

	if ( theField.value == chooseSearchPrompt || theField.value == chooseZipPrompt ) {
		// Only clear on click the first time after the page is loaded
		theField.value = '';
		theField.clicked = true;
		theField.style.color = "#111";
	}
}

function showTypeInSelect() {
	
	$("#tabChooseByName").attr("src", base_url + "resources/images/choose/tabName.gif");
	$("#tabChooseByType").attr("src", base_url + "resources/images/choose/tabType_on.gif");
	
	$("#chooseByName").fadeOut(0,function(){
		$("#chooseByType").fadeIn("fast");
	});
	
}

function showAppelationInSelect() {
	
	$("#tabChooseByName").attr("src", base_url + "resources/images/choose/tabName.gif");
	$("#tabChooseByAppelation").attr("src", base_url + "resources/images/choose/tabAppellation_on.gif");
	//$("#tabChooseByAppelation").click();
	
	$("#chooseByName").fadeOut(0,function(){
		$("#chooseByAppelation").fadeIn("fast");
	});

}

function showZipInSelect() {
	
	$("#tabChooseByName").attr("src", base_url + "resources/images/choose/tabName.gif");
	$("#tabChooseByZip").attr("src", base_url + "resources/images/choose/tabZip_on.gif");
	
	$("#chooseByName").fadeOut(0,function(){
		$("#chooseByZip").fadeIn("fast");
	});
	
}


/*
function loadWines(command,searchText,zip) {

	zip = (typeof zip == 'undefined') ? 0 : zip;
	
	$("#searchResultsDiv").fadeOut("slow",function(){
			
		$("#ajaxLoading").fadeIn("fast");
			
		
		sortBy = $("#wineSortBy").val();
		maxPrice = $("#wineMax").val();
		var perPage = $("#itemsPerPage").val();
		
		if ($("#pageNumber").val())
			pageNum = $("#pageNumber").val();
		else
			pageNum = 1;
			
		if (command == 'pageforward') {
			
			pageNum++;
			
		} else if (command == 'pagebackward') {
		
			pageNum--;
		
		} else if (command == 'resetpagin') {
		
			pageNum = 1;
		
		}
		
	
		if (searchText == 'lastSearch') {
		
			searchText = $("#lastSearchQuery").val();
		
		} else {
		
			pageNum = 1;
			$("#lastSearchQuery").val(searchText);
		
		}
			
		searchText = 'bordeaux+france ' + searchText;
		
		//alert(zip);
		
		$.post(base_url + "ajax/fetchWines",{    
				searchText: searchText,
				zip: zip,
				maxPrice: maxPrice,
				perPage: perPage,
				pageNum: pageNum,
				sortBy:sortBy  
				}, function(data) {  
				
				if (data.success == 'true') {
					
					$("#searchResultsDiv").html(data.resultHTML);
					$("#ajaxLoading").fadeOut("fast");
					
					// assign returned values to pagination div
					
					$("#perPage").val(data.perPage);
					$("#pageNumber").val(data.pageNum);
					$("#paginTotalPages").html(data.numPages);
					
					// disable forward/back buttons if appropriate!
					
					if (pageNum == '1') {
					
						$('#paginBackBtn').css({'display' : 'none'});
						$('#paginBackBtn_disabled').css({'display' : 'block'});

				
					} else {
						
						
						$('#paginBackBtn_disabled').css({'display' : 'none'});
						$('#paginBackBtn').css({'display' : 'block'});
					
					}
					
					if (pageNum == data.numPages) {
					
						$('#paginFwdBtn').css({'display' : 'none'});
						$('#paginFwdBtn_disabled').css({'display' : 'block'});
					
					
					} else {
					
						$('#paginFwdBtn_disabled').css({'display' : 'none'});
						$('#paginFwdBtn').css({'display' : 'block'});
						
					
					}
					
					$("#searchResultsDiv").fadeIn("slow");
					
					
					$("div.resultWine").mouseover(function(){
					
						$(this).css('background','url('+base_url+'resources/images/wineResultBG.gif) 3px 5px no-repeat');
					
					}).mouseout(function(){
					
						$(this).css('background','none');
				   
				    });
							
				} else {  //no results
				
					//alert(data.resultHTML);
					$("#searchResultsDiv").html(data.resultHTML);
					$("#ajaxLoading").fadeOut("fast");
					$("#searchResultsDiv").fadeIn("slow");
					
					$("#perPage").val(data.perPage);
					$("#pageNumber").val(data.pageNum);
					$("#paginTotalPages").html(data.numPages);
					
					$('#paginBackBtn').css({'display' : 'none'});
					$('#paginBackBtn_disabled').css({'display' : 'block'});
					
					$('#paginFwdBtn').css({'display' : 'none'});
					$('#paginFwdBtn_disabled').css({'display' : 'block'});
				}
				
			},'json');
	
	
	
	});
	
	//$("#searchResultsDiv").fadeOut("fast");
	//$("#ajaxLoading").fadeIn("fast");
	
	

}
*/

function loadWines(command,searchText,zip) {

	zip = (typeof zip == 'undefined') ? 0 : zip;
	
	$("#searchResultsDiv").fadeOut("slow",function(){
			
		$("#ajaxLoading").fadeIn("fast");
			
		
		sortBy = $("#wineSortBy").val();
		maxPrice = $("#wineMax").val();
		var perPage = $("#itemsPerPage").val();
		
		if ($("#pageNumber").val())
			pageNum = $("#pageNumber").val();
		else
			pageNum = 1;
			
		/*
if (command == 'pageforward') {
			
			pageNum++;
			
		} else if (command == 'pagebackward') {
		
			pageNum--;
		
		} else if (command == 'resetpagin') {
		
			pageNum = 1;
		
		}
*/
		
	
		/*
if (searchText == 'lastSearch') {
		
			searchText = $("#lastSearchQuery").val();
		
		} else {
		
			pageNum = 1;
			$("#lastSearchQuery").val(searchText);
		
		}
*/
		
	
		searchText = 'bordeaux+france ' + searchText;
		
		
		$.post(base_url + "ajax/fetchWines",{    
				searchText: searchText,
				zip: zip,
				maxPrice: maxPrice,
				perPage: perPage,
				pageNum: pageNum,
				sortBy:sortBy				  
				}, function(data) {  
				
				if (data.success == 'true') {
					
					$("#searchResultsDiv").html(data.resultHTML);
					$("#ajaxLoading").fadeOut("fast");
					
					// assign returned values to pagination div
					
					$("#perPage").val(data.perPage);
					$("#pageNumber").val(data.pageNum);
					$("#paginTotalPages").html(data.numPages);
					
					// disable forward/back buttons if appropriate!
					
					if (pageNum == '1') {
					
						$('#paginBackBtn').css({'display' : 'none'});
						$('#paginBackBtn_disabled').css({'display' : 'block'});

				
					} else {
						
						
						$('#paginBackBtn_disabled').css({'display' : 'none'});
						$('#paginBackBtn').css({'display' : 'block'});
					
					}
					
					if (pageNum == data.numPages) {
					
						$('#paginFwdBtn').css({'display' : 'none'});
						$('#paginFwdBtn_disabled').css({'display' : 'block'});
					
					
					} else {
					
						$('#paginFwdBtn_disabled').css({'display' : 'none'});
						$('#paginFwdBtn').css({'display' : 'block'});
						
					
					}
					
					$("#searchResultsDiv").fadeIn("slow");
					
					
					$("div.resultWine").mouseover(function(){
					
						$(this).css('background','url('+base_url+'resources/images/wineResultBG.gif) 3px 5px no-repeat');
					
					}).mouseout(function(){
					
						$(this).css('background','none');
				   
				    });
							
				} else {  //no results
				
					//alert(data.resultHTML);
					$("#searchResultsDiv").html(data.resultHTML);
					$("#ajaxLoading").fadeOut("fast");
					$("#searchResultsDiv").fadeIn("slow");
					
					$("#perPage").val(data.perPage);
					$("#pageNumber").val(data.pageNum);
					$("#paginTotalPages").html(data.numPages);
					
					$('#paginBackBtn').css({'display' : 'none'});
					$('#paginBackBtn_disabled').css({'display' : 'block'});
					
					$('#paginFwdBtn').css({'display' : 'none'});
					$('#paginFwdBtn_disabled').css({'display' : 'block'});
				}
				
			},'json');
	
	
	
	});
	
	//$("#searchResultsDiv").fadeOut("fast");
	//$("#ajaxLoading").fadeIn("fast");
	
	

}

function loadTBWines(command) {
	
	//alert('load wines');
	
	$("#searchResultsDiv2").fadeOut("slow");	
	$("#searchResultsDiv1").fadeOut("slow",function(){
	
			
		$("#ajaxLoading").fadeIn("fast");
			
		
		//sortBy = $("#wineSortBy").val();
		maxPrice = $("#wineMax").val();
		color = $("#top100Color").val();
		vintage = $("#top100Vintage").val();
				
		var perPage = $("#itemsPerPage").val();
		
		if ($("#pageNumber").val())
			pageNum = $("#pageNumber").val();
		else
			pageNum = 1;
			
		/*
if (command == 'pageforward') {
			
			pageNum++;
			
		} else if (command == 'pagebackward') {
		
			pageNum--;
		
		} else if (command == 'resetpagin') {
		
			pageNum = 1;
		
		}
*/
		
		$.post(base_url + "ajax/fetchTBWines",{    
				maxPrice: maxPrice,
				color: color,
				vintage: vintage,
				perPage: perPage,
				pageNum: pageNum
				
				}, function(data) {  
				
				if (data.success == 'true') {
					
					//alert('we got data');
					
					$("#searchResultsDiv1").html(data.resultHTML1);
					$("#searchResultsDiv2").html(data.resultHTML2);
					$("#ajaxLoading").fadeOut("fast");
					
					// assign returned values to pagination div
					
					$("#perPage").val(data.perPage);
					$("#pageNumber").val(data.pageNum);
					$("#paginTotalPages").html(data.numPages);
					
					// disable forward/back buttons if appropriate!
					
					if (pageNum == '1') {
					
						$('#paginBackBtn').css({'display' : 'none'});
						$('#paginBackBtn_disabled').css({'display' : 'block'});

				
					} else {
						
						
						$('#paginBackBtn_disabled').css({'display' : 'none'});
						$('#paginBackBtn').css({'display' : 'block'});
					
					}
					
					if (pageNum == data.numPages) {
					
						$('#paginFwdBtn').css({'display' : 'none'});
						$('#paginFwdBtn_disabled').css({'display' : 'block'});
					
					
					} else {
					
						$('#paginFwdBtn_disabled').css({'display' : 'none'});
						$('#paginFwdBtn').css({'display' : 'block'});
						
					
					}
					
					$("#searchResultsDiv1").fadeIn("slow");
					$("#searchResultsDiv2").fadeIn("slow");

					
					$("div.resultTBWine").mouseover(function(){
					
						$(this).css('background','url('+base_url+'resources/images/wineResultBG.gif) 3px 5px no-repeat');
						$(this).css('background-color','white');
					
					}).mouseout(function(){
					
						$(this).css('background','white');
				   
				    });
				    
							
				} else {  //no results
					
					//alert('no results');
					$("#searchResultsDiv1").html(data.resultHTML1);
					$("#ajaxLoading").fadeOut("fast");
					$("#searchResultsDiv1").fadeIn("slow");
					
					$("#perPage").val(data.perPage);
					$("#pageNumber").val(data.pageNum);
					$("#paginTotalPages").html(data.numPages);
					
					$('#paginBackBtn').css({'display' : 'none'});
					$('#paginBackBtn_disabled').css({'display' : 'block'});
					
					$('#paginFwdBtn').css({'display' : 'none'});
					$('#paginFwdBtn_disabled').css({'display' : 'block'});
				}
				
			},'json');
	
	
	
	});
	
	//$("#searchResultsDiv").fadeOut("fast");
	//$("#ajaxLoading").fadeIn("fast");
	
	

}

function showTBVideo(id) {
	
	var windowYPos = $(window).scrollTop()+ ($(window).height()/2 - 75 );
		
	$("#eventInfoWindow").css("top",windowYPos);
	
	$("#eventInfoWindow").fadeIn("fast");
	
	//alert('get wine vid');
	
	$.post(base_url + "ajax/fetchTBVideo/",{    
		id: id
		}, function(data) {  
			
			//alert(data.resultHTML);
			//$("#eventInfo").html(data.video);
			$("#bioWindowTitle").html(data.title);
			$("#eventInfo").html(data.resultHTML);
			
			
		},'json');
	
	

}

function loadAppellations(obj,parentid) {

	//$("#searchResultsDiv").fadeOut("fast");
	
	$(".chooseSelectedOption").addClass("chooseUnselectedOption");
	$(".chooseSelectedOption").removeClass("chooseSelectedOption");
	
	$(".chooseSelectedOptionAlt").addClass("chooseUnselectedOptionAlt");
	$(".chooseSelectedOptionAlt").removeClass("chooseSelectedOptionAlt");
	
	if (obj.className == 'chooseUnselectedOption') {
		obj.className = 'chooseSelectedOption';
	} else if (obj.className == 'chooseUnselectedOptionAlt')  {
		obj.className = 'chooseSelectedOptionAlt';
	}

	$.post(base_url + "ajax/fetchAppellations",{    
			parentid: parentid
			}, function(data) {  
			
			if (data.success == 'true') {
				
				$("#chooseSelectSubAppelation").html(data.resultHTML);
				//$("#searchResultsDiv").fadeIn("slow");
				
			} else {
			
				alert(msg);
			
			}
			
		},'json');

}


function selectOption(obj,searchText) {
	
	//alert('select option');
	sortBy = $("#wineSortBy").val();
	$('#pageNumber').val( '1' );
	
	//loadWines(null, searchText, sortBy);
	loadWines(null, searchText);
	curSearch = searchText;
	curZip = undefined;
	
	//clear search fields
	$("#chooseNameInput").val(chooseSearchPrompt);
	$("#chooseNameInput").css("color","#b8b8b8");
	$("#chooseZipInput").val(chooseZipPrompt);
	$("#chooseZipInput").css("color","#b8b8b8");
	
	$(".chooseSelectedOption").addClass("chooseUnselectedOption");
	$(".chooseSelectedOption").removeClass("chooseSelectedOption");
	
	$(".chooseSelectedOptionAlt").addClass("chooseUnselectedOptionAlt");
	$(".chooseSelectedOptionAlt").removeClass("chooseSelectedOptionAlt");
	
	if (obj.className == 'chooseUnselectedOption') {
		obj.className = 'chooseSelectedOption';
	} else if (obj.className == 'chooseUnselectedOptionAlt')  {
		obj.className = 'chooseSelectedOptionAlt';
	}

}
function selectOptionInit(obj,searchText) {
	
	//alert('select option');
	sortBy = $("#wineSortBy").val();
	
	//loadWines(null, searchText, sortBy);
	//loadWines(null, searchText);
	curSearch = searchText;
	curZip = undefined;
	
	//clear search fields
	$("#chooseNameInput").val(chooseSearchPrompt);
	$("#chooseNameInput").css("color","#b8b8b8");
	$("#chooseZipInput").val(chooseZipPrompt);
	$("#chooseZipInput").css("color","#b8b8b8");
	
	$(".chooseSelectedOption").addClass("chooseUnselectedOption");
	$(".chooseSelectedOption").removeClass("chooseSelectedOption");
	
	$(".chooseSelectedOptionAlt").addClass("chooseUnselectedOptionAlt");
	$(".chooseSelectedOptionAlt").removeClass("chooseSelectedOptionAlt");
	
	if (obj.className == 'chooseUnselectedOption') {
		obj.className = 'chooseSelectedOption';
	} else if (obj.className == 'chooseUnselectedOptionAlt')  {
		obj.className = 'chooseSelectedOptionAlt';
	}

}


function verifyAge() {
	
	$("#ageChecker").fadeIn("fast");
	
}

function genCheckEnter(e,formObj) { //e is event object passed from function invocation

	var characterCode;

	if(e && e.which) { //if which property of event object is supported (NN4)
	
		e = e;
		characterCode = e.which //character code is contained in NN4's which property
	
	} else {
	
		e = event;
		characterCode = e.keyCode; //character code is contained in IE's keyCode property
	
	}

	if(characterCode == 13) { //if generated character code is equal to ascii 13 (if enter key)
	
		formObj.submit();
		//submitForm();
		return false;
	
	} else {
	
		return true;
	
	}

}

function randomString() {

	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 10;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	
	return randomstring;
	
}

function chooseZipValidator() {
	//alert($('#chooseZipInput').val());
	if (!checkZipCode($('#chooseZipInput').val())) {
		
		$("#errorContainer").html("Please enter a valid 5-digit zipcode.");
		$("#errorContainer").fadeIn("fast");
		return false;
	
	} else {
	
		$("#errorContainer").fadeOut("fast");
		
	}
	return true;
		

}

function buyValidator() {
	
	if (!checkZipCode($('#zipcode').val())) {
		$("#errorContainer").html("Please enter a valid 5-digit zipcode.");
		$("#errorContainer").fadeIn("fast");
		return false;
	
	} else {
	
		$("#errorContainer").fadeOut("fast");
		
	}
		

}

function checkZipCode(zip) {
	
	//if (zip == 'ZIP')
	//	return true;
	
	zip = zip.replace(/^\s+/, "");
	zip = zip.replace(/\s+$/, "");

	if(zip.length == 0) {
		return true;
	}

	if(zip.match(/^\d{5}([- ]?\d{4})?$/)) {
		return true;
	}
	
	return false;

}
