var loginPopup_cbFuncName = null;
var loginPopup_isActive = false;
var loginPopup_ajaxReq = null;
var isBuyNowPopupActive = false;

//==============================================================================
function loginForm_createAcctOptionClicked()
{
	document.login_form.button_submit.src='http://jerrata.com/images/btn_create_acct.png';
	document.getElementById('login_tip_no_email_share').style.visibility='visible';
	document.getElementById('login_tip_forgot_pw').style.visibility='hidden';
	loginFormAssignFocus();
}

//==============================================================================
function loginForm_loginOptionClicked()
{
	document.login_form.button_submit.src='http://jerrata.com/images/btn_log_me_in.png';
	document.getElementById('login_tip_no_email_share').style.visibility='hidden';
	document.getElementById('login_tip_forgot_pw').style.visibility='visible';
	loginFormAssignFocus();
}

//==============================================================================
function showLoginPopup(cbFuncName)
{
	loginPopup_cbFuncName = cbFuncName;
	
	if (!isLoggedIn())
	{
		repositionLoginPopup();
		document.login_form.action[0].click();
		loginFormAssignFocus();
		loginPopup_isActive = true;
	}
	else
	{
		if (loginPopup_cbFuncName!=null)
			eval(loginPopup_cbFuncName+'()');
	}
}

//==============================================================================
function hideLoginPopup()
{
	document.getElementById('login_popup').style.display = 'none';
	document.getElementById('veil').style.visibility = "hidden";
	document.getElementById('login_popup').style.top = '0px';
	document.getElementById('veil').style.top = '0px';
	loginPopup_isActive = false;
}

//==============================================================================
function repositionLoginPopup()
{
	var window_width;
	var window_height;
	var vertical_scroll_pos;
	var horizontal_scroll_pos;
	
	if ( document.layers || ( document.getElementById && !document.all ) )
	{
	   window_width = window.innerWidth;
	   window_height = window.innerHeight;
	   vertical_scroll_pos = window.pageYOffset;
	   horizontal_scroll_pos = window.pageXOffset;
	}
	if ( document.all )
	{
	   window_width = document.body.clientWidth;
	   window_height = document.body.clientHeight;
	   vertical_scroll_pos = document.body.scrollTop;
	   horizontal_scroll_pos = document.body.scrollLeft;
	}
	
	document.getElementById('veil').style.top = vertical_scroll_pos;
	document.getElementById('veil').style.left = horizontal_scroll_pos;
	
	var alpha = 30;
		
	document.getElementById('veil').style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=0,opacity:" + alpha + ")";	// MSIE
	document.getElementById('veil').style.KHTMLOpacity = alpha / 100;	// Safari < 1.2, Konqueror
	document.getElementById('veil').style.MozOpacity = alpha / 100;	// Older Mozilla & Firefox
	document.getElementById('veil').style.opacity = alpha / 100;	// Safari 1.2+, newer Mozilla & Firefox, CSS3
	document.getElementById('veil').style.visibility = "visible";
	
	document.getElementById('login_popup').style.left = (window_width/2 - 200)+'px';
	document.getElementById('login_popup').style.top = (vertical_scroll_pos + 100)+'px';
	document.getElementById('login_popup').style.display = 'block';
}

//==============================================================================
window.onresize = function()
{
	if (loginPopup_isActive)
		repositionLoginPopup();
		
	if (isBuyNowPopupActive) {
		showBuyNowPopup();
	}
}

//==============================================================================
function loginFormAssignFocus()
{
	if (document.login_form.email_addr.value=='')
	{
		document.login_form.email_addr.focus();
		return;
	}
	if (document.login_form.pw.value=='')
	{
		document.login_form.pw.focus();
		return;
	}
	document.login_form.button_submit.focus();
}

//==============================================================================
function loginFormIsValid()
{
	if (document.login_form.email_addr.value=='' || document.login_form.email_addr.value.indexOf('@')==-1 || document.login_form.email_addr.value.indexOf('.')==-1)
	{
		window.alert('The email address that you entered is invalid.  Please try again.');
		document.login_form.email_addr.focus();
		return false;
	}
	
	if (document.login_form.pw.value=='')
	{
		window.alert('Please enter a password.');
		document.login_form.pw.focus();
		return false;
	}
	
	return true;
}

