$(document).ready( function(){
/** WYSZUKIWARKA - USERBAR **/
	html.placeForSearchForm();

/** KOMENTARZE **/
	// comments - thumbs votes
	$('#commentsList a.thUp').live('click', function(){
		comments.thumbsVote('up', $(this), $(this).attr('id').replace('up_', ''));
		return false;
	});
	$('#commentsList a.thDn').live('click', function(){
		comments.thumbsVote('down', $(this), $(this).attr('id').replace('dn_', ''));
		return false;
	});

	// show/hide
	$('.shComm').live('click', function(){comments.showHide($(this));return false;});
/** END OF KOMENTARZE **/

/** CONTENT **/
	// głosowanie
	$('#tUpBig').click( function(){content.thumb('up');return false;});
	$('#tDnBig').click( function(){content.thumb('down');return false;});

/** END OF CONTENT **/

	// lewe menu - przyciski nawigacyjne
	smallNav.leftMenuButtons();
	$('#contentLeft .mn').live('click', function(){return smallNav.minimalize( $(this) );});
	$('#contentLeft .mx').live('click', function(){return smallNav.maximalize( $(this) );});
	$('#contentLeft .up').live('click', function(){return smallNav.moveUp( $(this) );});
	$('#contentLeft .dn').live('click', function(){return smallNav.moveDown( $(this) );});

	// duże przyciski nawigacyjne
	bigNav.buttons();
	$('#contentRight .bigUp').live('click', function(){return bigNav.moveUp($(this));});
	$('#contentRight .bigDn').live('click', function(){return bigNav.moveDown($(this));});
	$('#contentRight .bigHd').live('click', function(){return bigNav.hide($(this));});
	$('#contentRight .bigSh').live('click', function(){return bigNav.show($(this));});

	// podmiana select'ów
	$('#comSort, #comShow, #comPerPage, #search-target, div.sFilterBy select, select.sortBy, #contactUs_subject, #kind, #ytDimension, #memberMonth, #memberDay, #memberYear, #searchOrder, #searchPerPage').selectbox();

	// podmiana selectów - report bugs
	$('#bug_h_top, #bug_min_top, #bug_d_top, #bug_m_top, #bug_h, #bug_min, #bug_d, #bug_m').selectbox();

	// refresh captchy
	$('img.captcha').click( function(){
		var src = $(this).attr('src') + '/';
		$(this).attr('src', src);
	});

	// wyszukiwarka na górze - wstawianie tekstu gdy niekatywna
	html.setDefaultInputValue($('#searchInput'), 'Enter keywords...');
	html.setDefaultInputValue($('#searchInput2'), 'Enter keywords...');

	// fix'y
	if($.browser.opera){
		$('#searchContent input.search, input.selectbox').css( {'padding-top' : '2px', 'height' : '21px'});
	}
	// błąd selectboxów na stronie głównej pod IE 6 i 7.
	// nie wiem z czego wynika, ale znika po poniższym kodzie / ksowa
	else if($.browser.msie && Number($.browser.version) < 8){
		$('#contentRight .filterBy, #submitcontent .se').fadeOut(1).fadeIn(1);
		if(true || Number($.browser.version) == 7){
			//$('#submitcontent #kind_input').css('margin-left', '-15px');
		}
	}

	// inbox
	$('#inboxList tr').live('mouseover', function(){$(this).addClass('active');});
	$('#inboxList tr').live('mouseout', function(){$(this).removeClass('active');});
	$('#inboxList input').live('click', function(){
		if($(this).attr('checked')){
			$(this).parents('tr').addClass('selected');
		}
		else{
			$(this).parents('tr').removeClass('selected');
		}
	});

	// lista przyjaciół - hover
	$('#friendsList tr').live('mouseover', function(){$(this).addClass('hover');});
	$('#friendsList tr').live('mouseout', function(){$(this).removeClass('hover');});


	// animowane przewijanie strony
	if(!$.browser.opera){
		$('a.anim[href*=#]').live('click', function(){
			if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')	&& location.hostname == this.hostname){
				var $target = $(this.hash);
				$target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
				if ($target.length) {
					var targetOffset = $target.offset().top - 20;
					$('html,body').animate({scrollTop: targetOffset}, 500);
					return false;
				}
			}
			return true;
		});
	}
	// password strength
	$('#passwordRegisterMember, #passwordRegisterMember1').pstrength();

	$('table.sResult tr').hover( function(){
		$(this).addClass('trHover');
	}, function(){
		$(this).removeClass('trHover');
	});

	// images preloading
	var imagesForPreload =	[	SCRIPT_URL + 'site/funnyjunk/images/uploadBttnSub_bg.gif',
								SCRIPT_URL + 'site/funnyjunk/images/w8_32.gif',
								SCRIPT_URL + 'site/funnyjunk/images/thumbsSmall_w.gif',
								SCRIPT_URL + 'site/funnyjunk/images/commentsFormAdd_w8.gif',
								SCRIPT_URL + 'site/funnyjunk/images/thumbsBig_i.gif',
								SCRIPT_URL + 'site/funnyjunk/images/btn_bg_r.gif'];
							
	setTimeout(function(){html.preloadImages(imagesForPreload);}, 4000);
});

