﻿/// <reference path="~/jquery-1.3.2-vsdoc.js />
/// this method would be call on load 
/// author::alok sharma

var rdoListDays;
var rdoListSeasons;
var rdoAge;
var rdoValue;
var _lblErrorMessage = "";
var _hdnSeasonStartDate = "";
var liftTicketsDraggedCount = 0;

$(document).ready(function() {

    //For opening the more info dialog box. 
    moreInfoModalOpen(); 
	// For edit ticket case, query string has the following syntax -- Search=startdate,SKU,GUID,days
	rdoListDays = $('[id$=divNoofDays] input:radio');
	rdoListSeasons = $('.seasonListing input:radio');
	rdoAge = $("[id=byAge]:eq(0)");
	rdoValue = $("[id=byValue]:eq(0)");
    _hdnSeasonStartDate = $("[id$=hdnSeasonStartDate]");
    _lblErrorMessage = $("[id$=_lblErrorMessage]");
// Remove Remove all link in page Load
   $(".linkClear").attr("style"," color: #666; cursor: text; text-decoration: none");;
    var startdate;
    var searchCriteria;
	if( $("[id$='hdnStartDate']").length > 0 && $.trim( $("[id$='hdnStartDate']").eq(0).val() ).length > 0 ) {
		startdate = $("[id$='hdnStartDate']").eq(0).val();		
		//$("[id$='hdnStartDate']").eq(0).val("");
	} else {
        startdate = getDefaultDate();        
    }
        
	//startdate = createDateObj(getDefaultDate());
	startdate = createDateObj(startdate);	
		
	var minDate = createDateObj( getDefaultDate() );
	$("#startDatePicker").datepicker("option", "minDate", minDate);
	$("#startDatePicker").datepicker("setDate", startdate);
	$("#startDatePicker").datepicker("option", "onSelect", function(dateText, inst){
		onDateChange(dateText, true, "Please wait a moment while we search for your results");
		return false;
	});
	$("#startDatePicker").bind("change", function(){
		onDateChange(this.value, true, "Please wait a moment while we search for your results");
	});
	
    if ($("#sliderContainer").length > 0) {
        $("#sliderContainer").slider({
            animate: true,
            range: true,
            min: 1,
            max: 10,
            step: 1,
            values: [1, 10],
            change: function(event, ui) {
                ticketFilter(ui.values[0], ui.values[1]);
            }
        });
    }

    $('table.ageLiftTicket tbody tr:odd').addClass('alternateRow');
	
    initDragDrop();

    attachSaveToTripModal();
    
    initSeasonListing();
	initDayListing();
	onDateChange( $("#startDatePicker").val(), true, "Please wait a moment while we search for your results" ); // To Explicitly Set the Radio buttons according to datepicker, and avoid AJAX call
	
    rdoAge.unbind("click").bind("click", function() {
	    CheckByAge();
		getData("ByAge", "Please wait a moment while we search for your results");
	})
    rdoValue.unbind("click").bind("click", function() {
	    CheckByValue();
		getData("ByValue", "Please wait a moment while we search for your results");
	})
	// To conditionally show/hide filter components on page load
	if ( rdoAge.filter(":checked").length > 0 ){
		CheckByAge();
	} else {
		CheckByValue();
	}
	
	$(".selectThis").click(function(){
                animateToTray($(this));
    });   
    
 /* artf1008562: H | BC | BR | Lift tickets | Filter container is not aligned with the results container [SA]*/    

    if($('#beavercreek').length >0){
        $("#beavercreek .tripleColumn .liftTicket").css("margin-top","-20px");
    }
    
    /* for breckenridge only */
    if($('#breckenridge').length >0){
           if($.browser.msie){
            $("#breckenridge .tripleColumn .liftTicket").css("margin-top","-17px");
            }
            else {
                $("#breckenridge .tripleColumn .liftTicket").css("margin-top","-8px");
                }
      }
    
    /* for heavenly only */
    if($('#heavenly').length >0){
        $("#heavenly .tripleColumn .liftTicket").css("margin-top","-9px");
    }

/* end of fix - artf1008562 [SA]*/        

});

function onDateChange(dateText, makeAjax, loadingStr){
    if ( !loadingStr ){
        var loadingStr = "";
    }
	var validDate = true;
	var selectedDate = createDateObj(dateText);
	var seasonStartDate = createDateObj(getDefaultDate());
	var divError = $(".noProduct");
	divError.html('');

	if( $.trim(dateText).length == 0 ) {
        var errorMsg = [""
			,"<span id='lblErrorMessage'>"
			,	"Please complete the required fields:"
			,	"<ul><li>Start Date</li></ul>"
			,"</span>"
		].join(""); 
        divError.html(errorMsg);
		validDate = false;		
    } else if ( !IsDateMMDDYYYY(dateText) ) {
        var errorMsg = [""
			,"<span id='lblErrorMessage'>"
			,	"You have entered the following invalid data:"
			,	"<ul>"
			,		"<li>Start Date - date format must be MM/DD/YYYY</li>"
			,   "</ul>"
			,	"Please re-enter your data."			
			,"</span>"
		].join(""); 
        divError.html(errorMsg);
		validDate = false;		
    } else if ( selectedDate < seasonStartDate ) {
        var errorMsg = [""
			,"<span id='lblErrorMessage'>"
			,	//"You have entered the following invalid data:"
			,	"<ul>"
			,		"<li>You have entered an invalid date, "+createDateStr(selectedDate)+". Please revise your date to be "+createDateStr(seasonStartDate)+" or later</li>" 
			,	"</ul>"
			,"</span>"
		].join(""); 
        divError.html(errorMsg);
		validDate = false;		
	}
	else if ( IsMaximumDateRange(selectedDate))
    {                   
        var errorMsg = [""
            ,"<span id='lblErrorMessage'>"
            ,   "You have entered the following invalid data:"
            ,   "<ul>"
            ,       "<li>Start Date should not be more then 365 days from now.</li>"
            ,   "</ul>"
            ,   "Please re-enter your data."
            ,"</span>"
        ].join("");        
        divError.html(errorMsg);
	    validDate = false;	                                                                                                                      
    }

	rdoListSeasons.attr("checked", "");
	var date = createDateObj(dateText);
	for(var x = 0; x < rdoListSeasons.length; x++){
		var startDate = createDateObj( rdoListSeasons.eq(x).siblings(".seasonStartDate").val() );
		var endDate = createDateObj( rdoListSeasons.eq(x).siblings(".seasonEndDate").val() );
		var todaysDate = createDateObj($(".hiddenTodaysDate").val());
		date = createDateObj(dateText);
		
		if($(".hiddenIsLodging").val() == "true")
        {		    
	       var lodgingMinDate = createDateObj( $("[id$=hiddenLodgingMinStartDate]").eq(0).val() );
		   		       
	       var todaysDatePlusOneDay = todaysDate;				       
	       todaysDatePlusOneDay.setDate(todaysDatePlusOneDay.getDate() + 1);
	              
	       if(createDateStr(lodgingMinDate) == createDateStr(todaysDatePlusOneDay))
	       {
	            todaysDatePlusOneDay.setDate(todaysDatePlusOneDay.getDate() + 1);				            
	            date = todaysDatePlusOneDay;	 
	       }
	       else
	       {
	            if(lodgingMinDate < startDate)
				{				                    
				    date = startDate;				                    
				}
				else
				{				                
				    date = lodgingMinDate;
				}	             
	       }
	       
		}
		if ( startDate <= date && date <= endDate ){		    
			rdoListSeasons.eq(x).attr("checked", "checked");
			break;
		}
	}
	
	if ( validDate && makeAjax ){
		getData("ByAge", loadingStr);
	}
}