//==============================================================================
function doLogin()
{
	if (loginPopup_ajaxReq!=null)
	{
		alert("There's an outstanding browser request.  Please wait a couple seconds and try again.");
		return;
	}
		
	// branch based on browser
	if (window.XMLHttpRequest)
		loginPopup_ajaxReq = new XMLHttpRequest();
	else
		loginPopup_ajaxReq = new ActiveXObject('Microsoft.XMLHTTP');

	loginPopup_ajaxReq.onreadystatechange = function()
		{
			if (loginPopup_ajaxReq==null)
				return;
				
			if (loginPopup_ajaxReq.readyState==4 && loginPopup_ajaxReq.status==200)
			{
				switch (loginPopup_ajaxReq.responseText.substring(0,2))
				{
					case 'OK':
						document.cookie = 'my_jerrata_email_addr='+encodeURIComponent(document.login_form.email_addr.value)+';expires=Mon, 1 Jan 2035 12:00:00 UTC;path=/;';
						document.cookie = 'my_jerrata_pw='+encodeURIComponent(document.login_form.pw.value)+';expires=Mon, 1 Jan 2035 12:00:00 UTC;path=/;';
						
						hideLoginPopup();
						if (loginPopup_cbFuncName!=null)
							eval(loginPopup_cbFuncName+'()');
						break;
					case 'NO':
						alert(loginPopup_ajaxReq.responseText.substring(2));
						break;
					default:
						alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
						break;
				}
				
				loginPopup_ajaxReq = null;
			}
		};
    loginPopup_ajaxReq.open('POST', loginHandlerLoc, true);
	loginPopup_ajaxReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	loginPopup_ajaxReq.send('action='+(document.login_form.action[0].checked?'create_acct':'login')+'&email_addr='+encodeURIComponent(document.login_form.email_addr.value)+'&pw='+encodeURIComponent(document.login_form.pw.value));
}

//==============================================================================
function forgotPw()
{
	var email_addr;
	
	while (true)
	{
		if ((email_addr = prompt("Forgot your password?  No problem.  What's your email address?  We'll email it to you:")) == null)	// user cancelled
		{
			document.login_form.pw.focus();
			return;
		}
			
		if (email_addr == false || email_addr.length>64 || email_addr.indexOf('@')==-1 || email_addr.indexOf('.')==-1)	// email_addr = false -> user pressed OK but w/ no text
			alert("You've entered an invalid email address.  Please try again.");
		else break;
	}

	if (loginPopup_ajaxReq!=null)
	{
		alert("There's an outstanding browser request.  Please wait a couple seconds and try again.");
		document.login_form.pw.focus();
		return;
	}
		
	// branch based on browser
	if (window.XMLHttpRequest)
		loginPopup_ajaxReq = new XMLHttpRequest();
	else
		loginPopup_ajaxReq = new ActiveXObject('Microsoft.XMLHTTP');

	loginPopup_ajaxReq.onreadystatechange = function()
		{
			if (loginPopup_ajaxReq==null)
				return;
				
			if (loginPopup_ajaxReq.readyState==4 && loginPopup_ajaxReq.status==200)
			{
				switch (loginPopup_ajaxReq.responseText.substring(0,2))
				{
					case 'OK':
						alert('The account password has been emailed to the address that you provided.');
						break;
					case 'NO':
						alert(loginPopup_ajaxReq.responseText.substring(2));
						break;
					default:
						alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
						break;
				}
				
				loginPopup_ajaxReq = null;
				document.login_form.pw.focus();
			}
		};
    loginPopup_ajaxReq.open('POST', loginHandlerLoc, true);
	loginPopup_ajaxReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	loginPopup_ajaxReq.send('action=forgot_pw&email_addr='+encodeURIComponent(email_addr));
	
	document.login_form.pw.focus();
}