var bigNav = {
	animSpeed : "normal",
	fadeSpeed : "slow",

	rebuildSelectBoxes : function(){
		// $('input.selectbox, div.selectbox-wrapper').remove();
		//$('#comSort, #comShow, #comPerPage, div.sFilterBy select, select.sortBy').selectbox();
	},

	moveUp : function(elem){
		var c = elem.parents('.main');
		var t = c.prev('.main');
		html.swapElements(c, t, true, this.fadeSpeed, function(){bigNav.buttons();bigNav.rebuildSelectBoxes();});

		return false;
	},

	moveDown : function(elem){
		var c = elem.parents('.main');
		var t = c.next('.main');
		html.swapElements(c, t, true, this.fadeSpeed, function(){bigNav.buttons();bigNav.rebuildSelectBoxes();});

		return false;
	},

	show : function(elem){
		elem.addClass('bigHd').removeClass('bigSh');
		elem.parents('.main').find('.inner, .f, .filterBy').show(this.animSpeed);
		elem.attr('title', 'Hide');
		return false;
	},
	
	hide : function(elem){
		elem.addClass('bigSh').removeClass('bigHd');
		elem.parents('.main').find('.inner, .f, .filterBy').hide(this.animSpeed);
		elem.attr('title', 'Show');
		return false;
	},

	buttons : function(){
		var u = $('#contentRight .bigUp');
		var d = $('#contentRight .bigDn');
		u.eq(0).addClass('hidden');
		u.eq(1).removeClass('hidden');

		d.eq(d.length - 2).removeClass('hidden');
		d.eq(d.length - 1).addClass('hidden');
	}
}

var smallNav = {
	animSpeed : "fast",
	fadeSpeed : 100,

	minimalize : function(elem){
		elem.addClass('mx').removeClass('mn');
		elem.parents('.title').next('ul').hide(this.animSpeed);
		elem.attr('title', 'Show');
		return false;
	},

	maximalize : function(elem){
		elem.addClass('mn').removeClass('mx');
		elem.parents('.title').next('ul').show(this.animSpeed);
		elem.attr('title', 'Hide');
		return false;
	},

	moveUp : function(elem){
		var c = elem.parents('.c');
		var tab = $('#contentLeft .c');
		var myI = tab.index(c);
		var t = tab.eq(myI - 1);
		html.swapElements(t, c, true, this.fadeSpeed, smallNav.leftMenuButtons);
		return false;
	},

	moveDown : function(elem){
		var c = elem.parents('.c');
		var tab = $('#contentLeft .c');
		var myI = tab.index(c);
		var t = tab.eq(myI + 1);
		html.swapElements(t, c, true, this.fadeSpeed, smallNav.leftMenuButtons);
		return false;
	},

	leftMenuButtons : function(){
		$('#contentLeft .c .up').eq(0).addClass('hidden');
		$('#contentLeft .c .up').eq(1).removeClass('hidden');
		$('#contentLeft .dn').removeClass('hidden');
		$('#contentLeft .c:last').find('.dn').addClass('hidden');
	}
}