function CheckByAge() {    
	if (rdoAge.filter(":checked").length > 0) {
		$(".seasonListing, #dateSelection, #noOfDaysSlider").css("display", "block");
		$("#divNoofDays").css("display", "none");
		$(".listFilterContainer h3").eq(0).show();
	}
}

function CheckByValue() {
	if (rdoValue.filter(":checked").length > 0) {
		$(".seasonListing, #dateSelection, #noOfDaysSlider").css("display", "none");
		$("#divNoofDays").css("display", "block");
		$(".listFilterContainer h3").eq(0).hide();
	}
}

//Function Name : initSeasonListing
//Purpose : This function is used to grayout checkboxes with endDate passed.
//Parameters : NA
function initSeasonListing(){
    $('.listFilterFormContainer .seasonListing').each(function(i) {
        var currentDate;        
        if($(".hiddenIsLodging").val() == "true")
        {
	       var lodgingMinDate = createDateObj( $("[id$=hiddenLodgingMinStartDate]").eq(0).val() );	       
	       //lodgingMinDate.setDate(lodgingMinDate.getDate() + 1);
	       currentDate = lodgingMinDate;//createDateObj(createDateStr(lodgingMinDate));	       
	    }
        else
        {
	       var todaysDate = createDateObj($(".hiddenTodaysDate").val());
	       todaysDate.setDate(todaysDate.getDate() + 7);
	       currentDate = createDateObj(createDateStr(todaysDate));
	    }
        
        var endDate     = createDateObj( $(this).find('.seasonEndDate').val() );
        var rdoBtn		= $(this).find('input:radio');
		
        if(currentDate > endDate){
            rdoBtn.removeAttr("checked").attr("disabled", "disabled");
        } else {
            rdoBtn.removeAttr("disabled");
        }
	});
	
    if ( rdoListSeasons.filter(":checked").length == 0 ){
        rdoListSeasons.filter(":enabled").eq(0).attr("checked", "checked");
    }

	$("#sliderContainer").slider('values', 0, 1);
	$("#sliderContainer").slider('values', 1, 10);
	
	rdoListSeasons.unbind("click").bind("click", function(){
		rdoListSeasons.attr("checked", "");
		$(this).attr("checked", "checked");
	    var date = createDateObj( $(this).val() );
		$("#startDatePicker").datepicker("setDate", date);
		getData("ByAge", "Please wait a moment while we search for your results");
	});
}

//Function Name : initDayListing
//Purpose : This function is used to grayout checkboxes with endDate passed.
//Parameters : NA
function initDayListing() {

    var fullURL = unescape(parent.document.URL).toLowerCase();
    //var fullurl = document.location;
    //fullurl = fullurl.toLowerCase();

    if (fullURL.indexOf('search=') > -1) {
		var hdnval = $(".txtSearchClass").val();
		if (hdnval != "") {
			searchCriteria = hdnval.toString().split(',');
			addTicketToTrayFromSearchParameter(searchCriteria);
		}
		searchCriteria = fullURL.substr(1);
        searchCriteria = searchCriteria.split("&")[0].split("=")[1].split(",");
		if ( rdoValue.attr("checked") ){
			var days = eval( searchCriteria[3] );
			if ( days >= 7 ){
				rdoListDays.filter("[value=7]").attr("checked", "checked");
			} else {
				rdoListDays.filter("[value=" + days + "]").attr("checked", "checked");
			}
		}
	}
	
    if ( rdoListDays.filter(":checked").length == 0 ){
        rdoListDays.eq(0).attr("checked", "checked");
    }
	
    rdoListDays.unbind("click").bind("click", function(){
		getData("ByValue", "Please wait a moment while we search for your results");
	});
}

function getData(viewBy, loadingStr){ 
        var isLodgingSelected=$("[id$=hiddenIsLodging]").val()
        var minimumLodgingSelected=$("[id$=hiddenLodgingMinStartDate]").val();
        
    if ( !loadingStr ){
        var loadingStr = "";
    }
	$(".noProduct").html('');
	switch( viewBy.toLowerCase() ){
		case "byvalue":
			var serviceUrl = "/vailresorts/sites/PlanningAndBooking/WebServices/LiftTicketDetails.svc/GetLiftTicketDatabyValue"
			
			var daysSelected = rdoListDays.filter(':checked');
			var filterCriteria = ( daysSelected.length > 0 ) ? daysSelected.val() : 0;
			
			var querystring = "";
			break;
		case "byage":
			var serviceUrl = "/vailresorts/sites/PlanningAndBooking/WebServices/LiftTicketDetails.svc/GetLiftTicketControl"
			
			if ( $.trim($("#startDatePicker").val()).length > 0 ){
				var filterCriteria = createDateStr( $.trim($("#startDatePicker").val()) );
			} else {
				var dateSelected = rdoListSeasons.filter(':checked');
				var filterCriteria = ( dateSelected.length > 0 ) ? createDateStr( dateSelected.val() ) : getDefaultDate();
			}
			
			var querystring = ",\"querystring\": \"\"";
			break;
	}
	Ajax({
		updateTarget: "#ajaxContentContainer",
		url: serviceUrl,
		data: "{\"displaytype\" : \"" + viewBy + "\",\"filterCriteria\": \"" + filterCriteria + "\"" + querystring +",\"isLodgingSelected\":\""+ isLodgingSelected +"\",\"mininumLodgingStartDate\":\""+ minimumLodgingSelected +"\"}",
		loadingStr: loadingStr,
		success: function(){
			if (viewBy.toLowerCase() == "byvalue") {
			    if(filterCriteria < 7)
			        $('#divStartDate').html(filterCriteria + '-Day Tickets');
			    else
			        $('#divStartDate').html(filterCriteria + '-Days or More Tickets');
			} else {
				var minDays = $("#sliderContainer").slider('values', 0);
				var maxDays = $("#sliderContainer").slider('values', 1);
				ticketFilter(minDays, maxDays);
			}
		}
	});
}

