function getCurrentState() constant public returns (State) {

        if(halted) return State.Halted;
        else if(block.timestamp < publicSaleStart) return State.PreSale;
        else if(block.timestamp > publicSaleStart && block.timestamp <= day2Start) return State.Day1;
        else if(block.timestamp > day2Start && block.timestamp <= day3Start) return State.Day2;
        else if(block.timestamp > day3Start && block.timestamp <= saleEnd) return State.Day3;
        else return State.Running;
    }