var html = {
	windowOpened : 0,

	/** zamienia elementy HTML miejscami **/
	swapElements : function(elem1, elem2, withAnimation, animSpeed, callback){
		if(elem1.html() == null || elem2.html() == null)
			return;
		
		var elem1Html = elem1.html();
		var elem2Html = elem2.html();

		if(!withAnimation){
			elem1.html(elem2Html);
			elem2.html(elem1Html);
		}
		else{
			elem1.fadeOut(animSpeed, function(){
				elem1.html(elem2Html);
				elem1.fadeIn(animSpeed);
			});

			elem2.fadeOut(animSpeed, function(){
				elem2.html(elem1Html);
				if(callback != null){
					callback.call();
				}
				elem2.fadeIn(animSpeed);
			});
		}
	},

	setDefaultInputValue : function(elem, txt){
		elem
		.each( function(){
			if($(this).val() == '' || $(this).val() == txt){
				$(this).css('font-style', 'italic');
				$(this).val(txt);
			}
		})
		.blur( function(){
			if($(this).val() == ''){
				$(this).css('font-style', 'italic');
				$(this).val(txt);
			}
			else if($(this).val() != txt){
				$(this).css('font-style', 'normal');
			}
		})
		.focus( function(){
			if($(this).val() == txt){
				$(this).css('font-style', 'normal');
				$(this).val('');
			}
		})
		.parents('form').submit( function(){
			if(elem.val() == txt)
				elem.val('');
		});
	},

	refreshImage : function(elem){
		var src = $(elem).attr('src');
		$(elem).attr('src', src + '/');
	},

	refreshCaptcha: function(elem){
		elem = $(elem);
		
		if (elem.attr('src').indexOf('captcha/') > -1)
			elem.attr('src', elem.attr('src') + '/');
		else
			elem.attr('src', elem.attr('longdesc'));
	},

	limitChars : function(elem, limit, counter, className){
		var len = $(elem).val().length;

		if(className == undefined) className = 'redError';

		if(len > limit)
			$(counter).html('The number of characters exceeds the limit: ' + (len - limit)).addClass(className);
		else
			$(counter).html('Remaining character count: ' + (limit - len)).removeClass(className);
	},

	genCaptchaId : function(length){
		var letters = '0123456789abcdef';
		var ret = '';

		if(length == undefined)
			length = 13;

		for(var i = 0; i < length; ++ i){
			ret += letters[ Math.floor(Math.random() * letters.length) ];
		}

		return ret;
	},

	hideFlash : function(){
		++ html.windowOpened;
		
		$('iframe, object').css('visibility', 'hidden');
		// IE8 bug
		if($.browser.msie && Number($.browser.version) == 8){
			$('html, body').css('overflow-x', 'hidden');
		}
		return false;
	},

	showFlash : function(){
		if(-- html.windowOpened > 0)
			return false;

		$('iframe, object').css('visibility', 'visible');
		// IE8 bug
		if($.browser.msie && Number($.browser.version) == 8){
			$('html, body').css('overflow-x', 'auto');
		}
		return false;
	},

	flashSound : function(){
		var ret = '<object style="padding: 0; margin: 0; position: absolute;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="1" height="1" id="soundPlayer">';
		ret += '<param name="wmode" value="transparent" />';
		ret += '<param name="allowScriptAccess" value="sameDomain" />';
		ret += '<param name="movie" value="/site/funnyjunk/sounds/sound.swf" />';
		ret += '<param name="bgcolor" value="#ffffff" />';
		ret += '<embed src="/site/funnyjunk/sounds/sound.swf" wmode="transparent" bgcolor="#ffffff" width="1" height="1" name="soundPlayer" swLiveConnect="true" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />';
		ret += '</object>';
		
		$('#flashSound').html(ret);
	},

	activateUpload : function(){
		$('#uploadBttn').hover(function(){
				$(this).addClass('active');
				$('#uploadBttn_sub').show();
			}, function(){
				$(this).removeClass('active');
				$('#uploadBttn_sub').hide();
		});


		$('#uploadBttn_sub a').click( function(){
			var loc = $(this).attr('href');
			return mustLogin( function(){document.location.href = loc;});
		});
	},

	calcDialogTopPos : function(){
		var h = Math.ceil( 0.04 * $(window).height() );
		h += $(document).scrollTop();
		return h;
	},

	preloadImages : function(list){
		for(var i = 0; i < list.length; ++ i)
			$('<img>').attr('src', list[i]);
	},

	placeForSearchForm : function(hide){
		if((hide != undefined && hide == true ) || (!loggedIn() && $('#searchContent').length > 0)){
			if(! $('#searchContent').hasClass('unlogged')){
				var off = $('#searchContent').show().offset();
				var top = - off.top + 5;

				$('#searchContent').css({'position' : 'relative', 'top' : top});
				$('#searchContent').next('div').addClass('loggedOff');
				$('#searchContent').addClass('unlogged');
			}
		}
		else{
			$('#searchContent').show("fast");
			$('#searchContent').css({'position' : 'static'});
			$('#searchContent').removeClass('unlogged');
			$('#contentRight div.loggedOff').removeClass('loggedOff');
		}
	},

	markSelectedComment	 : function(commNumber){
		var elem = $('#c' + commNumber);

		$('#commentsList .selected_com').removeClass('selected_com');
		elem.parents('.com').addClass('selected_com');
	}
}

