function ShowMoreResult(divIdToHide, divIdToShow, term, disablecs)
{
	divToHide = document.getElementById(divIdToHide);
	divToShow = document.getElementById(divIdToShow);

	var res = Query( 'get', '/cgi-bin/searchTerms.cgi?term=' + term +'&showall=true' + (disablecs ? '&disablecs=true' : ''), '' );
	divToShow.innerHTML = res.documentElement.childNodes[0].nodeValue;

	divToHide.style.display = 'none';
	divToShow.style.display = 'block';

	return false;
}

/**
 * Add mask to user interface
 */
function blockUI(container)
{
	return;
	var contain = jQuery(typeof(container) == 'undefined' ? 'body' : container );
	var blockdiv = '<div class="x-mask" style="display: block" />';
	var mask = contain.prepend(blockdiv).children('.x-mask');

	contain.addClass('x-masked');

	jQuery('.x-masked').children('.x-mask').css({
		height: ((window.innerHeight && window.scrollMaxY) ? (window.innerHeight + window.scrollMaxY) : ( (document.body.scrollHeight > document.body.offsetHeight) ? document.body.scrollHeight : document.body.offsetHeight ))
	});
}

/**
 * Remove mask
 */
function unblockUI()
{
	return;
	jQuery('.x-masked').removeClass('x-masked').children('.x-mask').hide().remove();
}

function ShowSuccessPopup()
{

	var tpl = '<div style="text-align:center;">';
	tpl += 'Thank for you feedback.<br /><br />';
	tpl += '</div>';

	var msg = jQuery('<div />').addClass('popupwindow').css({
		position: 'absolute',
		left: parseInt(jQuery('body').width() / 2 - 150),
		width: 300,
		top: (window.pageYOffset ? window.pageYOffset : document.body.scrollTop) + 300,
		display:'none'
	}).html('<div class="close_div" style="margin-bottom: 5px;"></div><p style="margin:0 auto;text-align: center">'+tpl+'</p>'+'<div class="popupbtns"></div>');

	jQuery('.close_div', msg).append(
		jQuery('<img src="/images/close_popup.png" alt="close" id="close_button" />').click(
			function() {
				msg.fadeIn('slow', function()
				{
					msg.remove();
				});
			}
		)
	);

	jQuery('.popupbtns', msg).append(
		jQuery('<input type="button" class="popupbutton ok_iw" />').click(
			function(){
				msg.fadeIn('slow', function(){
					msg.remove();
				});
			}
		)
	);

	jQuery('body').append(msg);

	jQuery('#close_button').mousedown(function(e)
	{
		e.cancelBubble = true;
		if (e.stopPropagation)
			e.stopPropagation();
	});

	jQuery('.popupwindow').draggable({ handle: '.close_div' });

	msg.fadeIn('slow');
}

function CheckText(text, error_field)
{
	error_field.innerHTML = '';
	if (text == '')
	{
		error_field.innerHTML = 'Empty text<br />';
		error_field.style.display = 'block';
		return false;
	}

	return true;
}

function CheckEMails(myMail, myError, emailCanBeEmpty)
{
	var valid = true;
	myError.innerHTML = '&nbsp;';
	var re = new RegExp(/^[_a-z0-9\-]+(\.[_a-z0-9\-]+)*@[a-z0-9\-]+(\.[a-z0-9\-]+)*(\.[a-z]{2,4})$/);

	if (typeof(emailCanBeEmpty) == 'undefined') emailCanBeEmpty = false;

	if (myMail == '')
	{
		if (emailCanBeEmpty) return true;

		myError.innerHTML = 'Please enter a valid email address.<br />';
		valid = false;
	}
	else if (!re.test(myMail.toLowerCase()))
	{
		myError.innerHTML = 'Please enter a valid email address.<br />';
		valid = false;
	}

	return valid;
}


function ShowOkBox(message)
{
	var tpl = '<div style="text-align:center;">';
	tpl += message;
	tpl += '</div>';

	var popupWidth = 300;

	var msg = jQuery('<div />').addClass('popupwindow').css({
		position: 'absolute',
		left: parseInt(jQuery('body').width() / 2 - (popupWidth/2)),
		width: popupWidth,
		top: (window.pageYOffset ? window.pageYOffset : document.body.scrollTop) + 200,
		display:'none'
	}).html('<div class="close_div" style="margin-bottom: 5px;"></div><div><p style="margin:0 auto;text-align: center">' + tpl + '</p></div>'+'<div class="popupbtns"></div>');

	jQuery('.close_div', msg).append(
		jQuery('<img src="/images/close_popup.png" alt="close" id="close_button" />').click(
			function() {
				msg.fadeIn('slow', function()
				{
					msg.remove();
				});
			}
		)
	);

	jQuery('.popupbtns', msg).append(
		jQuery('<input type="button" class="popupbutton ok_iw" />').click(function ()
				{
					msg.fadeIn('slow', function(){
								msg.remove();
							}
						);
					})
	);

	jQuery('body').append(msg);

	jQuery('#close_button').mousedown(function(e)
	{
		e.cancelBubble = true;
		if (e.stopPropagation)
			e.stopPropagation();
	});

	jQuery('.popupwindow').draggable({ handle: '.close_div' });

	msg.fadeIn('slow');
	return false;
}