//==============================================================================
function logoutUser(cbFuncName)
{
	if (loginPopup_ajaxReq!=null)
	{
		alert("There's an outstanding browser request.  Please wait a couple seconds and try again.");
		return;
	}
		
	// branch based on browser
	if (window.XMLHttpRequest)
		loginPopup_ajaxReq = new XMLHttpRequest();
	else
		loginPopup_ajaxReq = new ActiveXObject('Microsoft.XMLHTTP');

	loginPopup_ajaxReq.onreadystatechange = function()
		{
			if (loginPopup_ajaxReq==null)
				return;
				
			if (loginPopup_ajaxReq.readyState==4 && loginPopup_ajaxReq.status==200)
			{
				switch (loginPopup_ajaxReq.responseText.substring(0,2))
				{
					case 'OK':
						if (isLoggedIn()) {
							document.cookie = 'my_jerrata_email_addr=expired; expires=Wed, 1 Oct 2008 12:00:00 UTC; path=/';
							document.cookie = 'my_jerrata_pw=expired; expires=Wed, 1 Oct 2008 12:00:00 UTC; path=/';
						}
						
						if (document.cookie.indexOf('is_docomments_demo_user') != -1) {
							document.cookie = 'is_docomments_demo_user=expired; expires=Wed, 1 Oct 2008 12:00:00 UTC; path=/';
						}
						
						if (cbFuncName!=null)
							eval(cbFuncName+'()');
						break;
					case 'NO':
						alert(loginPopup_ajaxReq.responseText.substring(2));
						break;
					default:
						alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
						break;
				}
				
				loginPopup_ajaxReq = null;
			}
		};
    loginPopup_ajaxReq.open('POST', loginHandlerLoc, true);
	loginPopup_ajaxReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	loginPopup_ajaxReq.send('action=logout');
}

//==============================================================================
function showFeedbackPopup()
{
	logPageview('Clicked Share Feedback link');
	doRedirectToSupport();
	/*
	var feedback = null;
	
	while (true)
	{
		if ((feedback = prompt("Your feedback is greatly appreciated.  What's on your mind?")) == null)
			return;	// user clicked cancel
			
		if (feedback != '')
			break;	// valid input
		else
			alert('Please enter your message.');
	}
	
	// branch based on browser
	if (window.XMLHttpRequest)
		var ajaxReq = new XMLHttpRequest();
	else
		var ajaxReq = new ActiveXObject('Microsoft.XMLHTTP');
		
	ajaxReq.onreadystatechange = function()
		{
			if (ajaxReq.readyState==4 && ajaxReq.status==200)
			{
				switch (ajaxReq.responseText.substring(0,2))
				{
					case 'OK':
						alert('Thanks for sharing your feedback!');
						break;
					case 'NO':
						alert(ajaxReq.responseText.substring(2));
						break;
					default:
						alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
						break;
				}
			}
		};
	ajaxReq.open('POST', feedbackHandlerLoc, true);
	ajaxReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	ajaxReq.send('action=submitFeedback&feedback='+encodeURIComponent(feedback));
	*/
}

//==============================================================================
function doDoChatterFreeTrial()
{
	// branch based on browser
	if (window.XMLHttpRequest)
		var ajaxReq = new XMLHttpRequest();
	else
		var ajaxReq = new ActiveXObject('Microsoft.XMLHTTP');
		
	ajaxReq.onreadystatechange = function()
		{
			if (ajaxReq.readyState==4 && ajaxReq.status==200)
			{
				switch (ajaxReq.responseText.substring(0,2))
				{
					case 'OK':
						alert('Your free 30 day trial of DoChatter is ready for download in the My Jerrata section of the site.  Click OK to go there, now.');
						doRedirectToMyJerrata();
						break;
					case 'NO':
						alert(ajaxReq.responseText.substring(2));
						break;
					default:
						alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
						break;
				}
			}
		};
	ajaxReq.open('POST', downloadHandlerLoc, true);
	ajaxReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	ajaxReq.send('action=createDoChatterTrial');
}