var privMsg = {
	mainDiv : '#inboxMain',
	openCloseSpeed : 100,

	open : function(){
		$('#inboxContainer').show(privMsg.openCloseSpeed);
	},

	close : function(){
		$('#inboxContainer').hide(privMsg.openCloseSpeed);
	},

	waitAnimation : function(){
		$( privMsg.mainDiv ).text('').addClass('w8');
	}
}

var dialog = {
	confirmed : null,
	
	privMsg : function(username){
		var div = $('<div>');
		var l1 = $('<label>').text('Subject:').addClass('block');
		var l2 = $('<label>').text('Message:').addClass('block').addClass('pt10');
		var title = $('<input>').attr({'type' : 'text', 'maxlength' : '45'}).addClass('privMsgSubject');
		var textarea = $('<textarea>').addClass('privMsgMessage');



		div.append(l1);
		div.append(title);
		div.append(l2);
		div.append(textarea);
		loadCaptcha(div);

		div.dialog({
			modal		: true,
			bgiframe	: true,
			resizable	: false,
			width		: 400,
			title		: 'Send Message to <span class="greenLight">' + username + '</span>',
			close		: html.showFlash,
			open		: html.hideFlash,
			position	: ['', html.calcDialogTopPos()],
			buttons: {
				Send : function() {
					$(this).dialog('close');
				},
				Cancel : function() {
					$(this).dialog('close');
				}
			}
		});
	},

	flagContent : function(){
		$('#contentFlag').remove();
		
		var form = $('<form>').attr({'method' : 'post', 'action' : '/flag/', 'id' : 'contentFlag'});
		var info = $('<div>').text('We do not remove content not in those two categories.');

		var htm = '<div id="flagResponse"></div>';
		htm += '<label><input type="radio" name="flag" value="porn" /> Porn</label><br />';
		htm += '<label><input type="radio" name="flag" value="illegal" /> Illegal</label><br /><br />';
		htm += '<input type="hidden" name="contentId" value="' + contentId + '" />';

		form.html(htm);
		form.append(info);

		form.dialog({
			modal		: true,
			bgiframe	: true,
			width		: 300,
			resizable	: false,
			title		: 'Flag this content as inappropriate',
			position	: ['', html.calcDialogTopPos()],
			close		: html.showFlash,
			open		: html.hideFlash,
			buttons: {
				Flag : function() {
					sendForm(form, 'flagResponse', false, function(){$('#contentFlag').dialog('close');$('#contentFlags').html('Thank you')});
				},
				Close : function() {
					$(this).dialog('close');
				}
			}
		});
	},

	alert : function(title, txt){
		if(txt == null){
			txt = title;
			title = 'Funnyjunk';
		}
		$('<div>').html(txt).dialog({
			modal : true,
			bgiframe : true,
			resizable	: false,
			title : title,
			position : ['', html.calcDialogTopPos()],
			close : html.showFlash,
			open : html.hideFlash,
			buttons: {
				Ok: function() {
					$(this).dialog('close');
				}
			}
		});
	},

	confirm : function(title, txt, callback, contin){
		if(dialog.confirmed != null){
			setTimeout( function(){dialog.confirmed = null;}, 100);
			return dialog.confirmed;
		}

		$('<div>').html(txt).dialog({
			modal : true,
			bgiframe : true,
			title : title,
			closeOnEscape : false,
			resizable	: false,
			position	: ['', html.calcDialogTopPos()],
			close : html.showFlash,
			open : html.hideFlash,
			buttons: {
				Ok: function() {
					$(this).dialog('close');
					dialog.confirmed = true;
					if(callback != null)
						callback.call();
				},
				Cancel: function() {
					$(this).dialog('close');
					dialog.confirmed = false;
				   if(contin == undefined) {	
					if(callback != null)
						callback.call();
				   }
				}
			}
		});
		return false;
	},
	
	

	addToSite : function(){
		var f = $('#addToYourSiteBox').clone().removeClass('hidden');
		f.find('.txt').width(580).css({'display' : 'block', 'margin' : '0 auto'});
		f.dialog({
			modal : true,
			width : 620,
			bgiframe : true,
			closeOnEscape : false,
			resizable	: false,
			position	: ['', html.calcDialogTopPos()],
			close		: html.showFlash,
			open		: html.hideFlash,
			buttons: {
				Close: function() {
					$(this).dialog('close');
				}
			}
		});
	},

	ShowNewsletterForm : function(){
		var htm = '<strong>Want our newest funny pictures delivered to your e-mail box, three times a week?</strong><br />';
		htm += '<img src="/site/images/newslettergirl.gif" alt="" class="left mt10 ml10">';
		var captchaId = this.genCaptchaId(13);
		htm += '<div class="right pt10">Captcha Code:<br />';
		htm += '<img class="captcha" onclick="html.refreshImage(this); return false;" src="/captcha/display/'+captchaId+'" /><br />';
		htm += '<span class="s9px">click on image to reload it</span></div>';
		htm += '<input type="hidden" value="'+captchaId+'" name="captchaId"/>';
		htm += '<label class="pt10 pl20 block left">Enter your e-mail address below:<br />';
		htm += '<input class="txt" type="text" tabindex="1" maxlength="100" name="email" /></label><br />';
		htm += '<label class="pt10 pl20 block left">Enter Captcha Code:<br />';
		htm += '<input type="text" class="txt captcha" maxlength="5" name="captchaCode" /></label>';
		htm += '<input type="hidden" name="popoverSignup" value="1" />';
		htm += '<div class="aCenter bold pt20 pt10 left" style="width: 400px;">You can unsubscribe at anytime.<br />You will never get ads or spam.</div>';

		htm += '<div id="newsPopError" class="left"></div>';

		$('#newsletterForm').remove();
		var f = $('<form>')
				.attr({'id' : 'newsletterForm',
						'name' : 'newsletterForm',
						'method' : 'post',
						'action' : '#'})
				.html(htm)
				.submit( function(){newsletterSubscribe();return false;});

		// 'Enter' listener for IE
		if($.browser.msie){
			f.keydown( function(event){
				if(event.keyCode == 13){
					f.trigger('submit');
				}
			});
		}
		
		f.dialog({
			title : 'Newsletter',
			modal : true,
			width : 550,
			bgiframe : true,
			closeOnEscape : true,
			resizable	: false,
			position	: ['', html.calcDialogTopPos()],
			close		: html.showFlash,
			open		: html.hideFlash,
			buttons: {
				Close: function() {
					$(this).dialog('close');
				},
				Submit : function(){
					newsletterSubscribe();
				}
			}
		});
	},

	genCaptchaId : function(length){
		var letters = '0123456789abcdef';
		var ret = '';

		if(length == undefined)
			length = 13;

		for(var i = 0; i < length; ++ i){
			ret += letters[ Math.floor(Math.random() * letters.length) ];
		}

		return ret;
	}
}