//Function Name : attachSaveToTripModal
//Purpose : This function is used to bind all the required events to the controls
//Parameters : NA
function attachSaveToTripModal(){
    //Add click Event to button to add to cart
    $("[id$='btnContinue']").bind("click", function(){
		SaveToCart();
		ContinueButtonClick();
	});

	if ( $('.saveToTripDialog').length > 0 && $('body > .ui-dialog .saveToTripDialog').length == 0 ){
	    $('.saveToTripDialog').eq(0).dialog({
	        bgiframe: true,
	        autoOpen: false,
	        width: 960,
	        height: 855,
	        modal: true,
	        resizable: false,
	        position: 'center',
	        closeOnEscape: true,
			draggable: false
	    });
	}
	
	var objModal = $('body > .ui-dialog .saveToTripDialog');

	$('[id$=hlSave]').eq(0).unbind("click").bind("click",function(e) {
	    e.preventDefault();
	    SaveToCart();
	    
	    var hdnField = $("[id$='_hdLiftTicket']").val();    
	    if ( $.trim(hdnField).length > 0 ){
		    // grabs url from href and loads it into the modal window
	        var urlContent = $(this).attr('href') + "&ProductId=" + hdnField;

	        $('iframe', objModal)
				.attr('src',urlContent)
				.attr('width','100%')
				.attr('height','100%')
				.attr('scrolling','no');
			
			try {
				objModal.dialog('open');
			} catch (e){}
	    }
        return false;
	});
}

function ContinueButtonClick()
{ 
 var hdLiftTicket=$("[id$='hdLiftTicket']").val();
 var hdLiftTicketEdit=$("[id$='hdLiftTicketEdit']").val();
 
        $.ajax
        ({
            type: "POST",
            url: "/vailresorts/sites/PlanningAndBooking/WebServices/LiftTicketDetails.svc/RedirectToCartSummary",
            async: false,
            data: "{\"hdLiftTicketData\" : \"" + hdLiftTicket + "\",\"hdLiftTicketDataEdit\" : \"" + hdLiftTicketEdit + "\"}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg)
            {               
                var response = msg.d;                
                if(response.indexOf('http')>=0)
                {              
                   parent.window.location = msg.d;
                }               
                
                 moreInfoModalOpen();                                                                   
            },
		    error: function(xhr, status, error) {
		        clearPurchaseTray();
		        var errMsg = "An unexpected error has occurred. Please try after some time or contact support center for assistance.";
		        $("#ajaxContentContainer").html('<span class="errorMessage">'+errMsg+'</span>');		        
		    }
        });
}


function moreInfoModalOpen()
{ 
    if ( $('.iFrameLiftTicketModal').length > 0 && $('body > .ui-dialog .iFrameLiftTicketModal').length == 0 ){
        $('.iFrameLiftTicketModal').eq(0).dialog({
            bgiframe: true,
            autoOpen: false,
            width: 600,
            height: 540,
            modal: true,
            resizable: false,
            position: 'center',
            closeOnEscape: true
        });
    }
    var objModalDialog = $('body > .ui-dialog .iFrameLiftTicketModal');

    $('.openLiftTicketIFrame').unbind('click').bind('click',function(event) {
	    event.preventDefault();	    
	    
	    var urlContent = $(this).attr('href');
	    $('iframe', objModalDialog)
	        .attr('src',urlContent)
	        .attr('width','100%')
	        .attr('height','100%')
	        .attr('scrolling','no');
	    try {
	        objModalDialog.dialog('open');
	    } catch (e){}
    });
}

// Create a date object from an american date format mm/dd/yyyy
function createDateObj(str) {

	if( str == null ){ return null; }
	
	return new Date(str);
}

function createDateStr(date){
	if( date == null ){ return null; }
	
	if (typeof date == "string"){
		date = createDateObj( date );
	}
	return date.getMonth() + 1 + "/" + date.getDate() + "/" + date.getFullYear();
}

function ticketFilter(minDays, maxDays) {
	$(".ageLiftTicket input:hidden[name = NumberofDays]").each(function(i) {
	    var dayCount = eval( this.value );
		if (dayCount < minDays) {
			$(this).closest("tr").addClass("hideDiv");
		}
	    if (maxDays == 10){
	        if (dayCount >= minDays) {
		        $(this).closest("tr").removeClass("hideDiv");
	        }
	    } else {
	        if (dayCount >= minDays && dayCount <= maxDays) {
		        $(this).closest("tr").removeClass("hideDiv");
	        } else {
	            $(this).closest("tr").addClass("hideDiv");
	        }
	    }
	});
	if ( $(".ageLiftTicket tbody tr:not(.hideDiv)").length > 0 ){
	     $("#errorMessage").html("");
	    $(".ageLiftTicket").removeClass("hideDiv");
	    $(".ageLiftTicketError").addClass("hideDiv");
	} else {
	   
	    if($(".contentLiftTicket .errorMessage").html() == null)
	    {	        
            $("#errorMessage").html("No results found that match your filter criteria. Please adjust filters to view results.").addClass("errorMessage");
        }    
        $(".ageLiftTicketError").removeClass("hideDiv");
        $(".ageLiftTicket").addClass("hideDiv");	             
 
	    
	}
}