var popups = new Object();
popups['send_to_friend'] = false;

function trim(string)
{
	return string.replace(/(^\s+)|(\s+$)/g, "");
}

function GetAvalibleMessages()
{
	var res = Query('POST', '/send-to-friend/avalible.php', null, true);

	if (res != null)
	{
		return res;
	}
	return 0;
}

function ShowSendToFriend(term, link)
{
	if (popups['send_to_friend'])
	{
		return false;
	}

	pageTracker._trackPageview('/outgoing/emailFriend.com');

	var templateMsg = "I thought you might find this useful.\n";
	templateMsg += 'Here is the definition of \'' + term + '\' from InvestorWords.com.';

	popups['send_to_friend'] = true;

	var MAX_FRIENDS_MAILS = 5;
	var maxMessages = Math.min(MAX_FRIENDS_MAILS, GetAvalibleMessages());
	var maxMessagesText = '';

	if (maxMessages == 0)
	{
		popups['send_to_friend'] = false;
		ShowOkBox('Sorry! You can send only 25 mails per day');
		return false;
	}

	if (maxMessages != 1)
	{
		maxMessagesText = '<br />(up to ' + maxMessages + ' addresses separated by comma)';
	}

	var tpl = '<div style="text-align:center;">';
	tpl += '<b>Enter your email address:</b><br />';
	tpl += '<input type="text" id="sender_email" class="send-to-friend-control" /><br /><div class="error error_padding" id="sender_error">&nbsp;</div>';
	tpl += '<b>Enter your friend\'s email address' + maxMessagesText + ':</b><br />';
	tpl += '<input type="text" id="friends_email" class="send-to-friend-control" /><br /><div class="error error_padding" id="friends_error">&nbsp;</div>';
	tpl += '<b>Send a personalized message:</b><br />';
	tpl += '<textarea id="message_to_friend" rows="5" class="send-to-friend-control">' + templateMsg + '</textarea><br /><div class="error_padding" id="sending_error">&nbsp;</div>';
	tpl += '<b>URL link to the term:</b><br />';
	tpl += '<input type="text" class="send-to-friend-control" value="' + window.location.href + '" style="color:#000;background-color:#AAA;border:1px solid #CCC;" readonly="true" /><br /><br />';
	tpl += '</div>';

	var popupWidth = 400;

	var msg = jQuery('<div />').addClass('popupwindow').css({
		position: 'absolute',
		left: parseInt(jQuery('body').width() / 2 - (popupWidth/2)),
		width: popupWidth,
		top: (window.pageYOffset ? window.pageYOffset : document.body.scrollTop) + 100 - 175 /* margin-top */,
		display:'none'
	}).html('<div class="close_div email_to_friend_drag_handle"></div><p style="margin:0 auto;text-align: center">' + tpl + '</p>'+'<div class="popupbtns"></div>');

	jQuery('.popupbtns', msg).append(
		jQuery('<input type="button" class="popupbutton send_iw" style="margin-right: 5px;" />').click(function ()
				{
					var valid = true;
					var myMail = document.getElementById('sender_email').value;
					var myError = document.getElementById('sender_error');
					var friendsMails = document.getElementById('friends_email').value.split(',');

					var mailsCount = Math.min(maxMessages, friendsMails.length);

					for (i = 0; i < mailsCount; i++) {
						friendsMails[i] = trim(friendsMails[i]);
					}

					var friendsError = document.getElementById('friends_error');
					friendsError.innerHTML = '&nbsp';

					var msgText = document.getElementById('message_to_friend').value;
					msgText += '\n<br />\n<a href="' + window.location.href + '">' + window.location.href + '</a>\n';
					msgText += '(Click on the URL or paste it in the address bar of your browser)\n';

					var sendingError = document.getElementById('sending_error');

					myError.innerHTML = '<br />';
					sendingError.className = 'error_padding';
					sendingError.innerHTML = '<br />';

					if (friendsMails.length > maxMessages)
					{
						friendsError.innerHTML = 'Too many emails. Max - ' + maxMessages;
						return false;
					}

					valid = CheckEMails(myMail, myError);

					for (i = 0; i < mailsCount; i++) {
						valid = CheckEMails(friendsMails[i], friendsError, i > 0) && valid;
					}

					if (valid)
					{
						myError.innerHTML = '<br />';
						sendingError.innerHTML = 'Sending...';

						var data = 'email=' + encodeURIComponent(myMail) + '&message=' + encodeURIComponent(msgText) + '&friendemail=' + encodeURIComponent(document.getElementById('friends_email').value);
						var res = Query('POST', '../send-to-friend/send.php',  data, true);

						if (res != null && res.toLowerCase().indexOf('ok') == 0)
						{
							popups['send_to_friend'] = false;
							msg.fadeIn('slow', function(){msg.remove();});

							var resMail = '';

							for (i = 0; i < mailsCount; i++) {
								resMail += (resMail == '' || friendsMails[i] == ''  ? '' : ', ') + (friendsMails[i] != '' ? friendsMails[i] : '');
							}

							ShowOkBox('Message to ' + resMail + ' has been successfully sent.');
						}
						else
						{
							sendingError.className += ' error';
							sendingError.innerHTML = res;
						}
					}
				}
		)
	);

	jQuery('.close_div', msg).append(
		jQuery('<img src="/images/close_popup.png" alt="close" id="close_button" />').click(
			function() {
				msg.fadeIn('slow', function()
				{
					msg.remove();
					popups['send_to_friend'] = false;
				});
			}
		)
	);

	jQuery('.popupbtns', msg).append(
		jQuery('<input type="button" class="popupbutton iwclose" style="margin-left: 5px;" />').click(
			function() {
				msg.fadeIn('slow', function() {
					msg.remove();
					popups['send_to_friend'] = false;
				});
			}
		)
	);

	jQuery('body').append(msg);

	jQuery('#close_button').mousedown(function(e)
	{
		e.cancelBubble = true;
		if (e.stopPropagation) e.stopPropagation();
	});

	jQuery('.popupwindow').draggable({ handle: '.email_to_friend_drag_handle' });

	msg.fadeIn('slow');
	return false;
}