var users = {
	makeLoggedIn : function(){
		$('#userbarLoginInf').html(FJUserName);
		$('#newCommNameTop, #newCommName').val(FJUserName);
		
		$('.forLogged').show();
		$('.forUnlogged').hide();

		html.placeForSearchForm(false);
		
		chat.start();
	},

	makeLoggedOut : function(){
		html.placeForSearchForm(true);
		
		$('#userbarLoginInf').html('anonymous');
		$('.forLogged').hide();
		$('.forUnlogged').show();
		$('#newCommNameTop, #newCommName').val('anonymous');
		
		chat.stop();
	},

	logout : function(){
		$('<div>').load('/sso/logout', null, function(){
			users.makeLoggedOut();
			FJMsg.reset();
			FJFriends.reset();
			FJFav.reset();
			dialog.alert('Message', 'You have been logged out');	
			if (FJ.isInUrl('member', 0))
				document.location.reload(true);
		});
	},

	showLoginForm : function(href, refresh){
		if(loggedIn()) $('<div>').load('/sso/logout');
		
		var f = $('#loginBoxContent').html();
		f += '<input type="submit" class="hidden" /><div id="loginForm_comm"></div>';

		var h = $('<form>').attr({'id' : 'login_form_hidden',
									'action' : '/members/ajaxlogin',
									'method' : 'post',
									'title' : 'Member Login'
								})
							.submit( function(){loginn(this, refresh);return false;});
		// 'Enter' listener for IE
		if($.browser.msie){
			h.keydown( function(event){
				if(event.keyCode == 13){
					h.trigger('submit');
				}
			});
		}

		var w = ($.browser.msie && Number($.browser.version) < 8) ? 310 : 300;

		h.html(f).dialog({
			modal : true,
			bgiframe : true,
			closeOnEscape : false,
			resizable	: false,
			width : w,
			position	: ['', html.calcDialogTopPos()],
			close		: html.showFlash,
			open		: html.hideFlash,
			buttons: {
				Login: function() {
					loginn($(this), refresh);
					return false;
				},
				Cancel: function() {
					$(this).dialog('close');
					$('#login_form_hidden').remove();
				}
			}
		});
	},

	passRecovery : function(){
		$('#passRecPopup').remove();
		var f = $('<form>')
					.addClass('dialogBlackW8')
					.attr({'id' : 'passRecPopup', 'action' : '/member/password', 'method' : 'post'})
					.submit( function(){sendForm($(this),'', undefined, users.passRecConfirm );return false;})
					.load('/member/passRecovery', function(){
						var htm = $(this).find('form').html();
						$(this).html(htm)
								.removeClass('dialogBlackW8')
								.find('input[type=submit]').remove();
					});
		// 'Enter' listener
		f.keydown( function(event){
			if(event.keyCode == 13){
				f.trigger('submit');
			}
		});
		
		f.dialog({
			title : 'Password Recovery',
			modal : true,
			bgiframe : true,
			closeOnEscape : false,
			resizable	: false,
			width : 500,
			position	: ['', html.calcDialogTopPos()],
			close		: html.showFlash,
			open		: html.hideFlash,
			buttons: {
				Submit: function() {
					$('#passRecPopup').trigger('submit');
					return false;
				},
				Cancel: function() {
					$(this).dialog('close');
				}
			}
		});

	},
	
	passRecConfirm : function() {
		$('#passRecPopup').remove();
		dialog.alert("Password recovery", "Your password has been sent");
	},

	editAccount : function(){
		
		if (!loggedIn()){
			FJ.changeCallback('onLoginSuccess', function(){users.editAccount()});
			users.showLoginForm();
			return;
		}
		
		$('#profileEditForm').remove();
		var f = $('<form>')
					.addClass('dialogBlackW8')
					.attr({'id' : 'profileEditForm', 'action' : '/member/profile', 'method' : 'post'})
					.submit( function(){editProfile($(this));return false;})
					.load('/userbar/getprofile', function(){
						$(this).removeClass('dialogBlackW8');
						$('#passwordRegisterMember2').pstrength();
						$('#memberMonth2, #memberDay2, #memberYear2').selectbox();
					});
		// 'Enter' listener
		f.keydown( function(event){
			if(event.keyCode == 13){
				h.trigger('submit');
			}
		});


		var w = ($.browser.msie && $.browser.version == '7.0') ? 617 : 600;
					
		f.dialog({
			title		: 'Edit Profile',
			modal		: true,
			bgiframe	: true,
			closeOnEscape	: false,
			resizable	: false,
			width		: w,
			position	: ['', html.calcDialogTopPos()],
			close		: html.showFlash,
			open		: html.hideFlash,
			buttons: {
				Save: function() {
					$('#profileEditForm').trigger('submit');
					return false;
				},
				Cancel: function() {
					$(this).dialog('close');
				}
			}
		});
		$('div.ui-draggable').css('overflow', 'visible');
	},

	signUp : function(){
		$('#userSignupForm').remove();
		var f = $('<form>')
					.addClass('dialogBlackW8')
					.attr({'id' : 'userSignupForm', 'action' : '/members/ajaxregister', 'method' : 'post'})
					.submit( function(){loginn($(this));return false;})
					.load('/userbar/getsignup', function(){
						$(this).removeClass('dialogBlackW8');
						$(this).find('#memberMonth, #memberDay, #memberYear').selectbox();
						$(this).find('#passwordRegisterMember').pstrength();
					});
		// 'Enter' listener
		
		
		f.find('#cap_code').live('keydown', function(event){
			if(event.keyCode == 13){
				f.trigger('submit');
			}
		});


		f.dialog({
			title : 'Member Sign Up',
			modal : true,
			bgiframe : true,
			closeOnEscape : false,
			resizable	: false,
			width		: 500,
			position	: ['', html.calcDialogTopPos()],
			close		: html.showFlash,
			open		: function(){html.hideFlash();f.parent('div').css('overflow', 'visible');},
			buttons: {
				Save: function() {
					$(this).trigger('submit');
					return false;
				},
				Cancel: function() {
					$(this).dialog('close');
				}
			}
		});
	},

	showDeleteAccount : function(){
		$('#delAccountForm').remove();
		var f = $('<form>').addClass('aCenter')
							.submit( function(){users.deleteAccountAction();return false;})
							.attr({'id' : 'delAccountForm'});
		var htm = 'If you want to permanently delete your account, please type "yes" (without the quotes) in the box below.<br />';
		htm += '<input class="txt captcha mt10" type="text" maxlength="5" name="delete" /><br />';
		htm += '<label class="mt10 block"><input type="checkbox" checked="checked" value="yes" name="leaveContent" /> Do not delete account content</label>';
		htm += '<div id="del_message" class="red pt10"></div>';

		// 'Enter' listener
		f.keydown( function(event){
			if(event.keyCode == 13){
				f.trigger('submit');
			}
		});


		f.html(htm);

		f.dialog({
			title : 'Delete Account',
			modal : true,
			bgiframe : true,
			closeOnEscape : false,
			resizable	: false,
			width : 400,
			position	: ['', html.calcDialogTopPos()],
			close		: html.showFlash,
			open		: html.hideFlash,
			buttons: {
				Delete: function(){
					$(this).trigger('submit');
					return false;
				},
				Cancel: function() {
					$(this).dialog('close');
				}
			}
		});
	},

	deleteAccountAction : function(){
		$.ajax({
			type: 'post',
			url: '/userbar/accountdelete',

			data: $('#delAccountForm').serialize(),
			success: function(response){
				data = response.split('|');
				if (data[0] == "OK"){
					document.location.href = "/";
				}
				else{
					$('#del_message').html(response).show('fast');
				}
			},
			error: function(){}
		})
	},
 
	hideLoginForm : function(){
		$('#login_form_hidden').dialog('close');
		$('#login_form_hidden').remove();
	},
	
	hideRegisterForm : function(){
		$('#userSignupForm').dialog('close');
		$('#userSignupForm').remove();
	}
}