function addTicketToTray(draggedObj, selectedDate) {
	var ticket = $("#hiddenDroppableTicketTemplate").clone().appendTo(".dropItem").attr("id", "");
	var ticketPrice = draggedObj.find(".amount").html();
	ticket.find("h6").html(draggedObj.find("h6").html());
	ticket.find(".amount").html(ticketPrice);
	ticket.find(".startDate").html('Starting:' + selectedDate);
	ticket.find(".iconDelete").click(function() {
		$(this).parents("li").remove();
		if(liftTicketsDraggedCount != 0)
		{
		    liftTicketsDraggedCount = liftTicketsDraggedCount -1;
		}
		// Remove Remove all link if data not in cart box
	 	 if($(".dropItem li:not(:hidden)").length==0)
                {
                   $(".linkClear").attr("style"," color: #666; cursor: text; text-decoration: none");;
                }
	})
	 if($("#droppable ul li").length > 0)
    {
        var divError = $(".noProduct")
        divError.html('');
	}
	// Display Remove all link if data not in cart box
	$(".linkClear").attr("style"," ");
}

function addTicketToTrayFromSearchParameter(search) {
	var ticket = $("#hiddenDroppableTicketTemplate").clone().appendTo(".dropItem").attr("id", "");
	ticket.find("input[name='SelectedDate']").val(search[0]);
	ticket.find("input[name='SelectedSKU']").val(search[1]);
	ticket.find(".amount").html(search[2]);
	ticket.find(".startDate").html('Starting:' + search[0]);
	ticket.find("h6").html(search[3]);
	ticket.find(".iconDelete").click(function() {
		$(this).parents("li").remove();
		if(liftTicketsDraggedCount != 0)
		{
		    liftTicketsDraggedCount = liftTicketsDraggedCount -1;
		}
		// Remove Remove all link if data not in cart box
	 	 if($(".dropItem li:not(:hidden)").length==0)
                {
                   $(".linkClear").attr("style"," color: #666; cursor: text; text-decoration: none");;
                }
	})
	$(".linkClear").attr("style"," ");
}


function clearPurchaseTray() {
    // Remove from tray
	$(".dropItem li").not("#hiddenDroppableTicketTemplate").remove();
    // Remove from hidden variable
	$("[id$='_hdLiftTicket']").val('');
	// Remove Remove all link if data not in cart box
	$(".linkClear").attr("style"," color: #666; cursor: text; text-decoration: none");;
	//Initialize counter to 0
	liftTicketsDraggedCount = 0;
}

function getDefaultDate() {
	// Default date is todays date + 2 days
	// We are already getting minDate as Today + 1
	var d = createDateObj( $("#hdMinDate").val() );	
	
	if(d == null)
	{
	    return null;
	}
	
	if($(".hiddenIsLodging").length > 0){
	    
	          if($(".hiddenIsLodging").val() == "true"){	            
	            var lodgingMinDate=createDateObj( $("[id$=hiddenLodgingMinStartDate]").eq(0).val() );	
	            if(lodgingMinDate.getDate()>(d.getDate() + 6))
	            {
	                d.setDate(d.getDate() + 6);	                
	            }else if(lodgingMinDate.getDate() == d.getDate()) {	                
	                //lodgingMinDate.setDate(lodgingMinDate.getDate() + 1);	                
	                d.setDate(lodgingMinDate.getDate() + 1);
	            }else if(lodgingMinDate > d) {	                
	                d = lodgingMinDate;	                
	            }
	          }else{
	            d.setDate(d.getDate() + 6);
	          }
	}else{
	    d.setDate(d.getDate() + 6);
	}
	
	
	
    //d.setDate(d.getDate() + 6);
    return createDateStr(d);
}

function getCurrentDate(returnString) {
	if ( returnString ) {
		return createDateStr( $("[id$=hdMinDate]").eq(0).val() );
	} else {
		return createDateObj( $("[id$=hdMinDate]").eq(0).val() );
	}
}

function initDragDrop(){
	$(".ageLiftTicket td .draggable").draggable({
		helper: 'clone',
		containment: 'document',
		drag: function(e, ui){
			ui.helper.width($(ui.helper.context).outerWidth());
			ui.helper.height($(ui.helper.context).outerHeight());
		}
	}); //Make ticket price boxes draggable
	$("#droppable").droppable({
		drop: ByAgeAndByValueValidation
	});
}


/*
    loadTarget: optional
    updateTarget: optional
    type: optional
    url: optional
    data: optional
    contentType: optional
    dataType: optional
    success: optional
    error: optional
    callback: optional
*/

function Ajax(options){
	var defaults = {
	    loadTarget: "",
	    loadingStr: "",
	    updateTarget: "",
		type: "POST",
		url: "/vailresorts/sites/PlanningAndBooking/WebServices/LiftTicketDetails.svc/GetLiftTicketControl",
		data: "",
		contentType: "application/json; charset=utf-8",
		dataType: "json",
		success: function(msg){
		},
		error: function(xhr, status, error) {
		},
		callback: function(){}
	};
	var options = $.extend(defaults, options);
	
	
    if ( options.loadTarget != "" && $(options.loadTarget).length > 0 && options.loadTarget != options.updateTarget ){
        $(options.loadTarget).showLoading({ loadingStr: options.loadingStr });
    } else if ( options.updateTarget != "" && $(options.updateTarget).length > 0 ){
        $(options.updateTarget).showLoading({ loadingStr: options.loadingStr });
    }
	
	$.ajax({
		type: options.type,
		url: options.url,
		data: options.data,
		contentType: options.contentType,
		dataType: options.dataType,
		success: function(msg){
		    if ( options.updateTarget != "" && $(options.updateTarget).length > 0 ){
	            if ( msg.d ){
        	        $(options.updateTarget).html( msg.d );
        	    } else {
         	        $(options.updateTarget).html( msg );
           	    }
	        }
	        if ( options.loadTarget != "" && options.loadTarget != options.updateTarget && $(options.loadTarget).length > 0 ){
                $(options.loadTarget).hideLoading();
	        }
	        $('#divStartDate').html($("#startDatePicker").val());
			$('table.ageLiftTicket tbody tr:odd').addClass('alternateRow');
	        
	            
            // To replace 0 with N/A in tickets and prevent drag and drop on such tickets
            $("#tblContainer input.ticketSKU[value='']")
                .siblings("span.amount")
                .html("N/A")
                .closest("div.draggable")
                .removeClass("draggable");

            $(".selectThis").click(function(){
                animateToTray($(this));
            });

	        initDragDrop();
		    options.success();
		    
		    moreInfoModalOpen();
		    
		},
		error: function(xhr, status, error) {
			handlePnB_LiftTicket_Error(xhr, status, error);
			options.error();
		}
	});
}

function handlePnB_LiftTicket_Error(xhr, status, error){
    var errMsg = getErrorMessage(xhr,status,error);
    $("#ajaxContentContainer").html('<span class="errorMessage">'+errMsg+'</span>');
}

