$( function() {
	
	$( '#login-box .login' ).click( function() {
		
		$( '#login-box' ).addClass( 'expand' );
		return false;
	});

	$( '#login-box .close' ).click( function() {
		
		$( '#login-box' ).removeClass( 'expand' );
		return false;
	});

	$( 'a[rel="external"]' ).click( function() {

		window.open( $( this ).attr( 'href' ), '_blank' );
		return false;
	});
	
	$('a.send-inmail-message').click(function( e ){
		var mid = $(this).attr('rel');
		var username = $(this).attr('title');
		$('#inmail-memberid').val( mid );
		$('#inmail-tooltip .to-username').text( username );
		$('#inmail-tooltip .message').val('');
		$('#inmail-tooltip .subject').val('');
		$('#inmail-tooltip .message-body').show();
		$('#inmail-tooltip .message-success').hide();
		$( '#inmail-tooltip' ).css({ top : e.clientY + 5 + $(document).scrollTop(), left : e.clientX - 520 }).show();
		return false;
	})
	$( '#inmail-tooltip .cancel' ).click(function(){
		$( '#inmail-tooltip' ).hide();
		return false;
	})
	$( '#inmail-tooltip .send' ).click(function(){
		$.ajax({
			type:		'POST',
			url:		'/my/messages/',
			data:		{
				'recipients[]': $('#inmail-memberid').val(),
				action:	'send',
				title:  $('#inmail-tooltip .subject').val(),
				message: $('#inmail-tooltip .message').val(),
				via	: 'send_message'
			}, 
			success:	function( ret ) {
				eval( 'var data = ' + ret );
				var pos = $('#inmail-tooltip').position();
				$('#inmail-tooltip .message-body').hide();
				$('#inmail-tooltip .message-success').hide();
				$( '#inmail-tooltip .cancel' ).trigger('click');
				var arrPageScroll = ___getPageScroll( );
				showSuccessTollTip({ clientY: pos.top - arrPageScroll[1] - 25, clientX: pos.left + 500 }, 
									data.title, data.msg, function(){});
			}
		});
		return false;
	})
	
	
	$('a.send-invite-message').click(function( e ){
		var mid = $(this).attr('rel');
		var username = $(this).attr('title');
		$('#invite-memberid').val( username );
		$('#invite-type').val('invite');
		$('#invite-tooltip .to-username').val( username );
		$('#invite-tooltip .to-username').attr('disabled', true);
		$('#invite-tooltip .message').val('');
		$('#invite-tooltip .message-body').show();
		$('#invite-tooltip .message-success').hide();
		$('#invite-tooltip h5').text('Send invitation');
		Cufon.refresh();
		$( '#invite-tooltip' ).css({ top : e.clientY + 5 + $(document).scrollTop(), left : e.clientX - 520 }).show();
		return false;
	});
	$('a.send-tellafriend-message').click(function( e ){
		$('#invite-memberid').val( "" );
		$('#invite-type').val('tellafriend');
		$('#invite-tooltip .to-username').val( "" );
		$('#label-to').html('To<br /><span style="font-weight: normal">(enter email address)</span>');
		$('#label-message').html('Message <span style="font-weight: normal">(optional)</span>');
		$('#invite-tooltip .to-username').attr('disabled', false);
		$('#invite-tooltip .message').val('');
		$('#invite-tooltip .message-body').show();
		$('#invite-tooltip .message-success').hide();
		$('#invite-tooltip h5').text('Tell a friend');
		Cufon.refresh();
		$( '#invite-tooltip' ).css({ top : e.clientY + 5 + $(document).scrollTop(), left : e.clientX - 520 }).show();
		return false;
	});
	$( '#invite-tooltip .cancel' ).click(function(){
		$( '#invite-tooltip' ).hide();
		return false;
	})
	$( '#invite-tooltip .send' ).click(function(){
		$.ajax({
			type:		'POST',
			url:		'/groups/',
			data:		{
				'member[]': $('#invite-memberid').val(),
				group: $('#invite-groupid').val(),
				'invite-members': '',
				action:	$('#invite-type').val(),
				message: $('#invite-tooltip .message').val(),
				via	: 'send_message'
			}, 
			success:	function( ret ) {
				eval( 'var data = ' + ret );
				var pos = $('#invite-tooltip').position();
				$('#invite-tooltip .message-body').hide();
				$('#invite-tooltip .message-success').hide();
				$( '#invite-tooltip .cancel' ).trigger('click');
				var arrPageScroll = ___getPageScroll( );
				showSuccessTollTip({ clientY: pos.top - arrPageScroll[1] - 25, clientX: pos.left + 500 }, 
									data.title, data.text, function(){});
			}
		});
		return false;
	})
	
	
	
	
	
	$( '#delete-tooltip .cancel' ).click(function(){
		$( '#delete-tooltip' ).hide();
	})
	$( '#confirm-tooltip .cancel' ).click(function(){
		$( '#confirm-tooltip' ).hide();
	})
	$('#success-tooltip .close').click(function(){
		$('#success-tooltip').hide();
	})
	$('#help-tooltip .close').click(function(){
		$('#help-tooltip').hide();
	})
	$('#error-tooltip .close').click(function(){
		$('#error-tooltip').hide();
	})

	rotating_logos();
	
	//help messages
	$('.show_blog_tags_help').click(function(e){
		setAlternative = true;
		showHelpTollTip(e, '', 'This is descriptions of your post so that<br/> people can search for blogs they are interested in.');
		setAlternative = false;
		return false;
	})
	//END help messages
	
	//BEGIN: double submit problem
	//NOTE: works only for forms with no JS validation !!!!
	$('form.on-click-no-submit').submit(function(){
		$('input[type="submit"]', $(this)).get(0).disabled = true;
		return true;
	})
	//END: double submit problem
	
});

