
var wineSearchUri = '/retail-wine-list';

function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());

}

function disableAdvSearch(){
	var advancedSearch = document.getElementById('advancedSearchLink');
	var advancedSearchLink = advancedSearch.href;
	advancedSearchLink = "javascript:void(0);";
	/*document.getElementById('advancedSearchLink').href="/retail-wine-list?action=winesearch";
	//alert(document.getElementById('advancedSearchLink').href);
	//doesn't work, thus the above
	document.getElementById('advancedSearchLink').disabled=true;*/
}


function setSessionWineSearchSortfield(){
	
	var mySortFieldValue = document.searchTools.searchsort.options[document.searchTools.searchsort.selectedIndex].value;
   
    var hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    var qs = ""
    var separator = "?"
        
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');      
       
        if(hash[0]!='sortfield' && hash[0]!=='sortorder'){
	        if (qs.length > 0){
	        	separator = "&"
	        }              
	        qs += separator + hash[0] + "=" + hash[1]
         }
    }   
    
    $.get("/common/modules/winesearch/actSetSessionWineSearchSortfield.cfm", 
          { sortfield: mySortFieldValue},
            function(data){window.location= wineSearchUri + qs + "&sortfield=" + mySortFieldValue }
          );
}

function setSessionReturnUrl(rUrl,lUrl){	
	//alert(rUrl);
	$.get("/common/modules/winesearch/actSetSessionReturnUrl.cfm", 
          { returnUrl: rUrl},
            function(data){
            	if(data==1){
            		window.location=lUrl;
            	}
            }
          );
}

function setSessionWineSearchSortorder(){
    
    var mySortOrderValue = document.searchTools.searchorder.options[document.searchTools.searchorder.selectedIndex].value;
   
    var hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    var qs = ""
    var separator = "?"
    
    var sortorder = mySortOrderValue;
    
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');      
       
        if(hash[0]!='sortfield' && hash[0]!=='sortorder'){
            if (qs.length > 0){
                separator = "&"
            }              
            qs += separator + hash[0] + "=" + hash[1]
         }
         
        if(hash[0] == 'sortorder'){
            sortorder = hash[1];
        }        
    }   
    
    $.get("/common/modules/winesearch/actSetSessionWineSearchSortorder.cfm", 
          { sortorder: mySortOrderValue},
            function(data){window.location= wineSearchUri + qs + "&sortorder=" + sortorder;}
          );
    //window.location= wineSearchUri + qs + "&sortfield=" + mySortFieldValue + "&sortorder=" + sortorder;

}

function setSessionWineSearchRows(rUri){
	
	var myRowValue = document.searchTools.rows.options[document.searchTools.rows.selectedIndex].value;
    
    var hash;
    
    //alert(window.location.search);
    
    var search = window.location.search;
    
    if(search.length > 0){
    	
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
        var qs = ""
        var separator = "?"
        
        var sortorder = "asc";
    
	    for(var i = 0; i < hashes.length; i++)
	    {
	        hash = hashes[i].split('=');      
	        //don't add the rows, start when resetting
	        if(hash[0]!='rows' && hash[0]!='start'){
	        	if (qs.length > 0){
	                separator = "&"
	            }              
	            qs += separator + hash[0] + "=" + hash[1]
	         }           
	    }   
        
    }else{
    	var qs = "";
    	var rowsConn = "?rows=";
    }    
     
    
     if(qs.length > 0){
     	rowsConn = "&rows="
     }else{
     	rowsConn = "?rows="
     } 
         
    $.get(
          "/common/modules/winesearch/actSetSessionWineSearchRows.cfm", 
          { rows: myRowValue }, 
            function(data){window.location.href= rUri + qs + rowsConn + myRowValue;}
          );
    //window.location= wineSearchUri + qs + "&rows=" + myRowValue;
    
}

function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

function isDefined(variable){
    return (!(!( variable||false )))
}


$(document).ready(function(){    
	
    // Display rating excerpt pop-up
    $(".rateNum").click(function() {
 	 	$(".gridRow").each(function () {
          	$(this).css({'z-index': 1});
   	    });
        currentRating = this;
        var popUpId = $(currentRating).attr('className').split(' ').pop();
        var ratingPosition = $(currentRating).position();
        $("#" + popUpId).css({left:ratingPosition.left-205,top:ratingPosition.top-53});        
        getReviewContent(popUpId);
        if($("#" + popUpId).css('display') == "none") {
            $("#" + popUpId).css({'display': 'block'});
        }
        else {
            $("#" + popUpId).css({'display': 'none'});
        }
        $(".infoPopUp").each(function () {
            if(this.id != popUpId) {
                $(this).hide();
            }
        });
    });
    
    
    $("a.saveSearch").click(function(){
                var t = this.title || $(this).text() || this.href;
                SS_show(t,this.href,800);
                return false;
    });
    $("a.savedSearch").click(function(){
                var t = this.title || $(this).text() || this.href;
                Saved_show(t,this.href,800);
                return false;
     });
    
    $("#search-text").autocomplete("/common/modules/winesearch/actKeywordProxy.cfm", {
        width: 260,
        selectFirst: false,
        minChars: 3        
    }).result(function(event, data, formatted) {
        if (data)
        
        var isAdvancedSearchForm = $('#isAdvancedSearchForm').get(0);
        
        if(isDefined(isAdvancedSearchForm)){
	      getAdvancedSearchNumberOfResults();
	    }else{
	      $('#search').submit();
	    } 
     });
     
    $("#search-text").result(function(event, data, formatted) {
        if (data)
            $(this).parent().next().find("input").val(data[1]);
    });
    
    $("#clear").click(function() {
        $(":input").unautocomplete();
    });   

});