//Funtion called when button  Continue is clicked 
//Iterate the cart items in the bucket and concat all the hidden values to one asp hidden textbox 
//so as to access them on the server side
function SaveToCart()
{
    if($("#droppable ul li").length <= 1)
    {
        var divError = $(".noProduct")
        var errorMsg = "<span id='lblErrorMessage' class='errorMessage'>Please select a product before proceeding.</span>"; 
        divError.html(errorMsg);
		return false;		
	}
	  
	/* KR artf1041404 - To prevent multi clicks on the button  */
	var thisButton = $(arguments.callee.caller.arguments[0].target);
	$("<img src='/VailResorts/sites/global/assets/img/blank.gif' alt='' class='buttonLayer' />").prependTo(thisButton.parent());
	$(".buttonLayer").css("width", ($(thisButton).width() + 30));
	$(".buttonLayer").css("left", $(thisButton).position().left);
	$(".buttonLayer").css("height", ($(thisButton).height() + 5));

	
    var hd=$("[id$='_hdLiftTicket']");
    hd.val("");    
    $("ul.dropItem li").each(function(i){
        if ( $(this).attr("id") == "hiddenDroppableTicketTemplate" ){ return true; } // Skip the first dummy element
        
        if(hd.val()=='')
        {
            hd.val(
				$(this).find("input[type=hidden][name=SelectedSKU]").val() + '|' +
				$(this).find("input[type=hidden][name=SelectedDate]").val()
			);
        }
        else
        {
            hd.val(
				hd.val() + ',' + 
				$(this).find("input[type=hidden][name=SelectedSKU]").val() + '|' +
				$(this).find("input[type=hidden][name=SelectedDate]").val()
			);
        }
        
    });    
	//debugger;
}

function IsDateGreater(DateValue1, DateValue2)
{
 if ( new Date(DateValue1) > new Date(DateValue2) )
    return true;
 else
    return false;
}

function GetSeasonStartDate(hdSeasonStartDate)
{
    var year = new Date(hdSeasonStartDate).getYear()+1901;
    var month = new Date(hdSeasonStartDate).getMonth()+1;
    var dt = new Date(hdSeasonStartDate).getDate();
    var seasonStartDate= month +'/'+ dt +'/'+  year;
    return seasonStartDate;
}


function animateToTray(obj){	
    //To display no. of dgraggable items in the tray.
    if($(".hiddenIsLodging").length > 0){
	          if($(".hiddenIsLodging").val() == "true"){
	                if($("#droppable ul li:not(:hidden)").length > 18)
	                {
	                    return;		        
	                 }
	            } 
	            else {
	                if($("#droppable ul li:not(:hidden)").length > 7){
	                    return;	
	                }
            }
    }
    
    var clickedItem = obj.closest(".draggable");
    var positionX = clickedItem.offset().left+"px";
	var positionY = clickedItem.offset().top+"px";
    
	myTicket = clickedItem.clone();
	myTd = obj.closest("td");
	myTicket.css({
		'position':'absolute',
		'top': positionY,
		'left' : positionX,
		'z-index':9999,
		'width': myTd.width(),
		'height': myTd.height()
	});
	
	$('body').append(myTicket);
	//myTicket.prependTo(myTd);

    var purchaseTray = $('[id$=droppable]').offset();
    var endPosX = purchaseTray.left + "px";
    var endPosY = purchaseTray.top + "px";
    
	myTicket.animate( {
		'top':endPosY,
		'left':endPosX
	}, 800,function(){
	    ByAgeAndByValueValidation(window.event, {draggable: clickedItem});
		$(this).fadeOut(function(){
			$(this).remove();
		});
	});
}

