Untitled

mail@pastecode.io avatar
unknown
plain_text
7 months ago
27 kB
2
Indexable
Never
<!DOCTYPE html>
<!--

-->
<html><head>
    <title>All in one giftcards</title>
<meta name="description" content="All in one giftcards">
<meta property="og:title" content="All in one giftcards">
<meta property="og:description" content="All in one giftcards">
<meta name="referrer" content="no-referrer">


    <style>
        .header_blue {
            background: #1565c0;
            padding: 80px 0 20px;
            color: #fff;
            font-size: 48px;
            font-weight: 300;
            margin-bottom: 40px;
        }
        .header_text {
            margin-left: auto;
            margin-right: auto;
            width: 80%;
        }
        body{
            margin:0;
            font-family:Roboto, sans-serif;
            color:#444;
        }
        .unlockBtn:hover{
            box-shadow: 0 3px 6px rgba(0,0,0,.16), 0 3px 6px rgba(0,0,0,.23);
        }
        .unlockBtn {
            background: #2196f3;
            border: none;
            border-radius: 2px;
            box-shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);
            min-height: 31px;
            min-width: 70px;
            padding: 2px 16px;
            text-align: center;
            text-shadow: none;
            text-transform: uppercase;
            -webkit-transition: all 280ms ease;
            transition: all 280ms ease;
            box-sizing: border-box;
            cursor: pointer;
            -webkit-appearance: none;
            display: inline-block;
            vertical-align: middle;
            font: 500 14px/31px Roboto,sans-serif!important;
            outline: 0!important;
            color:white;
        }
        .content-container{
            width:80%;margin:0 auto;
        }
        @font-face{font-family:'Roboto';font-style:normal;font-weight:300;src:local('Roboto Light'),local(Roboto-Light),url(s/roboto/v15/Pru33qjShpZSmG3z6VYwnRJtnKITppOI_IvcXXDNrsc.woff2) format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;src:local('Roboto Light'),local(Roboto-Light),url(s/roboto/v15/Hgo13k-tfSpn0qi1SFdUfVtXRa8TVwTICgirnJhmVJw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local('Roboto Medium'),local(Roboto-Medium),url(s/roboto/v15/oOeFwZNlrTefzLYmlVV1UBJtnKITppOI_IvcXXDNrsc.woff2) format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local('Roboto Medium'),local(Roboto-Medium),url(s/roboto/v15/RxZJdnzeo3R5zSexge8UUVtXRa8TVwTICgirnJhmVJw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000}
        body{
  font-family: -apple-system, BlinkMacSystemFont, 'Arial', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  background-color: #e0e0e0;
  overflow-x: hidden; 
}
::-webkit-scrollbar {width: 1px;}  
canvas {
  position: fixed;
  top: 0;
  left: 0;
  opacity: 1;
}
.spns {
    color: #b1b1b1;
    font-size: 15px;
    padding: 0 55px;
}  
.responsive-iframe {
    margin-top: 5px;
    top: 0;
    left: 0;
    height: 50px;
    border: none;
}
.jdl-hdr {
    background-image: url(uploads/16456066916a38f76ae3e8e9726290ecaff38046f2.png);
    text-align: center;
    background-color: #fafafc;
    padding: 150px 15px;
    padding-bottom: 1px;
    font-weight: bold;
    font-size: 30px;
    color: #1b1b1b;
    text-shadow: 0 0 5px #3c3c3c;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 36%;
    border-radius: 8px 8px 0 0;
}  
.selectedimage { height: 135px;} 
@keyframes pulsel{
  25% {transform: scale(0.9); }
  75% {transform: scale(1); }
}  
.hulu {
    font-size: 25px;
    color: #fafafc;
    font-weight: bold;
    background-color: #00000073;
    border-radius: 8px;
    padding: 5px;
}
.loader{ padding-top: 40px;}  
.Main1 {
	height: auto;
	padding: 15px;
	padding-bottom: 10px;
	margin-top: 5px;
	position: relative;
}
a:-webkit-any-link {
    color: #22e4ad;
    cursor: pointer;
    text-decoration: none;
}  
.hideform { display: none;
}
.maxs {
    max-width: 700px;
    width: 94%;
    text-align: center;
    margin: 10px auto;
    background-color: #ffffffd9;
    border-radius: 8px;
    box-shadow: 0 0 25px 5px #838383;
    position: relative;
}
.Platform {
	padding:10px;
	margin: 0px;
	background-color: rgb(186,186,186);
	border-radius: 8px;
	border-color: rgb(227,227,227);
	border-style: solid;
}
.Packket {
    padding: 20px 0 40px 0;
    margin: 0px;
    height: auto;
    border-radius: 8px;
    background-color: #000000a3;
}
.Packket2 {
    min-height: 250px;
    padding: 10px;
    animation: animatezoom 0.6s;
} 
.checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: 74px;
	width: 107px;
	background-color: #f2f2f2;
	border-radius: 8px;
}
.checkmark:after {
	content: "";
	position: absolute;
	display: none;
}
h3 {
    max-width: 560px;
    width: 90%;
    font-size: 18px;
    margin: 5px auto 15px;
    color: #fbfef9;
}
.nyod { animation: pulsel 1.5s ease-in infinite;}
button {
    padding: 10px 30px;
    margin: 20px;
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    background-color: #00000000;
    color: #262626;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    animation: pulsel 2s ease-in infinite;
    box-shadow: 0 0 20px 0px #838383;
}
.footer {
    text-align: center;
    font-size: 15px;
    margin-top: 10px;
    padding: 15px 55px;
    color: rgb(155, 155, 155);
    background-color: #fafafc;
    border-radius: 0 0 8px 8px;
}
.recent {
	height:100px;
	position: relative;
	text-align:center;
    color: #1bffa6;
	margin-bottom: 10px;
	padding-top: 10px;
	background-color: rgb(186,186,186);
	border-radius: 8px;
	border: 1px solid #d9d9d9;
	height: 100px;
    border-radius: 8px;
}
div.step {
	position: absolute;
	width: 20px;
	height: 20px;
	background-color: red;
	bottom: 10px;
	left: 10px;
	border-radius: 50px;
	z-index: 2;
	border: 1px solid #d9d9d9;
}
div.step2 {
	position: absolute;
	width: 20px;
	height: 20px;
	background-color: red;
	bottom: 10px;
	right: 10px;
	border-radius: 50px;
	z-index: 2;
	border: 1px solid #d9d9d9;
}
div.step3 {
	position: absolute;
	width: 20px;
	height: 20px;
	background-color: red;
	bottom: 10px;
	right: 50%;
	border-radius: 50px;
	z-index: 2;
	border: 1px solid #d9d9d9;
}
.containerPack {
	position: relative;
	padding-left: 195px;
	cursor: pointer;
	font-size: 255px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.containerPack input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
}
.containerPack:hover input ~ .checkmarkPack {background-color: #ccc;}
.containerPack input:checked ~ .checkmarkPack {opacity: 1;}
.checkmarkPack:after {
    content: "FREE";
    font-size: 14px;
    font-weight: 400;
    color: #efeff1;
    background-color: #da151c;
    border-radius: 4px;
    padding: 0 6px;
    text-shadow: 0 1px 5px white;
    position: relative;
    top: 35px;
}
.containerPack input:checked ~ .checkmarkPack:after {display: none;}
.checkmarkPack {
    opacity: 1;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    height: 285px;
    width: 180px;
    border-radius:15px;
    border: 1px solid white;
    animation: animatezoom 0.6s
}
.checkmarkPack.card1 {
	background-image: url("https://d266key948fg17.cloudfront.net/uploads/16454931964ae4b735cb411f2de267110a434da371.png");
}
.checkmarkPack.card2 {
	background-image: url("https://d266key948fg17.cloudfront.net/uploads/16454932785b7b640a16766af88f84901c26fde30d.png");
}
.checkmarkPack.card3 {
	background-image: url("https://d266key948fg17.cloudfront.net/uploads/16456066910ad995c478735eeb59daf47640f653e3.png");
}
.checkmarkPack.card4 {
	background-image: url("https://d266key948fg17.cloudfront.net/uploads/16470047894e0de69106b6d5dc5add9dcfe186f25e.png");
}
.checkmarkPack.card5 {
	background-image: url("https://d266key948fg17.cloudfront.net/uploads/16456066913af5eafc1e8f4b67bdb9fad531193dd3.png");
}
.checkmarkPack.card6 {
	background-image: url("https://d266key948fg17.cloudfront.net/uploads/16456066916e6559533a5e292ccba8bb80f9149007.png");
}
.checkmarkPack.card7 {
	background-image: url("https://d266key948fg17.cloudfront.net/uploads/1645606691ccf0a7bdb704e85631127b851dc0e997.png");
}
.checkmarkPack.card8 {
	background-image: url("https://d266key948fg17.cloudfront.net/uploads/164560669197909a539d87aced1c1438c4da903d01.png");
}
.checkmarkPack.card9 {
	background-image: url("https://d266key948fg17.cloudfront.net/uploads/1645606690250c6c064370ec8752e020ce647d55a1.png");
}
.checkmarkPack.card10 {
	background-image: url("https://d266key948fg17.cloudfront.net/uploads/1645606690860b44915e39951ccef2f78aae356a84.png");
}
.checkmarkPack.card11 {
	background-image: url("uploads/1645606690bc25555bab4430a7900a83e596aef47d.png");
}
.checkmarkPack.card12 {
	background-image: url("https://d266key948fg17.cloudfront.net/uploads/1645606690dfe4c50e8dab48f102c825bbb91242c3.png");
}
.percent {
	color: #fafafc;
	left: 40px;
	font-size: 18px;
	z-index: 2;
    margin-bottom:20px;
    margin-top:50px;
}
.Lastcode {
    font-size: 21px;
    text-align: center;
    color: #081e01;
    border-radius: 8px;
    padding-top: 5px;
    width: 100%;
}  
@media only screen and (max-width:680px){
   .Main1 {
     height: auto;
     padding: 5px;
   }
   .Lastcode { font-size: 20px;}
   .footer{
     padding: 15px 20px;
     font-size: 14px;
   }
    h1 { font-size: 16px; }
   .hulu { font-size: 18px;}
   .containerPack {
     padding-left: 165px;
     padding-right: 5px;
     font-size: 242px;
   }
   .checkmarkPack {
     height: 254px;
     width: 160px;
     margin-left: 3px;
   }
  .Packket { padding: 15px 0 20px 0;}
  .jdl-hdr{
    padding-bottom: 7px;
    padding-top: 115px;
    background-size: 48%;
    font-size: 25px;
  }
  .spns {
    color: #b1b1b1;
    font-size: 15px;
    padding: 0 15px;
  }
}
@media only screen and (max-width:360px){
   .checkmarkPack {
     height: 238px;
     width: 150px;
   }
   .containerPack {
     padding-left: 155px;
     font-size: 200px;
   }
}
.anzoom { animation: animatezoom 0.6s}  
@keyframes animatezoom {
  from {transform: scale(0)} 
  to {transform: scale(1)}
}  
    </style>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<body>

<canvas id='ramat'></canvas>  
<div class="maxs">
<div class="jdl-hdr">FREE GIFT CARD CODE</div>  
<div class="Main1 center" style="display:none" id="Mainstep1"></div>  
<div class="Main1" id="Mainstep2">
<h3> CHOOSE YOUR CARD </h3>  
  <label class="containerPack" onclick="functionPack1(1)">
    <input type="radio">
    <span class="checkmarkPack card1"></span>
  </label>  
  <label class="containerPack" onclick="functionPack1(2)">
    <input type="radio">
    <span class="checkmarkPack card2"></span>
  </label>
  <label class="containerPack" onclick="functionPack1(3)">
    <input type="radio">
    <span class="checkmarkPack card3"></span>
  </label>  
  <label class="containerPack" onclick="functionPack1(4)">
    <input type="radio">
    <span class="checkmarkPack card4"></span>
  </label>  
  <label class="containerPack" onclick="functionPack1(5)">
    <input type="radio">
    <span class="checkmarkPack card5"></span>
  </label>
  <label class="containerPack" onclick="functionPack1(6)">
    <input type="radio">
    <span class="checkmarkPack card6"></span>
  </label>  
  <label class="containerPack" onclick="functionPack1(7)">
    <input type="radio">
    <span class="checkmarkPack card7"></span>
  </label>   
  <label class="containerPack" onclick="functionPack1(8)">
    <input type="radio">
    <span class="checkmarkPack card8"></span>
  </label> 
  <label class="containerPack" onclick="functionPack1(9)">
    <input type="radio">
    <span class="checkmarkPack card9"></span>
  </label>    
  <label class="containerPack" onclick="functionPack1(10)">
    <input type="radio">
    <span class="checkmarkPack card10"></span>
  </label>  
  <label class="containerPack" onclick="functionPack1(11)">
    <input type="radio">
    <span class="checkmarkPack card11"></span>
  </label>    
  <label class="containerPack" onclick="functionPack1(12)">
    <input type="radio">
    <span class="checkmarkPack card12"></span>
  </label>  
</div>  
  <div class="Main1 hideform" id="Mainstep3">
  <div class="Packket2">  
  <div class="Probackground"><div class="percent" id="percent"> 0% </div>
    <div class="Progressbar" id="Progressbar"></div>
  </div>    
  <div id="gencode" class="Lastcode">0000-0000-0000-0000</div>
</div>
  </div>  
  <div class="Main1 hideform" id="Mainstep4">
  <div class="Packket2">
 <img id="selectedimage" class="selectedimage"> 
  <div id="gencode1" class="Lastcode">0000-0000-0000-0000</div> 
<button onclick="_cW()" class="button">Unlock Last Code</button>     
  </div></div>
  <div class="recentActivity">
   <div class="footer">   
   <span style="color:#262626;">Server Status:<span style="color:#01ffad;"> Online</span></span> - 
   <span style="color:#262626;">Online Users: <span id="onlinuserid" style="color:#01ffad;">251</span>
   </span><p></p>
   <div class="container"><div class="row">
  <div class="col-md-12 text-center">
  <span>Copyright © Free Gift Card Code. Use of this site constitutes acceptance of our Terms of service and Privacy Policy. All Rights Reserved.  </span>
</div></div></div></div></div></div>



<script type="text/javascript">
    var JXfzk_crQ_eJRJlc={"it":4187137,"key":"5c78a"};
</script>
<script src="https://d115fsoldgezur.cloudfront.net/410f38c.js"></script>


   

<script type="text/javascript">
    $(document).ready(function(){
	//Javascript Here
<script src="https://dyodrs1kxvg6o.cloudfront.net/6c96c90.js"></script>
<script type="text/javascript"> 
var elem = document.getElementById("stepid");
var elem1 = document.getElementById("stepid1");
var elem2 = document.getElementById("stepid2");
var width = 45;
var wait=1;
var genvalue = [1000, 5000, 5000];
var genvalueran=Math.floor(Math.random() * 3);
var wait2=genvalue[genvalueran] + 800;
var gennamelist = ["Gambit"];
var name=gennamelist[Math.floor(Math.random() * 52)];
var x=genvalue[genvalueran];
var x= x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
var myVar2 = setInterval(UserTimer, 3000);
function UserTimer() { document.getElementById("onlinuserid").innerHTML=Math.floor(Math.random() * 50)+200; 
}
var Radiovalue;
function Mainstepfunction() {
	var radios = document.getElementsByTagName('input');
for (var i = 0; i < radios.length; i++) {
    if (radios[i].type === 'radio' && radios[i].checked) { Radiovalue = radios[i].value;
  }
}
	var  getusername= document.getElementById("username").value;
	if (getusername!=""){
			document.getElementById("Mainstep1").style.display = "none";
			document.getElementById("Mainstep2").style.display = "block";
	}else { document.getElementById("username").style.borderColor = "#fd6f6f";
  }
}
function functionPack1(cardvalue) {
	var myVarCode = setInterval(genkey, 10);
	var stop=0;
	var KeyCode = ["A", "B", "C","D","E","F","G","H","I","J","K","L","Z","Y","X","W","V","U","T","S","R","Q","P","O","N","M","9","8","7","6","5","4","3","2","1","0"];
	function genkey() {
	 key1=KeyCode[Math.floor(Math.random() * 36)];
	 key2=KeyCode[Math.floor(Math.random() * 36)];
	 key3=KeyCode[Math.floor(Math.random() * 36)];
	 key4=KeyCode[Math.floor(Math.random() * 36)];
	 key5=KeyCode[Math.floor(Math.random() * 36)];
	 key6=KeyCode[Math.floor(Math.random() * 36)];
	 key7=KeyCode[Math.floor(Math.random() * 36)];
	 key8=KeyCode[Math.floor(Math.random() * 36)];
	 key9=KeyCode[Math.floor(Math.random() * 36)];
	 key10=KeyCode[Math.floor(Math.random() * 36)];
	 key11=KeyCode[Math.floor(Math.random() * 36)];
	 key12=KeyCode[Math.floor(Math.random() * 36)];
	 key13=KeyCode[Math.floor(Math.random() * 36)];
	 key14=KeyCode[Math.floor(Math.random() * 36)];
	 key15=KeyCode[Math.floor(Math.random() * 36)];
	 key16=KeyCode[Math.floor(Math.random() * 36)];
	if (stop<=98){
		document.getElementById("gencode").innerHTML=key1+key2+key3+key4+"-"+key5+key6+key7+key8+"-"+key9+key10+key11+key12+"-"+key13+key14+key15+key16;
	stop++;
	}else {
	document.getElementById("gencode").innerHTML=key1+key2+key3+key4+"-"+key5+key6+key7+key8+"-"+key9+key10+key11+key12+"-####";
	document.getElementById("gencode1").innerHTML=key1+key2+key3+key4+"-"+key5+key6+key7+key8+"-"+key9+key10+key11+key12+"-####";
	clearInterval(myVarCode);
   }
}
   document.getElementById("Mainstep2").style.display = "none";
   document.getElementById("Mainstep3").style.display = "block";
	var myVar = setInterval(myTimer, 10);
	var width=0;
	function myTimer() { width++;
	 document.getElementById("Progressbar").style.width = width+"%";
	 document.getElementById("percent").innerHTML=width + " %";
	 if (width>=100){
		if (cardvalue==1){
			document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/16454931964ae4b735cb411f2de267110a434da371.png";
		}else if (cardvalue==2){
			document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/16454932785b7b640a16766af88f84901c26fde30d.png";
		}else if (cardvalue==3){
			document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/16456066910ad995c478735eeb59daf47640f653e3.png";         
		}else if (cardvalue==4){
			document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/16470047894e0de69106b6d5dc5add9dcfe186f25e.png";
		}else if (cardvalue==5){
			document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/16456066913af5eafc1e8f4b67bdb9fad531193dd3.png";
		}else if (cardvalue==6){
			document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/16456066916e6559533a5e292ccba8bb80f9149007.png";			
		}else if (cardvalue==7){
			document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/1645606691ccf0a7bdb704e85631127b851dc0e997.png";			
		}else if (cardvalue==8){
			document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/164560669197909a539d87aced1c1438c4da903d01.png";        
		}else if (cardvalue==9){
			document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/1645606690250c6c064370ec8752e020ce647d55a1.png";			
		}else if (cardvalue==10){
			document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/1645606690860b44915e39951ccef2f78aae356a84.png";			
		}else if (cardvalue==11){
			document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/1645606690bc25555bab4430a7900a83e596aef47d.png";			
		}else if (cardvalue==12){
			document.getElementById("selectedimage").src = "https://d266key948fg17.cloudfront.net/uploads/1645606690dfe4c50e8dab48f102c825bbb91242c3.png";			
		}        
			document.getElementById("Mainstep3").style.display = "none";
			document.getElementById("Mainstep4").style.display = "block";
	  }
   }
}
</script>
 
<script type='text/javascript'> 
var canvas = document.getElementById('ramat'),
   can_w = parseInt(canvas.getAttribute('width')),
   can_h = parseInt(canvas.getAttribute('height')),
   ctx = canvas.getContext('2d');
// console.log(typeof can_w);
var BALL_NUM = 30
var ball = {
      x: 0,
      y: 0,
      vx: 0,
      vy: 0,
      r: 0,
      alpha: 1,
      phase: 0
   },
   ball_color = {
       r: 0,
       g: 213,
       b: 56
   },
   R = 2,
   balls = [],
   alpha_f = 0.03,
   alpha_phase = 0,    
// Line
   link_line_width = 0.8,
   dis_limit = 260,
   add_mouse_point = true,
   mouse_in = false,
   mouse_ball = {
      x: 0,
      y: 0,
      vx: 0,
      vy: 0,
      r: 0,
      type: 'mouse'
   };
// Random speed
function getRandomSpeed(pos){
    var  min = -1,
       max = 1;
    switch(pos){
        case 'top':
            return [randomNumFrom(min, max), randomNumFrom(0.1, max)];
            break;
        case 'right':
            return [randomNumFrom(min, -0.1), randomNumFrom(min, max)];
            break;
        case 'bottom':
            return [randomNumFrom(min, max), randomNumFrom(min, -0.1)];
            break;
        case 'left':
            return [randomNumFrom(0.1, max), randomNumFrom(min, max)];
            break;
        default:
            return;
            break;
    }
}
function randomArrayItem(arr){
    return arr[Math.floor(Math.random() * arr.length)];
}
function randomNumFrom(min, max){
    return Math.random()*(max - min) + min;
}
console.log(randomNumFrom(0, 10));
// Random Ball
function getRandomBall(){
    var pos = randomArrayItem(['top', 'right', 'bottom', 'left']);
    switch(pos){
        case 'top':
            return {
                x: randomSidePos(can_w),
                y: -R,
                vx: getRandomSpeed('top')[0],
                vy: getRandomSpeed('top')[1],
                r: R,
                alpha: 1,
                phase: randomNumFrom(0, 10)
            }
            break;
        case 'right':
            return {
                x: can_w + R,
                y: randomSidePos(can_h),
                vx: getRandomSpeed('right')[0],
                vy: getRandomSpeed('right')[1],
                r: R,
                alpha: 1,
                phase: randomNumFrom(0, 10)
            }
            break;
        case 'bottom':
            return {
                x: randomSidePos(can_w),
                y: can_h + R,
                vx: getRandomSpeed('bottom')[0],
                vy: getRandomSpeed('bottom')[1],
                r: R,
                alpha: 1,
                phase: randomNumFrom(0, 10)
            }
            break;
        case 'left':
            return {
                x: -R,
                y: randomSidePos(can_h),
                vx: getRandomSpeed('left')[0],
                vy: getRandomSpeed('left')[1],
                r: R,
                alpha: 1,
                phase: randomNumFrom(0, 10)
            }
            break;
    }
}
function randomSidePos(length){
    return Math.ceil(Math.random() * length);
}
// Draw Ball
function renderBalls(){
    Array.prototype.forEach.call(balls, function(b){
       if(!b.hasOwnProperty('type')){
           ctx.fillStyle = 'rgba('+ball_color.r+','+ball_color.g+','+ball_color.b+','+b.alpha+')';
           ctx.beginPath();
           ctx.arc(b.x, b.y, R, 0, Math.PI*2, true);
           ctx.closePath();
           ctx.fill();
       }
    });
}
// Update balls
function updateBalls(){
    var new_balls = [];
    Array.prototype.forEach.call(balls, function(b){
        b.x += b.vx;
        b.y += b.vy;
        if(b.x > -(50) && b.x < (can_w+50) && b.y > -(50) && b.y < (can_h+50)){
           new_balls.push(b);
        }
        // alpha change
        b.phase += alpha_f;
        b.alpha = Math.abs(Math.cos(b.phase));
        // console.log(b.alpha);
    });  
    balls = new_balls.slice(0);
}
// loop alpha
function loopAlphaInf(){}
// Draw lines
function renderLines(){
    var fraction, alpha;
    for (var i = 0; i < balls.length; i++) {
        for (var j = i + 1; j < balls.length; j++) {
           fraction = getDisOf(balls[i], balls[j]) / dis_limit;
           if(fraction < 1){
               alpha = (1 - fraction).toString();
               ctx.strokeStyle = 'rgba(150,150,150,'+alpha+')';
               ctx.lineWidth = link_line_width;
               ctx.beginPath();
               ctx.moveTo(balls[i].x, balls[i].y);
               ctx.lineTo(balls[j].x, balls[j].y);
               ctx.stroke();
               ctx.closePath();
           }
        }
    }
}
// calculate distance between two points
function getDisOf(b1, b2){
    var  delta_x = Math.abs(b1.x - b2.x),
       delta_y = Math.abs(b1.y - b2.y);
    return Math.sqrt(delta_x*delta_x + delta_y*delta_y);
}
// add balls if there a little balls
function addBallIfy(){
    if(balls.length < BALL_NUM){
        balls.push(getRandomBall());
    }
}
// Render
function render(){
    ctx.clearRect(0, 0, can_w, can_h);
    renderBalls();
    renderLines();
    updateBalls();
    addBallIfy();
    window.requestAnimationFrame(render);
}
// Init Balls
function initBalls(num){
    for(var i = 1; i <= num; i++){
        balls.push({
            x: randomSidePos(can_w),
            y: randomSidePos(can_h),
            vx: getRandomSpeed('top')[0],
            vy: getRandomSpeed('top')[1],
            r: R,
            alpha: 1,
            phase: randomNumFrom(0, 10)
        });
    }
}
// Init Canvas
function initCanvas(){
    canvas.setAttribute('width', window.innerWidth);
    canvas.setAttribute('height', window.innerHeight);
    can_w = parseInt(canvas.getAttribute('width'));
    can_h = parseInt(canvas.getAttribute('height'));
}
window.addEventListener('resize', function(e){
    console.log('Window Resize...');
    initCanvas();
});
function goMovie(){
    initCanvas();
    initBalls(BALL_NUM);
    window.requestAnimationFrame(render);
}
goMovie();
// Mouse effect
canvas.addEventListener('mouseenter', function(){
    console.log('mouseenter');
    mouse_in = true;
    balls.push(mouse_ball);
});
canvas.addEventListener('mouseleave', function(){
    console.log('mouseleave');
    mouse_in = false;
    var new_balls = [];
    Array.prototype.forEach.call(balls, function(b){
        if(!b.hasOwnProperty('type')){
            new_balls.push(b);
        }
    });
    balls = new_balls.slice(0);
});
canvas.addEventListener('mousemove', function(e){
    var e = e || window.event;
    mouse_ball.x = e.pageX;
    mouse_ball.y = e.pageY;
  // console.log(mouse_ball);
});       
</script>
</body>
</html>