//==============================================================================
function doDoCommentsFreeTrial()
{
	// branch based on browser
	if (window.XMLHttpRequest)
		var ajaxReq = new XMLHttpRequest();
	else
		var ajaxReq = new ActiveXObject('Microsoft.XMLHTTP');
		
	ajaxReq.onreadystatechange = function()
		{
			if (ajaxReq.readyState==4 && ajaxReq.status==200)
			{
				switch (ajaxReq.responseText.substring(0,2))
				{
					case 'OK':
						alert('Your free 30 day trial of DoComments is ready for download in the My Jerrata section of the site.  Click OK to go there, now.');
						doRedirectToMyJerrata();
						break;
					case 'NO':
						alert(ajaxReq.responseText.substring(2));
						break;
					default:
						alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
						break;
				}
			}
		};
	ajaxReq.open('POST', downloadHandlerLoc, true);
	ajaxReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	ajaxReq.send('action=createDoCommentsTrial');
}

//==============================================================================
function logPageview(logMessage)
{
	// branch based on browser
	if (window.XMLHttpRequest)
		var ajaxReq = new XMLHttpRequest();
	else
		var ajaxReq = new ActiveXObject('Microsoft.XMLHTTP');
		
	ajaxReq.onreadystatechange = function(){};
    ajaxReq.open('POST', downloadHandlerLoc, false);
	ajaxReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	ajaxReq.send('action=logPageview&logMessage='+encodeURIComponent(logMessage));
}

//==============================================================================
function logPageviewAsync(logMessage, referrer) {
	var parameters = {
		action: 'logPageview',
		logMessage: logMessage
	};
	
	if (typeof referrer == 'string' && referrer.length > 0) {
		parameters.referrer = referrer;
	}
	
	new Ajax.Request(downloadHandlerLoc, {parameters: parameters});
}

//==============================================================================
function doDoCommentsDownloadNow() {
	new Ajax.Request('/handlers/Download.php', {
					 parameters: {
						action: 'getPurchaseStatus',
						product_name: 'DoComments',
						version: '3'
					 },
					 onSuccess: function(transport) {
						switch (transport.responseText.substring(0, 2)) {
							case 'OK':
								switch (transport.responseText.substr(2, 1)) {
									case 'y':
										doRedirectToMyJerrata();
										break;
									case 'n':
										if (confirm("We'll now redirect you to PayPal to complete your purchase.  Afterward, you'll be able to download your software from the My Jerrata section of the site.")) {
											logPageview('Redirected user to PayPal');
											document.getElementById('paypal_docomments').custom.value = transport.responseText.substring(3);
											document.getElementById('paypal_docomments').submit();
										} else {
											logPageview('User declined Paypal redirect');
										}
										break;
									default:
										alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
										break;
								}
								break;
							case 'NO':
								alert(transport.responseText.substring(2));
								break;
							default:
								alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
								break;
						}
					 },
					 onFailure: function(transport) {
						alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
					 }});
}

//==============================================================================
function doDoChatterDownloadNow()
{
	doProductDownloadNow('DoChatter');
}

//==============================================================================
function doProductDownloadNow(product_name)
{
	// branch based on browser
	if (window.XMLHttpRequest)
		var ajaxReq = new XMLHttpRequest();
	else
		var ajaxReq = new ActiveXObject('Microsoft.XMLHTTP');
		
	ajaxReq.onreadystatechange = function()
		{
			if (ajaxReq.readyState==4 && ajaxReq.status==200)
			{
				switch (ajaxReq.responseText.substring(0,2))
				{
					case 'OK':
						switch (ajaxReq.responseText.substr(2, 1))	// has user bought product?
						{
							case 'y':
								doRedirectToMyJerrata();
								break;
							case 'n':
								alert("We'll now redirect you to PayPal to complete your purchase.  Afterward, you'll be able to download your software from the My Jerrata section of the site.");
								logPageview('Redirected user to PayPal');
								document.getElementById('paypal_'+product_name.toLowerCase()).custom.value = ajaxReq.responseText.substring(3);
								document.getElementById('paypal_'+product_name.toLowerCase()).submit();
								break;
							default:
								alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
								break;
						}
						break;
					case 'NO':
						alert(ajaxReq.responseText.substring(2));
						break;
					default:
						alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
						break;
				}
			}
		};
	ajaxReq.open('POST', downloadHandlerLoc, true);
	ajaxReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	ajaxReq.send('action=getPurchaseStatus&product_name='+encodeURIComponent(product_name));
}

