function Splash_Popup() {
	
	_self = this;
	var context;
	
	if ($('popup')) {
		this.showPopup = function(address){
			if(popup.style.visibility != "hidden"){
				var marginTop = popup.style.marginTop;
				marginTop = marginTop.toInt()+20;
				popupFX.start({
					'opacity': 0,
					'margin-top': marginTop
				});
			} else {	
				var myAjax = new Ajax(address + '?ajax=true', {onComplete: splashUI.splashPopup.populatePopup, method: 'get'}).request();
			}			
		}


		this.registerPlayButton = function(node) {
			_self.playButton = node;
		}
		
		this.stopPlayButton = function(node) {
			if(window.player) {
				window.player.onStopButtonClick();			
			}
		
			if(_self.playButton) {
				_self.playButton.className = 'player';
			}		
		}
		
		
		this.populatePopup = function(response) {
			
			if(response) {
				$('popup').setHTML(response);
			}

			centerPopup();
			
			$('popupClose').addEvent('click', function(event) {
				event = new Event(event).stop();
				splashUI.splashPopup.stopPlayButton();
				var marginTop = popup.style.marginTop;
				marginTop = marginTop.toInt()+20;
				popupFX.start({
					'opacity': 0,
					'margin-top': marginTop
				});
			});
			
						
			popupFX.set({
				'left': left,
				'top': top
			});
			popupFX.start({
				'opacity': 1,
				'margin-top': [-10, 0]
			});	

			centerPopup();
			
			$$('#previewAudio button.player').each(function(item){
					item.addEvent('click', player.clickBehaviour);
			});	
		}		
		
		
		//*****************************
		// Apply behaviour
		//
		this.popupLinker = new function () {
			this.getAll = function() {
				var links = $$(".ringtonePopupLink");
				var aslide = $$("a.slide");
				links.merge(aslide);
				return links;
			}
			
			this.linkPopups = function() {
				this.getAll().each(function(link) {
						link.addEvent('click', function(event) {
							event = new Event(event).stop();
							_self.showPopup(this.href);
						});
				});	
			}
			
			this.linkPopups();
		};
		
		
		//*****************************
		// Apply UI stuff
		//
		var popup = $('popup');
		var popupFX = new Fx.Styles(popup, {
			wait: false,
			duration: 400,
			transition: Fx.Transitions.sineOut
		});	
		
		var top  = window.getScrollTop()+(window.getHeight()/2) - popup.getSize().size.y/2;
		var left = window.getScrollLeft()+(window.getWidth()/2) - popup.getSize().size.x/2;
				
		popupFX.set({
			'left': left,
			'top': top,
			'opacity': 0
		});
		
		// Move popup as you scroll the window
		function centerPopup() {
			var top  = window.getScrollTop()+(window.getHeight()/2) - popup.getSize().size.y/2;
			var left = window.getScrollLeft()+(window.getWidth()/2) - popup.getSize().size.x/2;
			popup.style.left = left+"px";
			popup.style.top = top+"px";
		}
		
		window.addEvents({
			'scroll': function() {
				centerPopup();
			},
			'resize': function() {
				centerPopup();
			}
		});
	}

	
	this.triggerDeepLink = function() {		
		if($('popup')) {
			loc = window.location;
			
			var regUrl = new Array();			
			regUrl[0]	= new RegExp(/.+\/(\w+)\/(.+)\/(\d+)\/itemDetails\/(\d+)\/.+/g);
			regUrl[1]	= new RegExp(/.+\/search\/(\w+)\/(.+)\/(\d+)\/itemDetails\/(\d+)\/.+/g);
			regUrl[2]	= new RegExp(/.+\/homepage\/itemDetails\/(\d+)\/.+/g);
			
			for(i=0; i<regUrl.length; i++) {
				pattern = regUrl[i];
				match = pattern.exec(loc);
				
				if(match) {
					splashUI.splashPopup.populatePopup(false);
					return false;
				}
			}
		}
	}
}