function InsertAudioPlayer(element_id, swf_name, mp3_url, width, height)
{
	var flashvars = {
		mp3_url: mp3_url
	};

	var params = {
		menu: "false",
		quality: "high",
		scale: "noscale",
		wmode: "transparent",
		allowfullscreen: "false",
		allowscriptaccess: "sameDomain",
		allownetworking: "internal"
	};

	var attributes = {
		id: element_id
	};

	swfobject.embedSWF(swf_name, element_id, width, height, "9.0.28", false, flashvars, params, attributes);
}

function filter_active(sender)
{
	if (empty_filter)
	{
		empty_filter = false;
		sender.value = '';
	}
}

function filter_inactive(sender)
{
	if (sender.value == '')
	{
		empty_filter = true;
		sender.value = 'Enter a word or phrase...';
	}
}

function validate_filter()
{
	if (empty_filter)
	{
		alert('Enter a word or phrase...');
	}

	return !empty_filter;
}

function write_once(id, str)
{
	if (typeof(window.write_once_ids) == 'undefined') window.write_once_ids = {};
	if (typeof(window.write_once_ids['_' + id]) != 'undefined') return;

	window.write_once_ids['_' + id] = true;
	document.write(unescape(str));
}

/*
function do_aj_terms_in_terms(ids_str)
{
	jQuery.post('/view_term_service.php', { idsstr: ids_str }, function(data)
	{
		var rc_terms = data.split('<!--B-->');
		var lc_terms = rc_terms.splice(0, Math.ceil(rc_terms.length / 2));

		document.getElementById('sect_tit_lt').innerHTML += lc_terms.join('');
		document.getElementById('sect_tit_rt').innerHTML += rc_terms.join('');

		jQuery('.scroll').jScrollPane({ showArrows:true, scrollbarWidth:34, dragMaxHeight: 19, dragMinHeight: 19 });
	});
}

function aj_terms_in_terms(ids_str)
{
	if (typeof(window.aj_terms_in_terms_called) != 'undefined') return;
	window.aj_terms_in_terms_called = true;

	if (ids_str == '') return;
	jQuery(window).bind('load', function(){ do_aj_terms_in_terms(ids_str); });
}
*/

function do_aj_related_terms(ids_str)
{
	jQuery.post('/view_term_service.php', { idsstr: ids_str }, function(data)
	{
		var rc_terms = data.split('<!--B-->');
		var lc_terms = rc_terms.splice(0, Math.ceil(rc_terms.length / 2));

		document.getElementById('sect_rel_lt').innerHTML += lc_terms.join('');
		document.getElementById('sect_rel_rt').innerHTML += rc_terms.join('');

		jQuery('.scroll').jScrollPane({ showArrows:true, scrollbarWidth:34, dragMaxHeight: 19, dragMinHeight: 19 });
	});
}

function aj_related_terms(ids_str)
{
	if (typeof(window.aj_related_terms_called) != 'undefined') return;
	window.aj_related_terms_called = true;

	if (ids_str=='') return;
	jQuery(window).load(function(){ do_aj_related_terms(ids_str); });
}
