
$(function(){  
 		$('#logo').hide(); // Logo Fade in
		$('#logo').fadeIn(1250);
});

$(document).ready(function($){
	$('.fade').mosaic();
});

// Share button On click
var addthis_config = {
   ui_click: true,
   ui_offset_left: 3,
   ui_offset_top: 20
}

$(function(){
    $('#checkin').datepicker({
    	altField: "#hiddenDateCheckin",
    	altFormat: "yymmdd",
    	minDate: '0' 
    });
    $('#checkout').datepicker({
    	altField: "#hiddenDateCheckout",
    	altFormat: "yymmdd",
    	minDate: '1' 
    });
    $('#checkin1').datepicker({
    	altField: "#hiddenDateCheckin1",
    	altFormat: "yymmdd",
    	minDate: '0' 
    });
    $('#checkout1').datepicker({
    	altField: "#hiddenDateCheckout1",
    	altFormat: "yymmdd",
    	minDate: '1' 
    });
});
function changeCheckout(){
    
    var s = document.forms.reservation.pdcheckinyyyymmdd.value.split('');
    dateString = s[4] + s[5] + '/' + s[6] + s[7] + '/' + s[0] + s[1] +s[2] + s[3];
    start = new Date(dateString);
    start.setDate(start.getDate() + 1);

    
    $('#checkout').datepicker("option","minDate", start);
}
function changeCheckout1(){
    
    var s = document.forms.reservation1.pdcheckinyyyymmdd.value.split('');
    dateString = s[4] + s[5] + '/' + s[6] + s[7] + '/' + s[0] + s[1] +s[2] + s[3];
    start = new Date(dateString);
    start.setDate(start.getDate() + 1);

    
    $('#checkout1').datepicker("option","minDate", start);
}

// Form Radio buttons

    function setupLabel() {
        if ($('.label_check input').length) {
            $('.label_check').each(function(){ 
                $(this).removeClass('c_on');
            });
            $('.label_check input:checked').each(function(){ 
                $(this).parent('label').addClass('c_on');
            });                
        };
        if ($('.label_radio input').length) {
            $('.label_radio').each(function(){ 
                $(this).removeClass('r_on');
            });
            $('.label_radio input:checked').each(function(){ 
                $(this).parent('label').addClass('r_on');
            });
        };
    };
    $(document).ready(function(){
        $('body').addClass('has-js');
        $('.label_check, .label_radio').click(function(){
            setupLabel();
        });
        setupLabel(); 
    });