// Equal columns
function getReviewContent(popupId) {
    $.get("/common/modules/winesearch/dspWineReviewBalloon.cfm",{helpTextId : popupId}, function(data){
        $("#" + popupId).html(data);
		var parentDivs = $("#" + popupId).parents();
		$(parentDivs).each(function () {
			if($(this).hasClass('gridRow')) {
				$(this).css({'z-index':75});
			}
	    });
    });
}

function getSimplePopup(popupId) {
    $.get("/common/modules/winesearch/dspWinePopups.cfm",{helpTextId : popupId}, function(data){
        $('#' + popupId).html(data);
		var parentDivs = $("#" + popupId).parents();
		$(parentDivs).each(function () {
			if($(this).hasClass('gridRow')) {
				$(this).css({'z-index':75});
			}
	    });
    });
}

function hideGAC(){
	setTimeout('doIframe();', 300);
	$("#classification").hide();
	$("#grower").hide();
	$("#appellation").hide();
}

function showGAC(){
	
	try{
		$("#classification").show();
	}catch(e){}
	
	try{
        $("#grower").show();
    }catch(e){}
    
    try{
       $("#appellation").show();
    }catch(e){}
	setTimeout('doIframe();', 300);
}

function setBookmark(lot_no,sale_no,isChecked){
	var action="add";
	
	if(!isChecked){action="remove"}
	
	$.get("/common/modules/winesearch/actSetAuctionBookmark.cfm",{lot_no:lot_no,sale_no : sale_no,action:action}, function(data){
        //alert(data);
    });
}

function getAdvancedSearchNumberOfResults(){	
	var dataString = "";
	var delim="&";
	
	// get all the inputs into an array.
    var $inputs = $('#advancedSearch :input:checkbox:checked');
    var keyword = $('#search-text').val();
    var rating_min = $('#rating_min').val();
    var sale_no = $('#sale_no').val();
    
    var auctionEstimateRange_low = "";
    var auctionEstimateRange_high = "";
    
    var hasClasscode = false;
    var hasGrowcode = false;
    var hasAppcode = false;
    var hasCatcode = false;
    
    dataString = "sale_no=" + sale_no;

    if(keyword.length > 0){
        dataString += delim + 'keyword=' + keyword;
    }
    if(rating_min.length > 0){
    	dataString += delim + 'rating_min=' + rating_min;
    }
    
    if(isDefined(document.getElementById('auctionEstimateRange_low'))){
    	auctionEstimateRange_low =  $('#auctionEstimateRange_low').val();
    }
    
    if(auctionEstimateRange_low.length > 0){
        dataString += delim + 'auctionEstimateRange_low=' + auctionEstimateRange_low;
    }
    
    if(isDefined(document.getElementById('auctionEstimateRange_high'))){
        auctionEstimateRange_high =  $('#auctionEstimateRange_high').val();
    }
    
    if(auctionEstimateRange_high.length > 0){
        dataString += delim + 'auctionEstimateRange_high=' + auctionEstimateRange_high;
    }
        
    //not sure if you wanted this, but I thought I'd add it.
    //get an associative array of just the values.
    //var values = {};
    $inputs.each(function() {    	
    	//alert(this.name + " " + $(this).val());
        if(dataString.length > 0){
        	delim="&";
        }else{
        	delim="";
        }
       dataString += delim + this.name + '=' + $(this).val() ;
       
       if(this.name == 'appcode'){
       	hasAppcode = true;
       }else if(this.name == 'growcode'){
       	hasGrowcode = true;
       }else if (this.name == 'classcode'){
       	hasClasscode = true;
       }else if (this.name == 'catcode'){
       	hasCatcode = true;
       }
       
    });	
	//alert(dataString);
	
	$.get("/common/modules/winesearch/actMoreSearchResults.cfm?"+dataString, 
	function(data){		
		$('#expectedResults').html('Expected Results');
		$('#expectedResults2').html('Expected Results');
		var numberOfResults = $.evalJSON(data).response.numFound;
        $('#numberOfResults').html(numberOfResults);
        $('#numberOfResults2').html(numberOfResults); 
        $.post("/common/modules/winesearch/actGetDynamicSearchFields.cfm",{data:data},
        function(data){
        	if(! hasAppcode){
	        	var appelationHtml = $.evalJSON(data).APPELATION;
	        	$('#appellation').html(appelationHtml);
	        	doIframe();
        	}
        	if (! hasGrowcode){
	        	var growerHtml = $.evalJSON(data).GROWER;
	        	$('#grower').html(growerHtml);
	        	doIframe();
        	}
        	if(! hasClasscode){
	        	var classificationHtml = $.evalJSON(data).CLASSIFICATION;
	        	$('#classification').html(classificationHtml);
	        	doIframe();
        	}
        	if(! hasCatcode){
        		$('#appellation').html("");
        		$('#grower').html("");
        		$('#classification').html("");
        		doIframe();
        	}
        }
        )       
    });
	doIframe();
}

	