function ByAgeAndByValueValidation(event, ui) {
		    if($(".hiddenIsLodging").val() == "true"){
		        if($("#droppable ul li").length > 19)
		            return;		        
		    } else {
		        if($("#droppable ul li").length > 8)
		            return;	
		    }
		    
			var datePickerModal = $("#datePickerModal");
			//if ($("#byValue").is(":checked")) {
				if (datePickerModal.length == 0) {				    
					$("body").append("<div id='datePickerModal'></div>");
					datePickerModal = $("#datePickerModal");
					datePickerModal.html(['',
						'<div class="gBoxWrapper">', 
							'<div class="roundedCornerTopLeft"><span></span></div>', 
							'<div class="roundedCornerMiddleLeft">', 
								'<div class="roundedCornerMiddleRight gBoxContentContainer">', 
									'<div class="whiteBox">', 
										'<div class="selectStartDate">', 
											'<ul>', 
												'<li>', 
													'<span>Start Date:</span>', 
													'<input name="" type="text" class="textBoxSmall withCalendar" />',												
													'<span class="lblQuantity">Quantity:</span>', 
													'<select name="quantity" id="quantity" class="quantity">',
                                                        '<option value="1" selected>1</option>',
                                                        '<option value="2">2</option>',
                                                        '<option value="3">3</option>',
                                                        '<option value="4">4</option>',
                                                        '<option value="5">5</option>',
                                                        '<option value="6">6</option>',
                                                        '<option value="7">7</option>',
                                                        '<option value="8">8</option>',
                                                    '</select>', 
												'</li>', 
												'<li>', 
													'<div class="clearfix">', 
														'<span class="btnGrey"><input type="button" value="Ok" /></span>', 
													'</div>', 
												'</li>', 
											'</ul>', 
										'</div>', 
									'</div>', 
								'</div>', 
							'</div>', 
							'<div class="roundedCornerBottomLeft"><span></span></div>', 
						'</div>'
					].join(''));
					datePickerModal.dialog({
						bgiframe: true,
						autoOpen: false,
						width: 500,
						modal: true,
						resizable: false,
						position: 'center',
						closeOnEscape: true
					});
                    
					datePickerModal.bind('dialogbeforeclose', function(event, ui) {
						datePickerModal.find(".withCalendar").datepicker( 'hide' , 1 );
					});
					
										
                    /* artf1008566 - to fix calander icon issue on lift tkt by value page [SA] */
					var buttonImg = "";
					var bodyId = $('body').attr('id');
					switch(bodyId)
					{
					    case 'keystone':
				            buttonImg = '/VailResorts/sites/Keystone/assets/img/icon_calender.gif';
				            break;
				            
					    case 'breckenridge':
                            buttonImg = '/VailResorts/sites/breckenridge/assets/img/icon_calender.gif';
				            break;
					       
				       case 'beavercreek':
				            buttonImg = '/VailResorts/sites/beavercreek/assets/img/icon_calendar.gif';
				            break;
				       
				       case 'vail':
				            buttonImg = '/VailResorts/sites/vail/assets/img/icon_calender.gif';
				            break;
				       
				       case 'heavenly':
				            buttonImg = '/VailResorts/sites/heavenly/assets/img/icon_calender.gif';
				            break;     
					}
					/*  end of fix - artf1008566 [SA] */
					
					$(".withCalendar", datePickerModal).datepicker({
						showOn: 'both',
						buttonImage: buttonImg, /* artf1008566 [SA]*/
						buttonImageOnly: true,
						beforeShow: function(){
						    setTimeout(function(){
						        $(".ui-datepicker-calendar tbody td a").trigger("mouseover").trigger("mouseout");
						    }, 100);
						}
					});					
					
					datePickerModal.find(".btnGrey").click(function() {
					    var draggable = datePickerModal.find(".btnGrey").data("draggable");
						var dataCell = draggable.parents("tr").find("td:first");
						var startDate = createDateObj(dataCell.find("input[name='StartDate']").val());
						var endDate = createDateObj(dataCell.find("input[name='EndDate']").val());
						var strSelectedDate = datePickerModal.find("input:text").val();
						var selectedQuantity = parseInt($('#quantity :selected').text());
						var todaysDate = createDateObj($(".hiddenTodaysDate").val());
						var selectedDate = createDateObj(strSelectedDate);
						
						// To conditionally show/hide filter components on page load
						var byAgeSelected = false;
							                    					
                        if ( rdoAge.filter(":checked").length > 0 ){
                            byAgeSelected = true;
                        } 
                        
                        var selectedSeasonStartDate;
                        var selectedSeasonEndDate;
                        
                        if(byAgeSelected == true)
                        {
				            selectedSeasonStartDate = $("li.seasonListing input:radio:checked").siblings("input.seasonStartDate").val();
		                    selectedSeasonEndDate = $("li.seasonListing input:radio:checked").siblings("input.seasonEndDate").val();	
		                }	
		                else
		                {
		                    selectedSeasonStartDate = dataCell.find("input[name='StartDate']").val();//$("li.seasonListing input:radio:checked").siblings("input.seasonStartDate").val();
		                    selectedSeasonEndDate = dataCell.find("input[name='EndDate']").val();//$("li.seasonListing input:radio:checked").siblings("input.seasonEndDate").val();
		                }						
								
				        if((startDate >= createDateObj(selectedSeasonStartDate)) && (startDate >= createDateObj(selectedSeasonEndDate)))
				        {				    
				            if((todaysDate >= createDateObj(selectedSeasonStartDate)) &&  (todaysDate <= createDateObj(selectedSeasonEndDate)))
				            {
				                startDate = todaysDate;
				            }				        
				        }
        								
				        //[artf1048527]: If Lodging is selected then start date should be todays date + 2days else todays date + 7days
				        if(IsDateGreater(createDateStr(selectedSeasonStartDate), todaysDate) == false)
				        {
				            if($(".hiddenIsLodging").val() == "true")
				            {
				               var lodgingMinDate = createDateObj( $("[id$=hiddenLodgingMinStartDate]").eq(0).val() );
        				       
				               var todaysDatePlusOneDay = todaysDate;
        				       
				               todaysDatePlusOneDay.setDate(todaysDatePlusOneDay.getDate() + 1);
        				     				       				       
				               if(createDateStr(lodgingMinDate) == createDateStr(todaysDatePlusOneDay))
				               {
				                   todaysDatePlusOneDay.setDate(todaysDatePlusOneDay.getDate() + 1);				            
				                   startDate = todaysDatePlusOneDay;	 
				               }				       
				               else
				               {
				                    startDate = lodgingMinDate;				            
				               }		   
				            }
				            else
				            {				        
				               var todaysDatePlusSevenDays = todaysDate;
        				       
				               todaysDatePlusSevenDays.setDate(todaysDatePlusSevenDays.getDate() + 7);
        				       
				               todaysDate = createDateObj($(".hiddenTodaysDate").val());			       				       
        				       
				               if((todaysDate >= createDateObj(selectedSeasonStartDate)) && (createDateObj(selectedSeasonEndDate) >= todaysDatePlusSevenDays))
				               {	
				                    startDate = todaysDate;			        
				                    startDate.setDate(todaysDate.getDate() + 7);
				               }
				            }	
				        }
				        else
				        {
				            if($(".hiddenIsLodging").val() == "true")
				            {				        
				               var lodgingMinDate = createDateObj( $("[id$=hiddenLodgingMinStartDate]").eq(0).val() );
        				       
				               var todaysDatePlusOneDay = todaysDate;				       
				               todaysDatePlusOneDay.setDate(todaysDatePlusOneDay.getDate() + 1);
        				       
				               lodgingMinDate = createDateObj( $("[id$=hiddenLodgingMinStartDate]").eq(0).val() );
        				       				       
				               if(lodgingMinDate.getMonth() == createDateObj(selectedSeasonStartDate).getMonth())
				               {
        				        
				                   if(createDateStr(lodgingMinDate) == createDateStr(todaysDatePlusOneDay))
				                    {
				                        todaysDatePlusOneDay.setDate(todaysDatePlusOneDay.getDate() + 1);				            
				                        startDate = todaysDatePlusOneDay;	 
				                    } 
				                   else
				                   {
				                        if(lodgingMinDate < createDateObj(selectedSeasonStartDate))
				                        {				                    
				                            startDate = createDateObj(selectedSeasonStartDate);				                            
				                        }
				                        else
				                        {				                
				                            startDate = lodgingMinDate;
				                        }
				                   } 
				               }
				               else if(createDateObj(selectedSeasonStartDate) > lodgingMinDate)
				               {				        
				                    startDate = createDateObj(selectedSeasonStartDate);
				               }
				               else if((lodgingMinDate >= createDateObj(selectedSeasonStartDate)) || (lodgingMinDate <= createDateObj(selectedSeasonEndDate)))
				               {
				                    startDate = lodgingMinDate;				            			            
				               }				       
				               //else if((createDateStr(lodgingMinDatePlusOne) <= createDateStr(selectedSeasonStartDate)) && (createDateStr(lodgingMinDate) <= createDateStr(selectedSeasonEndDate)))
				               //{				            
				                    //startDate = createDateObj(selectedSeasonStartDate);		
				               //}
				            }
				            else
				            {				        
				               var todaysDatePlusSevenDays = todaysDate;
        				       
				               todaysDatePlusSevenDays.setDate(todaysDatePlusSevenDays.getDate() + 7);
        				       
				               todaysDate = createDateObj($(".hiddenTodaysDate").val());			       				       
        				       
				               if((todaysDate >= createDateObj(selectedSeasonStartDate)) && (createDateObj(selectedSeasonEndDate) >= todaysDatePlusSevenDays))
				               {
				                    startDate = todaysDate;				       
				                    startDate.setDate(todaysDate.getDate() + 7);
				               }
				               else if((todaysDatePlusSevenDays >= createDateObj(selectedSeasonStartDate)) && (createDateObj(selectedSeasonEndDate) >= todaysDatePlusSevenDays))
				               {
				                    startDate = todaysDate;				        
				                    startDate.setDate(todaysDate.getDate() + 7);
				               }
				            }				
				        }	
        					
				        //var endDate;
				        if($("li.seasonListing input:radio:checked") != null)
				        {				    
				            endDate = createDateObj(selectedSeasonEndDate);				    
				        }
				        else
				        {					    
				            endDate = createDateObj(dataCell.find("input[name='EndDate']").val());
				        }
						
						if(strSelectedDate == null || strSelectedDate == ""){
							datePickerModal.find(".selectStartDate ul li.errorMessage").remove();
							datePickerModal.find(".selectStartDate ul").prepend("<li class='errorMessage'>Please complete the required fields:<br/> Start Date.</li>");
						} 
                        else{
						    if(selectedDate == null || selectedDate == "Invalid Date"){
							    datePickerModal.find(".selectStartDate ul li.errorMessage").remove();
							    var errorMsg="<li class='errorMessage'>You have entered the following invalid data:<br>Start Date - date format must be MM/DD/YYYY<br>Please re-enter your data.</li>"
							    datePickerModal.find(".selectStartDate ul").prepend(errorMsg);
						    } 
						    else if($(".hiddenIsLodging").val() == "true" && (liftTicketsDraggedCount + selectedQuantity) > 19){
						        datePickerModal.find(".selectStartDate ul li.errorMessage").remove();						        
							    var errorMsg="<li class='errorMessage'>You can purchase only 19 lift tickets at a time. You have already selected " + liftTicketsDraggedCount + " lift tickets.</li>"
							    datePickerModal.find(".selectStartDate ul").prepend(errorMsg);							    
						    }
						    else if($(".hiddenIsLodging").val() == "false" && (liftTicketsDraggedCount + selectedQuantity) > 8){
						        datePickerModal.find(".selectStartDate ul li.errorMessage").remove();						        
							    var errorMsg="<li class='errorMessage'>You can purchase only 8 lift tickets at a time. You have already selected " + liftTicketsDraggedCount + " lift tickets.</li>"
							    datePickerModal.find(".selectStartDate ul").prepend(errorMsg);						    
						    }
						    else if (startDate <= selectedDate && selectedDate <= endDate) {
						        liftTicketsDraggedCount = liftTicketsDraggedCount + selectedQuantity;
						        if(liftTicketsDraggedCount < 8)
						        {
						            for(var i=0; i < selectedQuantity; i++)
						            {
							            addTicketToTray(draggable, strSelectedDate);
                        				
			                            var hiddenSelectedDate = $("#droppable li:last input[name='SelectedDate']");
			                            hiddenSelectedDate.val(strSelectedDate);
        			                    
			                            var hiddenSelectedSKU = $("#droppable li:last input[name='SelectedSKU']");
			                            var SKU = draggable.find("input:hidden").val();
			                            hiddenSelectedSKU.val( SKU );
			                        }
			                    }
    			                else
    			                {
    			                    for(var i=0; i < selectedQuantity; i++)
						            {
							            addTicketToTray(draggable, strSelectedDate);
                        				
			                            var hiddenSelectedDate = $("#droppable li:last input[name='SelectedDate']");
			                            hiddenSelectedDate.val(strSelectedDate);
        			                    
			                            var hiddenSelectedSKU = $("#droppable li:last input[name='SelectedSKU']");
			                            var SKU = draggable.find("input:hidden").val();
			                            hiddenSelectedSKU.val( SKU );
			                        }
    			                }
							    datePickerModal.dialog("close");
						    } else {
							    datePickerModal.find(".selectStartDate ul li.errorMessage").remove();
							    datePickerModal.find(".selectStartDate ul").prepend("<li class='errorMessage'>You have entered an invalid date, [" + createDateStr(selectedDate) + "]. Selected date should lie between [" + createDateStr(startDate) + "] - [" + createDateStr(endDate) + "]</li>");
						    }
						 }
					});
				}
				else
				{
				    if($("#quantity") != null)
				    {				        
				        $('#quantity').val('1');				     
				    }
				}
				var dataCell = ui.draggable.closest("tr").find("td:first");
				var startDate = createDateObj(dataCell.find("input[name='StartDate']").val());
				var endDate = createDateObj(dataCell.find("input[name='EndDate']").val());
				var todaysDate = createDateObj($(".hiddenTodaysDate").val());
				var selectedSeasonStartDate = $("li.seasonListing input:radio:checked").siblings("input.seasonStartDate").val();
				var selectedSeasonEndDate = $("li.seasonListing input:radio:checked").siblings("input.seasonEndDate").val();				
				
				
				var byAgeSelected = false;
						
                if ( rdoAge.filter(":checked").length > 0 ){
                    byAgeSelected = true;
                } 
                var selectedSeasonStartDate;
                var selectedSeasonEndDate;
                
                if(byAgeSelected == true)
                {
				    selectedSeasonStartDate = $("li.seasonListing input:radio:checked").siblings("input.seasonStartDate").val();
		            selectedSeasonEndDate = $("li.seasonListing input:radio:checked").siblings("input.seasonEndDate").val();	
		        }	
		        else
		        {
		            selectedSeasonStartDate = dataCell.find("input[name='StartDate']").val();//$("li.seasonListing input:radio:checked").siblings("input.seasonStartDate").val();
		            selectedSeasonEndDate = dataCell.find("input[name='EndDate']").val();//$("li.seasonListing input:radio:checked").siblings("input.seasonEndDate").val();
		        }	
				
				if((startDate >= createDateObj(selectedSeasonStartDate)) && (startDate >= createDateObj(selectedSeasonEndDate)))
				{				    
				    if((todaysDate >= createDateObj(selectedSeasonStartDate)) &&  (todaysDate <= createDateObj(selectedSeasonEndDate)))
				    {
				        startDate = todaysDate;
				    }				        
				}
								
				//[artf1048527]: If Lodging is selected then start date should be todays date + 2days else todays date + 7days
				if(IsDateGreater(createDateStr(selectedSeasonStartDate), todaysDate) == false)
				{
				    if($(".hiddenIsLodging").val() == "true")
				    {
				       var lodgingMinDate = createDateObj( $("[id$=hiddenLodgingMinStartDate]").eq(0).val() );
				       
				       var todaysDatePlusOneDay = todaysDate;
				       
				       todaysDatePlusOneDay.setDate(todaysDatePlusOneDay.getDate() + 1);
				     				       				       
				       if(createDateStr(lodgingMinDate) == createDateStr(todaysDatePlusOneDay))
				       {
				           todaysDatePlusOneDay.setDate(todaysDatePlusOneDay.getDate() + 1);				            
				           startDate = todaysDatePlusOneDay;	 
				       }				       
				       else
				       {
				            startDate = lodgingMinDate;				            
				       }		   
				    }
				    else
				    {				        
				       var todaysDatePlusSevenDays = todaysDate;
				       
				       todaysDatePlusSevenDays.setDate(todaysDatePlusSevenDays.getDate() + 7);
				       
				       todaysDate = createDateObj($(".hiddenTodaysDate").val());			       				       
				       
				       if((todaysDate >= createDateObj(selectedSeasonStartDate)) && (createDateObj(selectedSeasonEndDate) >= todaysDatePlusSevenDays))
				       {				        	
				            startDate = todaysDate;
				            startDate.setDate(todaysDate.getDate() + 7);				            
				       }
				    }	
				}
				else
				{
				    if($(".hiddenIsLodging").val() == "true")
				    {				        
				       var lodgingMinDate = createDateObj( $("[id$=hiddenLodgingMinStartDate]").eq(0).val() );
				       
				       var todaysDatePlusOneDay = todaysDate;				       
				       todaysDatePlusOneDay.setDate(todaysDatePlusOneDay.getDate() + 1);
				       
				       lodgingMinDate = createDateObj( $("[id$=hiddenLodgingMinStartDate]").eq(0).val() );
				       				       
				       if(lodgingMinDate.getMonth() == createDateObj(selectedSeasonStartDate).getMonth())
				       {
				        
				           if(createDateStr(lodgingMinDate) == createDateStr(todaysDatePlusOneDay))
				            {
				                todaysDatePlusOneDay.setDate(todaysDatePlusOneDay.getDate() + 1);				            
				                startDate = todaysDatePlusOneDay;	 
				            } 
				           else
				           {
				                if(lodgingMinDate < createDateObj(selectedSeasonStartDate))
				                {				                    
				                    startDate = createDateObj(selectedSeasonStartDate);				                    
				                }
				                else
				                {				                
				                    startDate = lodgingMinDate;
				                }
				           } 
				       }
				       else if(createDateObj(selectedSeasonStartDate) > lodgingMinDate)
				       {				        
				            startDate = createDateObj(selectedSeasonStartDate);
				       }
				       else if((lodgingMinDate >= createDateObj(selectedSeasonStartDate)) || (lodgingMinDate <= createDateObj(selectedSeasonEndDate)))
				       {
				            startDate = lodgingMinDate;				            			            
				       }				       
				       //else if((createDateStr(lodgingMinDatePlusOne) <= createDateStr(selectedSeasonStartDate)) && (createDateStr(lodgingMinDate) <= createDateStr(selectedSeasonEndDate)))
				       //{				            
				            //startDate = createDateObj(selectedSeasonStartDate);		
				       //}
				    }
				    else
				    {				        
				       var todaysDatePlusSevenDays = todaysDate;
				       
				       todaysDatePlusSevenDays.setDate(todaysDatePlusSevenDays.getDate() + 7);
				       
				       todaysDate = createDateObj($(".hiddenTodaysDate").val());			       				       
				       
				       if((todaysDate >= createDateObj(selectedSeasonStartDate)) && (createDateObj(selectedSeasonEndDate) >= todaysDatePlusSevenDays))
				       {				       
				            startDate = todaysDate;
				            startDate.setDate(todaysDate.getDate() + 7);
				       }
				       else if((todaysDatePlusSevenDays >= createDateObj(selectedSeasonStartDate)) && (createDateObj(selectedSeasonEndDate) >= todaysDatePlusSevenDays))
				       {
				            startDate = todaysDate;				        
				            startDate.setDate(todaysDate.getDate() + 7);
				       }
				    }				
				}	
					
				//var endDate;
				if($("li.seasonListing input:radio:checked") != null)
				{				    
				    endDate = createDateObj(selectedSeasonEndDate);				    
				}
				else
				{					    
				    endDate = createDateObj(dataCell.find("input[name='EndDate']").val());
				}
				
				
				$(".withCalendar", datePickerModal).datepicker('option', 'minDate', startDate);
				$(".withCalendar", datePickerModal).datepicker('option', 'maxDate', endDate);
				
				datePickerModal.find(".btnGrey").data("draggable", ui.draggable);
				datePickerModal.find(".selectStartDate input:text").val("");
				datePickerModal.find(".selectStartDate ul li.errorMessage").remove();
				datePickerModal.find(".selectStartDate span:contains('Start Date:')").removeClass("errorMessage");
				$(".withCalendar", datePickerModal).datepicker('disable');
				datePickerModal.dialog('open');
				$(".withCalendar", datePickerModal).datepicker('enable');
						    
			    if(IsDateMMDDYYYY($("#startDatePicker").val())==true)
			    {
				    datePickerModal.find(".selectStartDate input:text").val($("#startDatePicker").val());
				}
			
			/*} else {
				var selectedDate = $("#divStartDate").text();
				addTicketToTray(ui.draggable,selectedDate);				
				
				var hiddenSelectedDate = $("#droppable li:last input[name='SelectedDate']");
				hiddenSelectedDate.val(selectedDate);
				
				var SKU = ui.draggable.find("input:hidden");
				var hiddenSelectedSKU = $("#droppable li:last input[name='SelectedSKU']");
				hiddenSelectedSKU.val( SKU.val() );
			}*/
		}