//FORM VALIDATION 
//Requires jquery-validation plugin : http://bassistance.de/jquery-plugins/jquery-plugin-validation/


	$(document).ready(function(){
	
		$("#mailinglist_form").validate({
			rules:{"Email": {required:true,defaultInvalid:true,email:true}},
			messages:{"email": {
				required:"Please Enter a Valid Email Address",
				defaultInvalid:"Please Enter a Valid Email Address",
				email:'Please Enter a Valid Email Address'}
				},
			errorClass : "error-message"
		});
		
		$('#contact-us').validate({	
			rules:{
				"emailselect" : {required: true, selectRecipient: true, defaultInvalid: true},
				"First_Name" : {required: true, defaultInvalid: true},
				"Last_Name" : {required: true, defaultInvalid: true},
				"Email_Address" : {required: true, email:true, defaultInvalid: true},
				"message_text": {required:true, defaultInvalid:true}
			},
			messages :{
				"emailselect" : {required : "Please Select a Recipient", 
								 defaultInvalid : "Please Select a Recipient", 
								 selectRecipient : "Please Select a Recipient"
								},
				"First_Name" : {
								required: "Please Enter Your First Name",
								defaultInvalid: "Please Enter Your First Name"
								},
				"Last_Name" : {
								required: "Please Enter Your Last Name",
								defaultInvalid: "Please Enter Your Last Name"
								},
				"Email_Address" : {
								required: "Please Enter a Valid Email Address",
								defaultInvalid : "Please Enter a Valid Email Address"
								},
				"message_text" : {
								required: "Please Enter a Message",
								defaultInvalid : "Please Enter a Message"
								}				
			},
			errorClass : "error-message"
			
		});
		
		$("#signup").validate({
		rules:{
			"First Name" : {
				required: true,
				defaultInvalid : true
				},
			"Last Name" : {
				required: true,
				defaultInvalid : true
				},
			"Email Address" : {
				required: true,
				defaultInvalid : true,
				email: true
			},
			"Birthday" : {
				required: true,
				defaultInvalid : true,
				date: true
			},
			"Address" : {
				required : true,
				defaultInvalid: true
			},
			"City" : {
				required: true,
				defaultInvalid : true
			},
			"State" : {
				required : true,
				defaultInvalid: true
			},
			"Zip" : {
				required : true,
				defaultInvalid : true
			}
		},
		messages:{
			"First Name": {
				required: "Please Enter Your First Name",
				defaultInvalid: "Please Enter Your First Name"
				},
			"Last Name":{
				required: "Please Enter Your Last Name",
				defaultInvalid: "Please Enter Your Last Name"
				},
			"Email Address" : {
				required: "Please Enter a Valid Email Address",
				defaultInvalid : "Please Enter a Valid Email Address"
				},
			"Birthday" : {
				required: "Please Enter a Valid Date",
				date : "Please Enter a Valid Date",
				defaultInvalid : "Please Enter a Valid Date"
				},
			"Address" : {
				required: "Please Enter Your Address",
				defaultInvalid : "Please Enter Your Address"
			},
			"City" : {
				required: "Please Enter Your City",
				defaultInvalid : "Please Enter Your City"
			},
			"Zip" : {
				required : "Pleae Enter Your Zip",
				defaultInvalid : "Pleae Enter Your Zip"
			},
			"State" : {
				required : "Please Enter Your State",
				defaultInvalid: "Please Enter Your State"
			}
			
			
			
		},
		errorClass : "error-message"
		});
		
		$('#request-form').validate({
			rules:{
				"organizationname" : {required: true, defaultInvalid: true},
				"contactname" : {required: true, defaultInvalid: true},
				"title" : {required: true, defaultInvalid: true},
				"tbemail" : {required: true, email:true, defaultInvalid: true},
				"street": {required:true, defaultInvalid:true},
				"city": {required:true, defaultInvalid:true},
				"state": {required:true, selectState:true},
				"zipcode": {required:true, defaultInvalid: true},
				"phone": {required:true, defaultInvalid:true},
				"meeting_type": {required:true, defaultInvalid:true, selectMeeting: true},
				"begindate": {required:true, defaultInvalid:true},
				"enddate": {required:true, defaultInvalid:true},
				"head_count": {required:true, defaultInvalid:true},
				"room_count" : { required: function(element){ return $('#lodging_required').is(':checked');} , defaultRoomInvalid: true }
			},
			messages :{
				"organizationname" : {required: "Please Enter Your Organization Name", defaultInvalid: "Please Enter Your Organization Name"},
				"contactname" : {required: "Please Enter Your Contact Name" , defaultInvalid: "Please Enter Your Contact Name"},
				"title" : {required: "Please Enter Your Contact Title", defaultInvalid: "Please Enter Your Contact Title"},
				"tbemail" : {required: "Please Enter A Valid Email", email: "Please Enter A Valid Email", defaultInvalid: "Please Enter A Valid Email"},
				"street": {required:"Please Enter a Street Address", defaultInvalid:"Please Enter a Street Address"},
				"city": {required:"Please Enter a City", defaultInvalid:"Please Enter a City"},
				"state": {required:"Please Select a State", selectState:"Please Select a State"},
				"zipcode": {required:"Please Enter a Zipcode", defaultInvalid:"Please Enter a Zipcode"},
				"phone": {required:"Please Enter a Phone Number", defaultInvalid:"Please Enter a Phone Number", phone: "Please Enter a Valid Phone Number"},
				"meeting_type": {required:"Please Select a Meeting Type", defaultInvalid:"Please Select a Meeting Type" , selectMeeting: "Please Select a Meeting Type"},
				"begindate": {required:"Please Enter a Valid Date", defaultInvalid:"Please Enter a Valid Date", date:"Please Enter a Valid Date"},
				"enddate": {required:"Please Enter a Valid Date", defaultInvalid:"Please Enter a Valid Date" , date:"Please Enter a Valid Date"},
				"head_count": {required:"Please Enter Expected Attendance", defaultInvalid:"Please Enter Expected Attendance"},
				"room_count" : {required:"Please Enter Number of Rooms",defaultRoomInvalid:"Please Enter Number of Rooms"}
			},
			errorClass : "error-message"
			
		});
		
		// adding special method to fail on default value
		$.validator.addMethod("defaultInvalid", function(value, element) 
		{
		if (element.value == element.defaultValue)
		{
			return false;
		}
		return true;
		});
		
		$.validator.addMethod("defaultRoomInvalid", function(value, element) 
		{
		if ((element.value == element.defaultValue || isNaN(element.value)) && $('#lodging_required').is(':checked') )
		{
			return false;
		}
		return true;
		});
		
		$.validator.addMethod("selectRecipient", function(value,element)
		{
			if (element.value == 'SELECTONE')
			{
				return false;
			}
			return true;
		});
		
		$.validator.addMethod("selectMeeting", function(value,element)
		{
			if (element.value == 'none_selected')
			{
				return false;
			}
			return true;
		});
	
		$.validator.addMethod("selectState", function(value,element)
		{
			if (element.value == 'Select State')
			{
				return false;
			}
			return true;
		});
			
		$.validator.addMethod('phone', function(value) 
		{
			var numbers = value.split(/\d/).length - 1;
			return (10 <= numbers && numbers <= 20 && value.match(/^(\+){0,1}(\d|\s|\(|\)){10,20}$/)); 
		});
		
		
	});
