﻿jQuery(document).ready(function(){
    var location, ticket;

    $(".optionitem").find('input').css('visibility','hidden');
    $(".ticketLabel").find('input').css('visibility','hidden');

    //Map button interactions
    function whichlocation(){
        $("#directionsContainer").slideDown();
	    switch($(this).find("input").val()){
		    case "New York":
			    chooseNY();
			    break;
		    case "New Jersey":
		    default:
			    chooseNJ();
	    }
    }

    function chooseNJ(){
	    $("#mappicture").attr('src','images/widget/map-new-jersey.jpg').attr('alt','Depart from New Jersey - Liberty State Park');
	    $(".optionitem").find("input").slice(0,1).attr("checked",true);
	    $(".optionitem").slice(0,1).css("background","#9f3a0d url('images/widget/state_box_selected.gif') no-repeat");
	    $(".optionitem").slice(1,2).css("background","#255488");
	    $("#njDirections").fadeIn('slow');
	    $("#nyDirections").fadeOut('slow');
	    $(".stateErrorBox").slideUp();
	    return false;
    }

    function chooseNY(){
	    $("#mappicture").attr('src','images/widget/map-new-york.jpg').attr('alt','Depart from New York - Battery Park');
	    $(".optionitem").find("input").slice(1,2).attr("checked",true);
	    $(".optionitem").slice(1,2).css("background","#9f3a0d url('images/widget/state_box_selected.gif') no-repeat");
	    $(".optionitem").slice(0,1).css("background","#255488");
	    $("#nyDirections").fadeIn('slow');
	    $("#njDirections").fadeOut('slow');
	    $(".stateErrorBox").slideUp();
	    return false;
    }

    //Starts accordion  -  Custom checkboxes/radio buttons added aside from UI Theme
        $(".accordion").accordion({
		    active:false,
		    collapsible:true,
		    autoHeight: false,
		    header: "label",
		    change: function(event, ui){
		            if(ui.newHeader.find("input").attr("checked") == true){
		                ui.oldHeader.find("input").attr("checked",false);
                        ui.newHeader.find("input").attr("checked",true);
		            }else {
			            ui.newHeader.find("input").attr("checked",true);
                        ui.oldHeader.find("input").attr("checked",false);
			        }
		    },
		    icons: { 'header': 'ui-icon-checkbox-unchecked', 
				    'headerSelected': 'ui-icon-circle-check' 
		    }

	    });

//!!  USING DEPRECATED BROWSER DETECTION  --  Bug in Accordion:  tables and anchor tags disappear when autoheight is false and viewed in IE6
	    if ($.browser.msie && $.browser.version.substr(0,1)<7) {
	        $(".accordion").accordion('option', 'navigation', true);
	    }


    $(".optionitem").click(whichlocation);
    
    function slideTickErrorUp(){
        $(".ticketErrorBox").slideUp();
    }
    
    $(".ticketLabel").click(function(){
        slideTickErrorUp();
    })

    $("#mapNJ").click(function(){
        $("#directionsContainer").slideDown();
        chooseNJ();
        return false;
    });
    $("#mapNY").click(function(){
        $("#directionsContainer").slideDown();
        chooseNY();
        return false;
    });
    

    //Hover indicator for map options section	
    $(".optionitem").hover(
	    function(){
		    if($(this).find("input").attr("checked") == false){
			    $(this).css("background","#4d75ac url('images/widget/state_box_hover.gif') no-repeat");
		    }
	    },
	    function(){
		    if($(this).find("input").attr("checked") == false){
			    $(this).css("background","#255488");
		    }
	    }
    );

    $(function() {
	    $("#compareTickets").dialog({
			show: 'fade',
			hide: 'fade',
	        title: "Compare Ticket Types",
		    autoOpen: false,
		    closeOnEscape: true,
		    draggable: true,
		    modal: true,
		    position: 'center',
		    height: 350,
		    width: 600,
		    minWidth: 600,
		    minHeight: 350
    		
	    });
    	
	    $(".compareLink").click(function(){
		    $("#compareTickets").dialog( 'open' );
		    return false;
	    });
    	
    	
    });
	
	$(function() {
	    $("#audioTourDetails").dialog({
  			show: 'fade',
			hide: 'fade',
	        title: "Audio Tour Details",
		    autoOpen: false,
		    closeOnEscape: true,
		    draggable: true,
		    modal: true,
		    position: 'center',
		    height: 220,
		    width: 600,
		    minWidth: 600,
		    minHeight: 220
    		
	    });
    	
	    $(".audioTourLink").click(function(){
		    $("#audioTourDetails").dialog( 'open' );
		    return false;
	    });
    	
    	
    });
    		
	$(function() {
	    $("#crownFAQs").dialog({
  			show: 'fade',
				hide: 'fade',
	      title: "Statue of Liberty Crown FAQs",
		    autoOpen: false,
		    closeOnEscape: true,
		    draggable: true,
		    modal: true,
		    position: 'center',
		    height: 420,
		    width: 600,
		    minWidth: 600,
		    minHeight: 420
    		
	    });

	    $(".crownFAQsLink").click(function(){
		    $("#crownFAQs").dialog( 'open' );
		    return false;
	    });

    });
   	

    $(".submitButton").click(function(){
		var locationFlag = false;
		var ticketFlag = false;
		$(".departfrom").each(function(){
			if($(this).attr("checked") == true){
				locationFlag = true;
			}
		});
		
		$(".head").each(function(){
			if($(this).attr("checked") == true){
				ticketFlag = true;
			}
		});
		
		if(locationFlag == false){
			$(".stateErrorBox").slideDown().html("<span class=\"errorMessage\">*Please choose a port to depart from.</span>");
			$.scrollTo( $(".stateErrorBox"), 800 );
			return false;
		}
		else if(ticketFlag == false){
			$(".ticketErrorBox").slideDown().html("<span class=\"errorMessage\">*Please choose a ticket type.</span>");
			$.scrollTo( $(".ticketErrorBox"), 800 );
			return false;
		}
		else{
			$(".loadBar").fadeIn();
			//bug with asp.net and animation stopping when form is submitted
			setTimeout( function(){$(".loadImg").attr('src','images/widget/loadingBar.gif');}, 100);
		}

    });


    function checkCheckedOptions(){
    //function runs through checked radio options again if page is revisited
	//	$(".loadBar").fadeIn();
        var locIndex,tickIndex; //initialize variables
        
        /* Location Section  */
        $(".optionitem").each(function(index,domEle){
            if($(domEle).find('input').attr("checked") == true){
                locIndex = index;
            }
        });
        //sets active part of map
        switch(locIndex){
            case 0:
                chooseNJ();
                break;
            case 1:
                chooseNY();
                break;
                
        }
        
        /* Ticket Section  */
        $(".ticketLabel").each(function(index,domEle){
            if($(domEle).find('input').attr("checked") == true){
                tickIndex = index;
            }
        });
        //sets active portion of the accordion if there is an index found
        if(tickIndex != undefined && tickIndex >= 0){
            slideTickErrorUp();
            $(".accordion").accordion( 'activate' , tickIndex );
        }
    }
    checkCheckedOptions();
	
/*	
    //  Initializes/Resets Form
	function resetForm(){
	    $(".accordion").accordion( 'activate' , false );
	    $("#mappicture").attr('src','images/widget/map-none.jpg').attr('alt','Choose a location to depart from.');	
	    $(".optionitem").find("input").attr("checked",false);
	    $(".optionitem").css("background","#255488");
	    $("#njDirections").hide('fast');
	    $("#nyDirections").hide('fast');
	    $("#directionsContainer").slideUp('fast');
	    $(".head").attr("checked",false);
	    $("#loadBar").fadeOut();
	    return false;
    }
	//Reset button to return to initial state
    $("#resetButton").click(resetForm);	
    resetForm();
*/

});


