
var RN = window.RN = {};

RN = function() {

	var faq_selector = '#cnt .faqs li';
	var region_selector = '#regions';
	var center_selector = '#scnt .grid_7 h3'

	var rotator_selector = '#logo-rotator';

	var list_items = null;

	return {

		init : function() {
			RN.faqs();
			RN.rotator();
			RN.load_video({
				'video' : '/media/reivernet-xsm.flv',
				'preview' : '/images/site/video-preview.jpg',
				'width' : 544,
				'height' : 324
			});
		},

		faqs : function() {

			if($(faq_selector).size() > 0) {
				answers = $(faq_selector).find(".answer");
				answers.parent().addClass('closed');
				answers.addClass('hide');

				questions = $(faq_selector).find('h3');
				questions.toggle(function() {
					$(this).parent().removeClass('closed');
					$(this).parent().find('.answer').removeClass('hide');
				}, function() {
					$(this).parent().addClass('closed');
					$(this).parent().find('.answer').addClass('hide');
				});
			}

		},

		rotator : function() {

			if($(rotator_selector).size() > 0) {
				$(rotator_selector).find('li').not(':first').css('display', 'none');
				window.setInterval(RN._animate_logos, 5000);
			}

		},

		_animate_logos : function() {

			list_items = $(rotator_selector).find('li');
			first = list_items.eq(0);
			last = list_items.eq(list_items.size()-1);

			$(first).fadeOut('slow', function() {
				$(this).insertAfter(last);
				list_items.eq(1).fadeIn('slow');
			});


		},

		load_video : function(options) {

			if($('#video').size() > 0) {

				var s1 = new SWFObject("/media/player.swf","ply",options['width'],options['height'],"9","#FFFFFF");
				s1.addParam("allowfullscreen","true");
				s1.addParam("allowscriptaccess","always");

				flash_vars  = "file=" + options['video'];
				flash_vars += (options['preview'] != undefined) ? "&image=" + options['preview'] : '';

				s1.addParam("flashvars", flash_vars);

				s1.write("video");

			}

		},

		hotel_locations : function() {
			if($(region_selector).size() > 0) {
				$(region_selector).find('h3').toggle(function() {
					$(region_selector).find('div').addClass('hide');
				}, function() {
					$(region_selector).find('div').removeClass('hide');
				});

				RN.draw_map();
			}
		},

		draw_map : function() {

			regex = /(^http\:\/\/.*?\/)(.*)/;
			domain_name = location.href.replace(regex, '$1');
			
			center_point = $(center_selector).text();

			var mapObject = new YMap(document.getElementById('map'));

			// Add mapObject zoom (long) control
			mapObject.addZoomShort();
			
			// Add the Pan Control
			mapObject.removeZoomScale()
			
			mapObject.setZoomRange(12, 14);
			
			var myImage = new YImage();
			// myImage.src = '/images/icons/marker.png';
			myImage.size = new YSize(12,12);
			myImage.offset = new YCoordPoint(0,0);
			
			YEvent.Capture(mapObject, EventsList.onEndGeoCode, function(geoCode) {
			
				if (geoCode.success) {
					/* Check to see if we're dealing with the mapObject center, if so, don't mark it */
					if(RN._different_coordinates(mapObject.getCenterLatLon(), geoCode.GeoPoint)) {
						var marker = new YMarker(geoCode.GeoPoint, myImage);
						mapObject.addOverlay(marker);
					}
				}
			});
			
			// Display the mapObject centered on a geocoded location
			mapObject.drawZoomAndCenter(center_point, 14);
			
			url = '/why-reivernet/hotel-locations/geocoding-cities/';
			$.get(url, null, function(data) {
				countries = data.split("\n");
				for (var i = countries.length - 1; i >= 0; i--){
					mapObject.geoCodeAddress(countries[i]);
				};
			
			});

		},

		_different_coordinates : function(a, b) {
			if(a.Lat == b.Lat && a.Lon == b.Lon) {
				return false;
			}
			return true;
		}

	}

}();

$(document).ready(function() {
	RN.init();
});