//==============================================================================
function supportFormValid()
{
	if (document.getElementById('sr_first_name').value == '')
	{
		alert('Please enter your first name.');
		document.getElementById('sr_first_name').focus();
		return false;
	}
	
	if (document.getElementById('sr_email_addr').value.indexOf('@') == -1 || document.getElementById('sr_email_addr').value.indexOf('.') == -1 || document.getElementById('sr_email_addr').value.length <= 2)
	{
		alert('Please enter your valid email address.');
		document.getElementById('sr_email_addr').focus();
		return false;
	}
	
	var iMediumPriority = 2;
	
	if (!isLoggedIn() && (document.getElementById('sr_priority').value == 'critical' || document.getElementById('sr_priority').value == 'high'))
	{
		alert('Please create an account or login to access Critical or High priorities.');
		document.getElementById('sr_priority').options[iMediumPriority].selected = true;
		document.getElementById('sr_priority').focus();
		return false;
	}
	
	if (document.getElementById('sr_subject').value == '')
	{
		alert('Please enter a subject for your message.');
		document.getElementById('sr_subject').focus();
		return false;
	}
	
	if (document.getElementById('sr_description').value == '')
	{
		alert('Please enter your message.');
		document.getElementById('sr_description').focus();
		return false;
	}

	return true;
}

/*
 * Submits a support request.
 *
 * @return void
 */
var amSubmittingSupportRequest = false;

function doSubmitSupportRequest() {
	if (amSubmittingSupportRequest) {
		return;
	}
	
	var loadingBar = $('supportRequestLoadingBar'),
		allFieldsRequiredLabel = $('supportRequestAllFieldsRequiredLabel'),
		submitButton = $('supportRequestSubmitButton'),
		fieldFirstName = $('sr_first_name'),
		fieldEmailAddress = $('sr_email_addr'),
		fieldRequestType = $('sr_request_type'),
		fieldPriority = $('sr_priority'),
		fieldSubject = $('sr_subject'),
		fieldDescription = $('sr_description');
		
	if (!fieldFirstName
		|| !fieldEmailAddress
		|| !fieldRequestType
		|| !fieldPriority
		|| !fieldSubject
		|| !fieldDescription) {
		return;
	}
	
	amSubmittingSupportRequest = true;
	
	if (submitButton) {
		submitButton.disabled = true;
	}
		
	if (allFieldsRequiredLabel) {
		allFieldsRequiredLabel.hide();
	}
		
	if (loadingBar) {
		loadingBar.show();
	}
	
	var onComplete = function() {
		amSubmittingSupportRequest = false;
		
		if (loadingBar) {
			loadingBar.hide();
		}
		
		if (allFieldsRequiredLabel) {
			allFieldsRequiredLabel.show();
		}
		
		if (submitButton) {
			submitButton.disabled = false;
		}
	};
	
	new Ajax.Request(feedbackHandlerLoc, {
					 parameters: {
						action: 'submitSupportRequest',
						first_name: fieldFirstName.value,
						email_addr: fieldEmailAddress.value,
						request_type: fieldRequestType.value,
						priority: fieldPriority.value,
						subject: fieldSubject.value,
						description: fieldDescription.value
					 },
					 onSuccess: function(transport) {
						switch (transport.responseText.substring(0, 2)) {
							case 'OK':
								alert('Your support request was submitted successfully.  Support staff will respond within 24 hours.');
								break;
							case 'NO':
								alert(transport.responseText.substring(2));
								break;
							default:
								alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
								break;
						}
					 },
					 onFailure: function(transport) {
						alert('Your support request could not be submitted.  Please contact support@jerrata.com, or try again at a later time.');
					 },
					 onComplete: onComplete});
}

//==============================================================================
function isLoggedIn()
{
	return document.cookie.indexOf('my_jerrata_email_addr') != -1 && document.cookie.indexOf('my_jerrata_pw') != -1;
}

/*
 *
 */
