﻿(function($j){

	Code.registerNamespace('Website');

	Website.Core = {
	
		content: null,
		cookieName: "DisneySurveyLaunch",
		
		
		showLocationMap: function(){
			var searchBox = $j('.home-search-content');
			$j('.select-location select',searchBox).change(function(){
				var mapLocation = $j('.frow-map a',searchBox).attr('href');
				var mapLocationTrim = mapLocation.substring(mapLocation.lastIndexOf('?'),mapLocation.length);
				var trimLength = 0;
				if(mapLocationTrim.charAt(0) == '?'){
					 trimLength = mapLocationTrim.length;
				}
				mapLocation = mapLocation.substring(0, (mapLocation.length-trimLength));
				var URL = mapLocation + '?CID=' + $j(this).val();
				//alert(URL);
				$j('.frow-map a',searchBox).attr('href', URL);
			});
		},
		
		clearSearchField: function(){
			$j('.search-text').focus(function(){
				$j(this).val('');
			});
		},
		
		
			calcPartySize: function(){
				var self = this;
				if($j('.booking-form').size()){
					//hide party details
					$j('.frow-party').hide();
					
					var partySelect = $j('#ctl00_DefaultContentPlaceHolder_PartySize');
					self.showPartyDetails(partySelect.val());
					partySelect.change(function(){
						var newAppend = $j(this).val();
						if(newAppend != ""){
							self.showPartyDetails(newAppend);
						}
					});
				}
			},
			
			showPartyDetails: function(args){
				$j('.frow-party').hide();
				for(var i=0; i < args; i++){
					$j('#ctl00_DefaultContentPlaceHolder_Age' + i + ',#ctl00_DefaultContentPlaceHolder_Party' + i).parent().show();
				}
			},
			
			showMoreOptions: function(){
				var self = this
				$j('.more-options', 'fieldset').click(function(){
					$j('.facilities-overflow').css({'display':'block'});
					return false;
				});
				self.initClose();
			},
			
			initClose: function(){
				$j('h2 span, img.done', '.facilities-overflow').click(function(){
					$j('.facilities-overflow').css({'display': 'none'});
				});
			},
			
			checkOptions: function(){
				var self = this;
				var facilities = $j('#Facilities');
				if(facilities.size()){
					self.hideExtraOptions();
				}
			},
			
			hideExtraOptions: function(){
				var self = this;
				var facilities = $j('#Facilities');
				var extra = ('');
				$j('li', facilities).each(function(index){
					if(index > 3){
						$j(this).addClass('hidden more-options-item');
						extra += ($j(this).html());
					}
				});
				$j('.more-options-item',facilities).remove();
				self.addMoreOptions(extra);
				
			},
			
			addMoreOptions: function(opts){
				var self = this;
				var facilities = $j('#Facilities');
				var fachide = $j('.fachide');
				$j('.frow-action', '.home-search-content').prepend('<a href="#" class="more-options">Choose more options</a>');
				var extraOpts = ('<div class="facilities-overflow"><h2><strong>Facilities</strong><span class="close">X</span></h2>' + opts + '</div>');
				facilities.append(extraOpts);
				$j('.facilities-overflow').append('<div class="action"><img src="/_Client/Images/Buttons/Done.png" alt="done" class="done" /></div>');
				self.activatedOptions();
				self.showMoreOptions();
				self.checkForCheckedOptions();
				fachide.addClass('fac-show').removeClass('fachide');
			},
			
			activatedOptions: function(){
				var self = this;
				var extras = $j('.facilities-overflow');
				$j('input:checkbox', extras).each(function(){
					$j(this).bind('click',function(){
						if($j(this).attr('checked')){
							$j('.more-options').addClass('added-options');
						}else{
							$j('.more-options').removeClass('added-options');
						}
					});
					
				});
			},
			
			checkForCheckedOptions: function(){
				var self = this;
				var extras = $j('.facilities-overflow');
				var count = 0;
				
				$j('input:checkbox', extras).each(function(){
					if($j(this).attr('checked')){
						count ++;
					}
				});
				
				
				if(count > 0){
					$j('.more-options').addClass('added-options');
				}else{
					$j('.more-options').removeClass('added-options');
				}
				
			},
			
			initDatePicker: function(){
				
				if($j('.booking-form').size()){
					$j('.date-pick').datePicker({clickInput:true})
					$j('#CheckIn').bind(
						'dpClosed',
						function(e, selectedDates)
						{
							var d = selectedDates[0];
							if (d) {
								d = new Date(d);
								$j('#CheckOut').dpSetStartDate(d.addDays(1).asString());
							}
						}
					);
					$j('#CheckOut').bind(
						'dpClosed',
						function(e, selectedDates)
						{
							var d = selectedDates[0];
							if (d) {
								d = new Date(d);
								$j('#CheckIn').dpSetEndDate(d.addDays(-1).asString());
							}
						}
					);
				};
				
			},
			
			currencyConverter: function(){
				var self = this;
				if($j('.currency-converter').size()){
						
						$j('#SubmitCurrency').click(function() {
						
							$j('#aspnetForm').submit(function(){
								$j(this).attr('action','http://www.xe.com/ucc/convert.cgi');
							});
							
						});
				}
			
			},
			
			activateAccessbility: function(){
				var self = this;
				var links = '.acc-links';
				$j(links).click(function(event){
					var myTarget = $j(event.target);
					if(myTarget.is('a')){
					var size = myTarget.attr('rel');
						$j('body').css({'font-size': size+'px'});
					}
					return false;
				});
			},
			
			loadSurveyButton: function(){
				var self = this;
				var cookieName = self.cookieName;
				var cookieVal = $j.cookie(cookieName);
				if(cookieVal == null || cookieVal == "noSurvey" || cookieVal == "" || cookieVal == undefined){
					self.placeSurveyBanner();
				}	
			},
			
			placeSurveyBanner: function(){
				var self = this;
				
				var surveyBanner = ('<div class="survey-banner"><img src="/_Client/Images/Global/Survey.png" alt="Take our survey" /></div>');
				$j(surveyBanner).insertAfter('.weather-info');
				$j('.survey-banner').click(function(){
					//self._loadSurvey();
				});
				
			},
			
			_loadSurvey: function(){
		//	alert('hit');
			var self = this;
			var surveyUrl = 'http://surveys.polldaddy.com/s/B4EBAE341803BCCB/';
			$j.leModal.show({
				clickBackgroundToHide: true,
				overlayOpacity: 0.5,
				overlayBackground: 'white',
				modalTopAdjustment: 10,
				showAnimationSpeed: 'fast',
				width: '600',
				setContentCallBack: function(jModalWin){
					jModalWin.html('<div class="survey-overlay"><div class="loader"><p><img src="/_Client/Images/Global/ajax-loader.gif" alt="loading" /></p></div></div>');
					setTimeout(function(){
					
						$j('.loader').remove();
						$j('.survey-overlay').append('<div class="controls"><div class="close">X close</div><div class="disable-survey"><div class="frow frow-checkbox"><label for="DisSurvey">Don\'t show this survey again</label><input type="checkbox" name="DisSurvey" id="DisSurvey" value="1" /></div></div></div><div class="content"><iframe src="'+surveyUrl+'" scrolling="no"></iframe></div>');
						self.closeSurvey();
					}, 500);
				}
			});
		},
		
		closeSurvey: function(){
			var self = this;
			var cookieName = self.cookieName;
			$j('.close','.survey-overlay').click(function(){
				
				if($j('input:checked', '.controls').val() != null){
					$j.cookie(cookieName,"noSurvey");
				}
				$j.leModal.hide();
				
				
			});
		},
			
		onReady: function(){
			var self = this
			self.checkOptions();
			self.showLocationMap();
			self.clearSearchField();
			self.calcPartySize();
			self.currencyConverter();
			self.activateAccessbility();
			//self.loadSurveyButton();
		}

	};

	$j().ready(function(){
		Website.Core.onReady();
	});


})(jQuery);	


