contract Crowdsale is Ownable {
  
address private	multisig = msg.sender; 
bool private share_team_AES=false;


using SafeMath for uint;

AES_token_contract   public AEStoken  = new AES_token_contract(); 
Hype     public hype    = new Hype(AEStoken);
BigHype  public bighype = new BigHype(AEStoken);

uint public Time_Start_Crowdsale= 1518210000; // 1518210000  - 10 February 2018

// Выплата команде и баунти
function Take_share_team_AES() onlyOwner public {
require(share_team_AES == false);
AEStoken.transfer(multisig,500000); 
share_team_AES=true;
}

// старт
function For_admin() onlyOwner public {
AEStoken.transferOwnership(multisig); 
hype.transferOwnership(multisig); 
bighype.transferOwnership(multisig); 
}


function getTokensSale() public  view returns(uint){  return AEStoken.balanceOf(this);  }
function getBalance_in_token() public view returns(uint){  return AEStoken.balanceOf(msg.sender); }
 
modifier isSaleTime() {  require(Time_Start_Crowdsale<now);  _;  } 
 
 // Всего 1 000 000 токенов AES
 // 400 000 баунти          40%
 // 100 000 команда проекта 10%
 // 500 000 SALE IN ICO     50%

 
   function createTokens() isSaleTime private  {
      
        uint Tokens_on_Sale = AEStoken.balanceOf(this);      
        uint CenaTokena=1000000000000000; //1 finney= 1000 Szabo =0.002 Ether  //   1000 Szabo= 1 finney
        
        uint Discount=0;
        
      // Скидка от остатка для распродажи
            if(Tokens_on_Sale>400000)   {Discount+=20;}   //Szabo
       else if(Tokens_on_Sale>300000)   {Discount+=15; }   //Szabo
       else if(Tokens_on_Sale>200000)   {Discount+=10; }   //2000 Szabo   1000 Szabo= 1 finney
       else if(Tokens_on_Sale>100000)   {Discount+=5; } 
       
       // Скидка от объема
            if(msg.value> 1000000000000000000 && Tokens_on_Sale>2500 )  {Discount+=20; }   // Если покупка больше чем на 1 эфиров 
       else if(msg.value>  900000000000000000 && Tokens_on_Sale>1500 )  {Discount+=15;  }   // Если покупка больше чем на 0.9 эфиров 
       else if(msg.value>  600000000000000000 && Tokens_on_Sale>500  )  {Discount+=10;  }   // Если покупка больше чем на 0.6 эфира 
       else if(msg.value>  300000000000000000 && Tokens_on_Sale>250  )  {Discount+=5;  }   // Если покупка больше чем на 0.3 эфир 
       
       //Скидка от времени
     uint256   Time_Discount=now-Time_Start_Crowdsale;
             if(Time_Discount < 3 days)   {Discount+=20; }
        else if(Time_Discount < 5 days)   {Discount+=15; }       
        else if(Time_Discount < 10 days)  {Discount+=10; }
        else if(Time_Discount < 20 days)  {Discount+=5;  } 
         
     CenaTokena=CenaTokena.percent(100-Discount); // Делаем скидку
     uint256 Tokens=msg.value.div(CenaTokena); // Узнаем сколько токенов купили
       
        if (Tokens_on_Sale>=Tokens)   {         
            multisig.transfer(msg.value);
          }
     else {
        multisig.transfer(msg.value.mul(Tokens_on_Sale.div(Tokens)));   // Оплату приняли сколько влезло
        msg.sender.transfer(msg.value.mul(Tokens-Tokens_on_Sale).div(Tokens));  // Что не влезло назад
        Tokens=Tokens_on_Sale;
        }
        
       AEStoken.transfer(msg.sender, Tokens);
        
        }
       
 
    function() external payable {
     
      if (AEStoken.balanceOf(this)>0)  { createTokens(); }
      else { AEStoken.transfer(msg.value); }// После окончания ICO принимаем пожертвования
        
    }
    
}
function For_admin() onlyOwner public {
AEStoken.transferOwnership(multisig); 
hype.transferOwnership(multisig); 
bighype.transferOwnership(multisig); 
}
// старт