function onDoChatterBuyNowClick() {
	if (isLoggedIn()) {
		// has user bought DoChatter?
		new Ajax.Request(downloadHandlerLoc, {
			parameters: {
				action: 'getPurchaseStatus',
				product_name: 'DoChatter'
			},
			onSuccess: function(transport) {
				switch (transport.responseText.substr(0, 2)) {
					case 'OK':
						switch (transport.responseText.substr(2, 1)) {	// bought product?
							case 'y':
								doRedirectToMyJerrata();
								break;
							case 'n':
								showBuyNowPopup();
								break;
							default:
								alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
								break;
						}
						break;
					case 'NO':
						alert(transport.responseText.substr(2));
						break;
					default:
						alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
						break;
				}
			},
			onFailure: function(transport) {
				alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
			}
		});
	} else {	// not logged in
		showBuyNowPopup();
	}
}

function onDoChatterBuyNowContinueButtonClick() {
	logPageview('Redirected user to PayPal');
	
	if (isLoggedIn()) {
		// retrieve userId
		new Ajax.Request(downloadHandlerLoc, {
			parameters: {
				action: 'getPurchaseStatus',
				product_name: 'DoChatter'
			},
			onSuccess: function(transport) {
				switch (transport.responseText.substr(0, 2)) {
					case 'OK':
						switch (transport.responseText.substr(2, 1)) {	// bought product?
							case 'y':
								doRedirectToMyJerrata();
								break;
							case 'n':
								document.getElementById('paypal_dochatter').custom.value = transport.responseText.substr(3);
								document.getElementById('paypal_dochatter').submit();
								break;
							default:
								alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
								break;
						}
						break;
					case 'NO':
						alert(transport.responseText.substr(2));
						break;
					default:
						alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
						break;
				}
			},
			onFailure: function(transport) {
				alert('There was a problem processing your request.  Please contact support@jerrata.com, or try again at a later time.');
			}
		});
	} else {	// not logged in
		document.getElementById('paypal_dochatter').custom.value = '0';
		document.getElementById('paypal_dochatter').submit();
	}
}

function onDoChatterBuyNowCancelButtonClick() {
	hideBuyNowPopup();
	logPageview('User declined Paypal redirect');
}

function showBuyNowPopup() {
	var window_width;
	var window_height;
	var vertical_scroll_pos;
	var horizontal_scroll_pos;
	
	if ( document.layers || ( document.getElementById && !document.all ) )
	{
	   window_width = window.innerWidth;
	   window_height = window.innerHeight;
	   vertical_scroll_pos = window.pageYOffset;
	   horizontal_scroll_pos = window.pageXOffset;
	}
	if ( document.all )
	{
	   window_width = document.body.clientWidth;
	   window_height = document.body.clientHeight;
	   vertical_scroll_pos = document.body.scrollTop;
	   horizontal_scroll_pos = document.body.scrollLeft;
	}
	
	document.getElementById('veil').style.top = vertical_scroll_pos;
	document.getElementById('veil').style.left = horizontal_scroll_pos;
	
	var alpha = 75;
		
	document.getElementById('veil').style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=0,opacity:" + alpha + ")";	// MSIE
	document.getElementById('veil').style.KHTMLOpacity = alpha / 100;	// Safari < 1.2, Konqueror
	document.getElementById('veil').style.MozOpacity = alpha / 100;	// Older Mozilla & Firefox
	document.getElementById('veil').style.opacity = alpha / 100;	// Safari 1.2+, newer Mozilla & Firefox, CSS3
	document.getElementById('veil').style.visibility = "visible";
	
	document.getElementById('buyNowDialogContainer').style.left = (window_width/2 - 200)+'px';
	document.getElementById('buyNowDialogContainer').style.top = (vertical_scroll_pos + 100)+'px';
	document.getElementById('buyNowDialogContainer').style.display = 'block';
	
	isBuyNowPopupActive = true;
}

function hideBuyNowPopup() {
	document.getElementById('buyNowDialogContainer').style.display = 'none';
	document.getElementById('veil').style.visibility = "hidden";
	document.getElementById('buyNowDialogContainer').style.top = '0px';
	document.getElementById('veil').style.top = '0px';
	
	isBuyNowPopupActive = false;
}
