<?php
//Switch from live to sandbox mode.
$debug = FALSE;
$paypal_url = ($debug) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr' : 'https://www.paypal.com/cgi-bin/webscr';
$buisiness = ($debug) ? 'seller_1358433059_biz@chrisguindon.com' : 'donate@eclipse.org';

//$Session = $App->useSession(false);
//$Friend = $Session->getFriend();
//$user_id = $Friend->getEmail();
$user_id =0;
$title = 'Thank you for downloading Eclipse';
$section = array(0 => 'donation', 1 => 'newsletter');
$random = (rand(0,100) <= 90) ? 0 : 1;
if(!isset($_COOKIE['thankyou_showing'])) {
	$thankyou_showing = $section[$random];
}else if($_COOKIE['thankyou_showing'] == $section[0]){
	$thankyou_showing = $section[1];
}else{
	$thankyou_showing = $section[0];
}
setcookie ("thankyou_showing", $thankyou_showing, time() + (3600 * 24 * 360 * 10), '/', '.eclipse.org');

$download_link = "";
if(isset($_url)){
	$download_link = '<p class="download-link-msg">If the download doesn\'t start in a few seconds, please <a href="' . $_url . '">click here</a> to start the download.</p>';
}

if(($thankyou_showing == 'donation' && !isset($_COOKIE['thankyou_page']['donation'])) || (isset($_COOKIE['thankyou_page']['newsletter']))){
?>
<div id="container-donation">
<div class="container-slider">
<h1 class="text-shadow"><?php print $title;?></h1>
<?php print $download_link; ?>
<?php
	/*
	Incase we want to use this in the future
	<b><font size "+2">Now downloading: <? //= substr($_file, strrpos($_file, "/") + 1) ?>.</font></b>
    <BR />
    <BR />
    If your download does not begin automatically, click <a href="<?= $_url ?>">here</a>.

    */
    ?>
<div class="info-bubble rounded inner-shadow text-shadow">
	<p id="standard_msg">Participate in our success and together let&apos;s make Eclipse even better.</p>
	<p id="custom_msg"></p>
	<div id="info-over"></div>
</div>

<div class="steps">
		 <span id="ic-heart" class="onsteps"><img alt="Anything counts!" src="/downloads/images/thankyou/icon-heart.png"/><img alt="Anything counts!" src="/downloads/images/thankyou/icon-heart-over.png" class="step-over"/></span>
		 <span id="ic-heart2" class="onsteps"><img alt="Thank you!" src="/downloads/images/thankyou/icon-heart2.png"/><img alt="Thank you!" src="/downloads/images/thankyou/icon-heart2-over.png" class="step-over"/></span>
		 <span id="ic-star" class="onsteps"><img alt="Friends of Eclipse Program" src="/downloads/images/thankyou/icon-star.png"/><img alt="Friends of Eclipse Program" src="/downloads/images/thankyou/icon-star-over.png" class="step-over"/></span>
		 <span id="ic-ram" class="onsteps"><img alt="RAM for our servers" src="/downloads/images/thankyou/icon-ram.png"/><img alt="RAM for our servers" src="/downloads/images/thankyou/icon-ram-over.png" class="step-over"/></span>
		 <span id="ic-server" class="onsteps"><img alt="Power a server for 45 days!!" src="/downloads/images/thankyou/icon-server.png"/><img alt="Power a server for 45 days!!" src="/downloads/images/thankyou/icon-server-over.png" class="step-over"/></span>
		 <span id="ic-camp" class="onsteps"><img alt="Sponsor a DemoCamp!" src="/downloads/images/thankyou/icon-camp.png"/><img alt="Sponsor a DemoCamp!" src="/downloads/images/thankyou/icon-camp-over.png" class="step-over"/></span>
		 <span id="ic-king" class="onsteps"><img alt="Metworking gear" src="/downloads/images/thankyou/icon-king.png"/><img alt="Metworking gear" src="/downloads/images/thankyou/icon-king-over.png" class="step-over"/></span>
	</div>
</div>
	<div id="slider-wrapper">
		<div id="slider" class="ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all">
			<a id="slider-button" class="ui-slider-handle ui-state-default ui-corner-all" href="#"></a>
		</div>
	</div>

	<div class="container-slider text-shadow">
		<form id="form-donation" name="form-donation" method="POST" action="<?php print $paypal_url;?>">
			<input type="hidden" value="<?php print $buisiness;?>" name="business"/>
			<input type="hidden" value="Donation" name="item_name"/>
			<input type="hidden" value="1" name="no_shipping"/>
			<input type="hidden" value="US" name="lc"/>
			<input type="hidden" value="_xclick" name="cmd"/>
			<input type="hidden" value="USD" name="currency_code"/>
			<input type="hidden" value="<?php print $user_id;?>" name="item_number"/>
			<input type="submit"  value="Donate" id="submit" class="button grad-yellow rounded inner-shadow"/>
			<input id="amount" type="text" name="amount" value="35"/>
	</form>
	<!--  <p id="donate-info">Psst, you can enter any amount you want.</p> -->
</div>
</div>
<?php }else{?>
<div id="container-newsletter" class="clearfix">
<h1 class="text-shadow"><?php print $title;?></h1>
<?php print $download_link; ?>
<a href="/community/eclipse_newsletter/index.php"><img alt="New!" src="/downloads/images/thankyou/new-icon.gif" id="new-icon"/></a>

<div id="signup_text">
	<span id="signup_1">Stay up to date!</span>
	<span id="signup_2">Sign up for the <strong>Eclipse Newsletter</strong></span>
	<div id="signup_3"><a href="/community/eclipse_newsletter/index.php">What's this?</a></div>

</div>

<!-- Begin MailChimp Signup Form -->
<form action="http://eclipsecon.us6.list-manage.com/subscribe/post?u=eaf9e1f06f194eadc66788a85&amp;id=46e57eacf1" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
   <div class="container-newsletter-form bg-light rounded">
    	<label for="mce-EMAIL">Email Address: </label>
    	<!--  <div id="req_msg"><span class="red">*</span> Indicates required</div>-->
    	<input type="email" value="" name="EMAIL" class="email rounded" id="mce-EMAIL" placeholder="email address" required>
    	<input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button grad-blue rounded inner-shadow">
    </div>
</form>
<!--End mc_embed_signup-->
</div>
<?php }?>