(function($) {
	$.smoothbox = function(data, klass) {
		$.smoothbox.loading()

		if (data.forbidBgHidding)
			$.smoothbox.settings.forbidBgHidding = true;

		if (data.termsText)
			$.smoothbox.settings.termsText = data.termsText;

		if (data.data)
			$.smoothbox.settings.data = data.data;

		if (data.guestCallNow) fillSmoothboxForGuestCallNow() // ok
		else if (data.terms) fillSmoothboxForTerms()
		else if (data.t6r) fillSmoothboxForT6r()
		else if (data.html) fillSmoothboxForHtml()
		else if (data.marty) fillSmoothboxForMarty()
		else if (data.martyNewTalent) fillSmoothboxForMartyNewTalent()
		else if (data.test) fillSmoothboxForTest()
		else if ($.isFunction(data)) data.call($)
		else $.smoothbox.reveal(data, klass)
	}

	$.extend($.smoothbox, {
		settings: {
			smoothboxHtml  : '\
				<div id="smoothbox"> \
					<div class="smoothboxHolder"> \
						<table> \
							<tbody> \
								<tr> \
									<td> \
										<div class="smoothboxContent"></div> \
									</td> \
								</tr> \
							</tbody> \
						</table> \
					</div> \
				</div>'
		},

		loading: function() {
			init()
			if ($('#smoothbox .loading').length == 1) return true
			showOverlay()

			$('#smoothbox .smoothboxContent').empty()

			$('#smoothbox').css({
				top:	getPageScroll()[1] + (getPageHeight() / 10),
				left:	385.5
			}).fadeIn(600)

//			$(document).bind('keydown.smoothbox', function(e) {
//				if (e.keyCode == 27) $.smoothbox.close()
//				return true
//			})
			$(document).trigger('loading.smoothbox')
		},

		reveal: function(data, klass) {
			$('body').css('overflow', 'hidden');
			$('html').css('overflow', 'hidden');

			$("#smoothboxOpaq").height($(document).height());

			$(document).trigger('beforeReveal.smoothbox')
			if (klass) $('#smoothbox .smoothboxContent').addClass(klass)
			$('#smoothbox .smoothboxContent').append(data)
			$('#smoothbox .loading').remove()

			$('#smoothboxOpaq').fadeIn(600)
			setTimeout('$("#smoothboxOpaq").css({"opacity": "0.6", "display": "block"});', 600);
			setTimeout('$("#smoothbox").css({"display": "block"});', 600);

			$('#smoothbox').css('left', $(window).width() / 2 - ($('#smoothbox table').width() / 2))
			$(document).trigger('reveal.smoothbox').trigger('afterReveal.smoothbox')
		},

		close: function() {
			$('body').css('overflow', 'auto');
			$('html').css('overflow', 'auto');
			$(document).trigger('close.smoothbox')
			return false
		}
	})

	$.fn.smoothbox = function(settings) {
		init(settings)

		function clickHandler() {
			$.smoothbox.loading(true)
			return false
		}

		return this.click(clickHandler)
	}

	function init(settings) {
		if ($.smoothbox.settings.inited) return true
		else $.smoothbox.settings.inited = true

		$(document).trigger('init.smoothbox')
		makeCompatible()

		if (settings) $.extend($.smoothbox.settings, settings)
		$('body').append($.smoothbox.settings.smoothboxHtml)
		$("body").append("<div id='smoothboxOpaq' style='display: none;'></div>");

		$("#smoothboxOpaq").css("opacity", "0.6");

		$('#smoothbox .close').click($.smoothbox.close)
		$('#smoothboxClose').click($.smoothbox.close)
	}

	function getPageScroll() {
		var xScroll, yScroll;
		if (self.pageYOffset) {
			yScroll = self.pageYOffset;
			xScroll = self.pageXOffset;
		} else if (document.documentElement && document.documentElement.scrollTop) {	 // Explorer 6 Strict
			yScroll = document.documentElement.scrollTop;
			xScroll = document.documentElement.scrollLeft;
		} else if (document.body) {// all other Explorers
			yScroll = document.body.scrollTop;
			xScroll = document.body.scrollLeft;
		}
		return new Array(xScroll,yScroll)
	}

	function getPageHeight() {
		var windowHeight
		if (self.innerHeight) {	// all except Explorer
			windowHeight = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			windowHeight = document.body.clientHeight;
		}
		return windowHeight
	}

	function makeCompatible() {
		var $s = $.smoothbox.settings
		$s.smoothboxHtml = $s.smoothbox_html || $s.smoothboxHtml
	}









	function fillSmoothboxForTerms() {
		var href = "js/smoothbox/img/termsBg.png";
		var image = new Image()
		image.onload = function() {
			$.smoothbox.reveal(
				'<div class="image" style="z-index: 212" >\n\
					<span id="imgBgCnt"><img id="imgBg" style="z-index: 212" src="'+href+'" /></span>\n\
					<div id="termsText">'+$.smoothbox.settings.termsText+'</div>\n\
					<div id="termsAgreeButton"/>\n\
				</div>'
				, undefined)

			if ($.browser.msie && parseInt($.browser.version) <= 6) {
				$("#imgBgCnt").pngFix();
				$("#termsAgreeButton").css('bottom', '92px');
			}

			var scrolledDown = false;
			$('#termsText').scroll(function(){
				if (($('#termsText')[0].scrollHeight - $('#termsText').scrollTop() <= $('#termsText').outerHeight()) && scrolledDown == false) {
					scrolledDown = true;
					$('#termsAgreeButton').css('background-position', '0 0');
					$('#termsAgreeButton').click(function() {
						$(document).trigger('close.smoothbox');
						setTimeout('jQuery.smoothbox({ martyNewTalent: true })', 1000);
						transport('norw/acceptTermsAndConditions.php', true);
					})
				}
			});

		}
		image.src = href;
	}


	function fillSmoothboxForTest() {
		$.smoothbox.reveal(
			'<div style="width: 900px; height: 600px; border: 1px solid red; background-color: white; text-align: center;">ololo</div>'
		);
	}


	function fillSmoothboxForMarty() {
		$('#agent_type').css('visibility', 'hidden');

		$.smoothbox.reveal(
			'<div id="smoothboxMarty">\n\
                <OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" CODEBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,16,0" HEIGHT=480 WIDTH=600 ID="Flash2">\n\
                    <PARAM NAME="Movie" VALUE="http://www.mvsp.biz/talent63/T6.3.swf">\n\
					<param name="wmode" value="transparent" />\n\
                    <PARAM NAME="Quality" VALUE="Autohigh">\n\
                    <PARAM NAME="Loop" VALUE="0">\n\
                    <PARAM NAME="Play" VALUE="1">\n\
                    <PARAM NAME="Scale" VALUE="ShowAll">\n\
                    <PARAM NAME="SAlign" VALUE="L">\n\
                    <EMBED wmode="transparent" ID="Flash2" SRC="http://www.mvsp.biz/talent63/T6.3.swf" HEIGHT=480 WIDTH=600 PALETTE=BACKGROUND Quality=AutoLow Loop=FALSE Play=TRUE Scale=ShowAll SAlign=L ALT="" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer/" TYPE="application/x-shockwave-flash">\n\
				</OBJECT>\n\
				<div id="smoothboxCloseMarty"></div>\n\
			</div>\n\
			'
		);

		if ($.browser.msie && parseInt($.browser.version) <= 6)
			$("#smoothbox").pngFix();

		$('#smoothboxCloseMarty').click(function() {
			$('#agent_type').css('visibility', 'visible');
			document.getElementById('smoothboxMarty').innerHTML = '';
			$(document).trigger('close.smoothbox');
		})
	}


	function fillSmoothboxForMartyNewTalent() {
		$.smoothbox.reveal(
			'<div id="smoothboxMarty">\n\
                <OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" CODEBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,16,0" HEIGHT=480 WIDTH=600 ID="Flash2">\n\
                    <PARAM NAME="Movie" VALUE="http://www.mvsp.biz/talent63/T6.1.swf">\n\
					<param name="wmode" value="transparent" />\n\
                    <PARAM NAME="Quality" VALUE="Autohigh">\n\
                    <PARAM NAME="Loop" VALUE="0">\n\
                    <PARAM NAME="Play" VALUE="1">\n\
                    <PARAM NAME="Scale" VALUE="ShowAll">\n\
                    <PARAM NAME="SAlign" VALUE="L">\n\
                    <EMBED wmode="transparent" ID="Flash2" SRC="http://www.mvsp.biz/talent63/T6.1.swf" HEIGHT=480 WIDTH=600 PALETTE=BACKGROUND Quality=AutoLow Loop=FALSE Play=TRUE Scale=ShowAll SAlign=L ALT="" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer/" TYPE="application/x-shockwave-flash">\n\
				</OBJECT>\n\
				<div id="smoothboxCloseMarty"></div>\n\
			</div>\n\
			'
		);

		if ($.browser.msie && parseInt($.browser.version) <= 6)
			$("#smoothbox").pngFix();

		$('#smoothboxCloseMarty').click(function() {
			$('#agent_type').css('visibility', 'visible');
			document.getElementById('smoothboxMarty').innerHTML = '';
			$(document).trigger('close.smoothbox');
		})
	}


	function fillSmoothboxForHtml() {
		$.smoothbox.reveal($.smoothbox.settings.data, undefined);

		if ($.browser.msie && parseInt($.browser.version) <= 6)
			$("#smoothbox").pngFix();

		$('.smoothboxClose2').click(function() {
			$(document).trigger('close.smoothbox');
		});
	}


	function fillSmoothboxForT6r() {
		var href = "t6r.png"; // locatet in /join/inc/t6_referral
		var image = new Image()
		image.onload = function() {
			$.smoothbox.reveal(
				'<div class="image">\n\
					<img src="'+href+'" />\n\
					<div id="smoothboxClose"></div>\n\
				</div>'
				, undefined);

			if ($.browser.msie && parseInt($.browser.version) <= 6)
				$("#smoothbox").pngFix();

			$('#smoothboxClose').click(function() {
				$(document).trigger('close.smoothbox');
				jRequest('agreeToPay90', '', '');
			});
		}
		image.src = href;
	}


	function fillSmoothboxForGuestCallNow() {
		var href = "js/smoothbox/img/callNow-29676-39529.png";
		var image = new Image()
		image.onload = function() {
			$.smoothbox.reveal(
				'<div class="image">\n\
					<img src="'+href+'" />\n\
					<a href="/login.php" onclick="location.href=\'/login.php\'" id="smoothboxSignIn">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a>\n\
					<div id="smoothboxClose"></div>\n\
				</div>'
				, undefined);

			if ($.browser.msie && parseInt($.browser.version) <= 6)
				$("#smoothbox").pngFix();

			$('#smoothboxClose').click(function() {
				$(document).trigger('close.smoothbox');
			});
		}
		image.src = href;
	}








	function showOverlay() {
		if ($('smoothbox_overlay').length == 0)
			$("body").append('<div id="smoothbox_overlay" class="smoothbox_hide"></div>')

		$('#smoothbox_overlay').hide().addClass("smoothbox_overlayBG")
		.click(function() {
			if (!$.smoothbox.settings.forbidBgHidding)
				$(document).trigger('close.smoothbox')
		})
		.fadeIn(600)
		return false
	}

	function hideOverlay() {
		$('#smoothbox_overlay').fadeOut(600, function(){
			$("#smoothbox_overlay").removeClass("smoothbox_overlayBG")
			$("#smoothbox_overlay").addClass("smoothbox_hide")
			$("#smoothbox_overlay").remove()
		})

		return false
	}

	$(document).bind('close.smoothbox', function() {
		$('body').css('overflow', 'auto');
		$('html').css('overflow', 'auto');
		try {
			document.getElementById('smoothboxMarty').innerHTML = '';
			$('#agent_type').css('visibility', 'visible');
		} catch (e) {}
		$("#smoothboxOpaq").fadeOut(600);
		setTimeout('$("#smoothboxOpaq").css("opacity", "0.6");', 600);
		$(document).unbind('keydown.smoothbox')
		$('#smoothbox').fadeOut(function() {
			$('#smoothbox .smoothboxContent').removeClass().addClass('smoothboxContent')
			hideOverlay()
			$('#smoothbox .loading').remove()
		})
	})

})(jQuery);