var setAlternative = false;

var rotatingLogosIndex = 0;

function rotating_logos() {

	if( rotatingLogosIndex >= rotatingLogos.length )
		rotatingLogosIndex = 0;
	try {
		$( '#rotating-logos .logo-holder' ).html( $( '<a>' ).attr( 'href', rotatingLogos[ rotatingLogosIndex ].url ).attr( 'title', rotatingLogos[ rotatingLogosIndex ].name ).html( '<img src="/images/phpThumb.php?src=' + rotatingLogos[ rotatingLogosIndex ].logo + '&amp;w=87&amp;h=87&amp;zc=1" alt="' + rotatingLogos[ rotatingLogosIndex ].name + '">' ).click( function() {
		
			window.open( $( this ).attr( 'href' ), '_blank' );
			return false;
		}) );
	} catch(e) {
	}
	
	rotatingLogosIndex++;

	setTimeout( 'rotating_logos()', 3000 );
}

/**
 / THIRD FUNCTION
 * getPageSize() by quirksmode.com
 *
 * @return Array Return an array with page width, height and window width, height
 */
function ___getPageSize() {
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}
	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
	return arrayPageSize;
};
/**
 / THIRD FUNCTION
 * getPageScroll() by quirksmode.com
 *
 * @return Array Return an array with x,y page scroll values.
 */
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;	
	}
	arrayPageScroll = new Array(xScroll,yScroll);
	return arrayPageScroll;
};

String.prototype.trim = function () {
	return this.replace(/^\s*|\s*$/,"");
};

function showDeleteToolTip( e, callback, callbackContext, text ) {
	if( text != null ) {
		$( '#delete-tooltip p' ).html( text );
	} else {
		$( '#delete-tooltip p' ).html( 'Are you sure want to delete this?' );
	}
	var arrPageScroll = ___getPageScroll( );
	$( '#delete-tooltip .yes' ).unbind('click').bind('click', callbackContext, callback );
	$( '#delete-tooltip .yes' ).bind('click', function(){ $( '#delete-tooltip' ).hide(); } );
	$( '#delete-tooltip' ).css({ top : arrPageScroll[1] + 25 + e.clientY, left : e.clientX - 60 }).show( );
}
function showConfirmToolTip( e, callback, callbackContext, text ) {
	if( text ) {
		$( '#confirm-tooltip p' ).html( text );
	} else {
		$( '#confirm-tooltip p' ).html( 'Are you sure want to do this?' );
	}
	var arrPageScroll = ___getPageScroll( );
	$( '#confirm-tooltip .yes' ).unbind('click').bind( 'click', callbackContext, callback );
	$( '#confirm-tooltip .yes' ).bind('click', function(){ $( '#confirm-tooltip' ).hide(); } );
	$( '#confirm-tooltip' ).css({ top : arrPageScroll[1] + 25 + e.clientY, left : e.clientX - 60 }).show( );
}
function showSuccessTollTip(e, title, text, callback, callbackContext ) {
	
	$( '#error-tooltip' ).hide();

	offsetX = 500;
	try {
		
		if( setAlternative ) {

			$( '#success-tooltip' ).addClass( 'alternative' );
			offsetX = 100;
		}
	} catch( e ) {

	}

	$('#success-tooltip h4').text( title );
	$('#success-tooltip p').html( text );
	var arrPageScroll = ___getPageScroll( );
	$('#success-tooltip .btn').unbind('click').bind('click', function(){
		$('#success-tooltip').hide();
	})
	if( callback ) $('#success-tooltip .button').bind('click', callbackContext, callback);
	$('#success-tooltip').css({ top : arrPageScroll[1] + 15 + e.clientY, left : e.clientX - offsetX }).show( );
}
function showHelpTollTip(e, title, text, callback, callbackContext ) {
	
	offsetX = 500;
	try {
		
		if( setAlternative ) {

			$( '#help-tooltip' ).addClass( 'alternative' );
			offsetX = 100;
		}
	} catch( e ) {

	}

	$('#help-tooltip h4').text( title )
	$('#help-tooltip p').html( text )
	var arrPageScroll = ___getPageScroll( );
	$('#help-tooltip .btn').unbind('click').bind('click', function(){
		$('#help-tooltip').hide();
	})
	if( callback ) $('#help-tooltip .button').bind('click', callbackContext, callback);
	$('#help-tooltip').css({ top : arrPageScroll[1] + 15 + e.clientY, left : e.clientX - offsetX }).show( );
}
function showErrorTollTip(e, title, text, callback ) {

	offsetX = 500;
	try {
		
		if( setAlternative ) {

			$( '#error-tooltip' ).addClass( 'alternative' );
			offsetX = 100;
		}
	} catch( e ) {
	}

	$('#error-tooltip h4').text( title )
	$('#error-tooltip p').html( text )
	var arrPageScroll = ___getPageScroll( );
	$('#error-tooltip').css({ top : arrPageScroll[1] + 15 + e.clientY, left : e.clientX - offsetX }).show( );
}
